aboutsummaryrefslogtreecommitdiffstats
path: root/src/shared/observe-dom.ts
diff options
context:
space:
mode:
authorArpit Chakladar <arpitchakladar+git@gmail.com>2026-07-13 11:35:08 +0530
committerArpit Chakladar <arpitchakladar+git@gmail.com>2026-07-13 11:35:08 +0530
commit600c337b1cdc884aebf59083eb57b178b43441ce (patch)
treed1f3cb7eb1020bcdcd66d9dbf0279f79d5856332 /src/shared/observe-dom.ts
parent98e7019c61ea0ffe344ef7ce809d38d62254a9fc (diff)
downloadbanglar-bhumi-utils-600c337b1cdc884aebf59083eb57b178b43441ce.tar.gz
banglar-bhumi-utils-600c337b1cdc884aebf59083eb57b178b43441ce.zip
docs: added some documentation comments to all functions
Diffstat (limited to 'src/shared/observe-dom.ts')
-rw-r--r--src/shared/observe-dom.ts14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/shared/observe-dom.ts b/src/shared/observe-dom.ts
index e82ce1e..90a52ff 100644
--- a/src/shared/observe-dom.ts
+++ b/src/shared/observe-dom.ts
@@ -3,6 +3,12 @@ type ObserveDOMCallback = () => boolean;
let callbacks: (ObserveDOMCallback | null)[] = [];
let callbacksCalledCount = 0;
+/**
+ * Starts a MutationObserver on the document that invokes each
+ * registered callback. A callback should return `true` when it
+ * has completed its work; once all callbacks are done the observer
+ * disconnects.
+ */
const observer = new MutationObserver(() => {
for (let i = 0; i < callbacks.length; i++) {
const callback = callbacks[i];
@@ -24,6 +30,14 @@ observer.observe(document, {
subtree: true
});
+/**
+ * Registers a callback to run on DOM mutations.
+ * The callback is invoked on each mutation tick and should return `true`
+ * when its work is finished. When all callbacks have completed the
+ * observer stops.
+ *
+ * @param callback - Function that returns `true` when done.
+ */
export function observeDOM(callback: ObserveDOMCallback) {
callbacks.push(callback);
};