From d6682a1ed9acd31dbfdb9e645cc8230c61a268c3 Mon Sep 17 00:00:00 2001 From: Arpit Chakladar <54011232+arpitchakladar@users.noreply.github.com> Date: Sat, 25 Mar 2023 09:21:11 +0530 Subject: Disable minification in development. --- src/utils/modify-dom.ts | 32 +++++++++++++------------------- 1 file changed, 13 insertions(+), 19 deletions(-) (limited to 'src/utils/modify-dom.ts') diff --git a/src/utils/modify-dom.ts b/src/utils/modify-dom.ts index da0944b..f08f7d9 100644 --- a/src/utils/modify-dom.ts +++ b/src/utils/modify-dom.ts @@ -1,41 +1,35 @@ import { observeDOM } from "@/utils/observe-dom"; -type Replacements = { - [key: string]: string | null +type DOMReplacements = { + innerHTML?: string; + [key: string]: string | undefined | null; }; -export class DOMModifier { - selector: string; - attributes: Replacements; - constructor(selector: string, attributes: Replacements) { - this.selector = selector; - this.attributes = attributes; - } -} +type DOMModificaitonRule = readonly [string, DOMReplacements]; -export const modifyDOM = (elements: (DOMModifier | null)[]) => { +export const modifyDOM = (modificationRules: (DOMModificaitonRule | null)[]) => { let count = 0; observeDOM(() => { - for (let i = 0; i < elements.length; i++) { - if (elements[i]) { - const element = document.querySelector(elements[i]!.selector) as HTMLElement | null; + 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 = elements[i]!.attributes as any; + const attributes = modificationRules[i]![1] as DOMReplacements; if (attributes.innerHTML) { - element.innerHTML = 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]); + element.setAttribute(attribute, attributes[attribute] as string); } } - elements[i] = null; + modificationRules[i] = null; count++; - if (count >= elements.length) { + if (count >= modificationRules.length) { return true; } } -- cgit v1.2.3