From 4b2174b7f9ec11b3f62a5d42120b1bfe9f26d365 Mon Sep 17 00:00:00 2001 From: Joel Drapper Date: Sun, 12 May 2024 17:03:40 +0100 Subject: [PATCH] Bun (#31) * Use bun on CI * Update package.json * Update bun.lockb * Reduce public API methods --- bun.lockb | Bin 202670 -> 203098 bytes dist/morphlex.d.ts | 6 ++---- dist/morphlex.js | 11 +++-------- src/morphlex.ts | 17 +++++------------ 4 files changed, 10 insertions(+), 24 deletions(-) diff --git a/bun.lockb b/bun.lockb index 6461f4a633d0aed0b41d1ec8057d3e847f5b2337..acb5801442b2e938d970004ad2aabfcb602d21a4 100755 GIT binary patch delta 37499 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 delta 37570 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 diff --git a/dist/morphlex.d.ts b/dist/morphlex.d.ts index 8cd6f4d..e9d8d52 100644 --- a/dist/morphlex.d.ts +++ b/dist/morphlex.d.ts @@ -12,8 +12,6 @@ interface Options { beforePropertyUpdated?: (node: Node, propertyName: PropertyKey, newValue: unknown) => boolean; afterPropertyUpdated?: (node: Node, propertyName: PropertyKey, previousValue: unknown) => void; } -export declare function morph(node: ChildNode, reference: ChildNode, options?: Options): void; -export declare function morphInner(element: Element, reference: Element, options?: Options): void; -export declare function morphFromString(node: ChildNode, reference: string, options?: Options): void; -export declare function morphInnerFromString(element: Element, reference: string, options?: Options): void; +export declare function morph(node: ChildNode, reference: ChildNode | string, options?: Options): void; +export declare function morphInner(element: Element, reference: Element | string, options?: Options): void; export {}; diff --git a/dist/morphlex.js b/dist/morphlex.js index 79dcfd8..069ad76 100644 --- a/dist/morphlex.js +++ b/dist/morphlex.js @@ -1,15 +1,11 @@ export function morph(node, reference, options = {}) { + if (typeof reference === "string") reference = parseChildNodeFromString(reference); new Morph(options).morph([node, reference]); } export function morphInner(element, reference, options = {}) { + if (typeof reference === "string") reference = parseElementFromString(reference); new Morph(options).morphInner([element, reference]); } -export function morphFromString(node, reference, options = {}) { - morph(node, parseChildNodeFromString(reference), options); -} -export function morphInnerFromString(element, reference, options = {}) { - morphInner(element, parseElementFromString(reference), options); -} function parseElementFromString(string) { const node = parseChildNodeFromString(string); if (isElement(node)) return node; @@ -18,8 +14,7 @@ function parseElementFromString(string) { function parseChildNodeFromString(string) { const parser = new DOMParser(); const doc = parser.parseFromString(string, "text/html"); - const firstChild = doc.body.firstChild; - if (doc.childNodes.length === 1) return firstChild; + if (doc.childNodes.length === 1) return doc.body.firstChild; else throw new Error("[Morphlex] The string was not a valid HTML node."); } class Morph { diff --git a/src/morphlex.ts b/src/morphlex.ts index 6c23836..611396c 100644 --- a/src/morphlex.ts +++ b/src/morphlex.ts @@ -49,22 +49,16 @@ interface Options { afterPropertyUpdated?: (node: Node, propertyName: PropertyKey, previousValue: unknown) => void; } -export function morph(node: ChildNode, reference: ChildNode, options: Options = {}): void { +export function morph(node: ChildNode, reference: ChildNode | string, options: Options = {}): void { + if (typeof reference === "string") reference = parseChildNodeFromString(reference); new Morph(options).morph([node, reference]); } -export function morphInner(element: Element, reference: Element, options: Options = {}): void { +export function morphInner(element: Element, reference: Element | string, options: Options = {}): void { + if (typeof reference === "string") reference = parseElementFromString(reference); new Morph(options).morphInner([element, reference]); } -export function morphFromString(node: ChildNode, reference: string, options: Options = {}): void { - morph(node, parseChildNodeFromString(reference), options); -} - -export function morphInnerFromString(element: Element, reference: string, options: Options = {}): void { - morphInner(element, parseElementFromString(reference), options); -} - function parseElementFromString(string: string): Element { const node = parseChildNodeFromString(string); @@ -75,9 +69,8 @@ function parseElementFromString(string: string): Element { function parseChildNodeFromString(string: string): ChildNode { const parser = new DOMParser(); const doc = parser.parseFromString(string, "text/html"); - const firstChild = doc.body.firstChild; - if (doc.childNodes.length === 1) return firstChild as ChildNode; + if (doc.childNodes.length === 1) return doc.body.firstChild as ChildNode; else throw new Error("[Morphlex] The string was not a valid HTML node."); }