diff options
| author | Arpit Chakladar <54011232+arpitchakladar@users.noreply.github.com> | 2023-03-26 22:39:07 +0530 |
|---|---|---|
| committer | Arpit Chakladar <54011232+arpitchakladar@users.noreply.github.com> | 2023-03-26 22:39:07 +0530 |
| commit | 068a14ffa464d6cb0ccc5c3cec11d10d8cceae90 (patch) | |
| tree | b0d721ca44a705d6d554e3a93479eee51645d3e7 /src/utils/modify-dom.ts | |
| parent | d6682a1ed9acd31dbfdb9e645cc8230c61a268c3 (diff) | |
| download | banglar-bhumi-utils-068a14ffa464d6cb0ccc5c3cec11d10d8cceae90.tar.gz banglar-bhumi-utils-068a14ffa464d6cb0ccc5c3cec11d10d8cceae90.zip | |
Sharing code between scripts for reduced bundle size.
Diffstat (limited to 'src/utils/modify-dom.ts')
| -rw-r--r-- | src/utils/modify-dom.ts | 41 |
1 files changed, 0 insertions, 41 deletions
diff --git a/src/utils/modify-dom.ts b/src/utils/modify-dom.ts deleted file mode 100644 index f08f7d9..0000000 --- a/src/utils/modify-dom.ts +++ /dev/null @@ -1,41 +0,0 @@ -import { observeDOM } from "@/utils/observe-dom"; - -type DOMReplacements = { - innerHTML?: string; - [key: string]: string | undefined | null; -}; - -type DOMModificaitonRule = readonly [string, DOMReplacements]; - -export const modifyDOM = (modificationRules: (DOMModificaitonRule | null)[]) => { - let count = 0; - - observeDOM(() => { - for (let i = 0; i < modificationRules.length; i++) { - if (modificationRules[i]) { - const element = document.querySelector(modificationRules[i]![0]) as HTMLElement | null; - if (element) { - const attributes = modificationRules[i]![1] as DOMReplacements; - if (attributes.innerHTML) { - element.innerHTML = attributes.innerHTML as string; - } - delete attributes.innerHTML; - for (const attribute in attributes) { - if (attributes[attribute] === null) { - element.removeAttribute(attribute); - } else { - element.setAttribute(attribute, attributes[attribute] as string); - } - } - modificationRules[i] = null; - count++; - if (count >= modificationRules.length) { - return true; - } - } - } - } - - return false; - }); -}; |
