diff --git a/packages/puls-dom-adapter/src/PulsDOMAdapter.ts b/packages/puls-dom-adapter/src/PulsDOMAdapter.ts index 2ddf65c..20f4156 100644 --- a/packages/puls-dom-adapter/src/PulsDOMAdapter.ts +++ b/packages/puls-dom-adapter/src/PulsDOMAdapter.ts @@ -18,7 +18,7 @@ export type ValueTransformer = { } export class PulsDOMAdapter extends PulsAdapter{ - controlFlows: boolean[][] = [] + controlFlows: boolean[] = [] currentControlFlow: number = 0 documentOverride: Document|null = null @@ -159,10 +159,8 @@ export class PulsDOMAdapter extends PulsAdapter{ } as ValueTransformer, { type: 'placeholder', - test: (value: any) => value === null || value === undefined, - create: (value: any) => { - return [this.document.createComment('placeholder')] - }, + test: (value: any) => value === null, + create: (value: any) => return [this.document.createComment('placeholder')], set: (el, value: any) => {} } as ValueTransformer, { @@ -235,7 +233,7 @@ export class PulsDOMAdapter extends PulsAdapter{ } setAttribute(el: Element|undefined, key: string, value: any, parserTag: ParserTag): Node[]|undefined { - if (key === ':if' || key === ':else-if' || key === ':else') { + if (key === ':if' || key === 'else-if' || key === ':else') { return this.setConditionFlowAttribute(key, value, parserTag) } @@ -266,7 +264,7 @@ export class PulsDOMAdapter extends PulsAdapter{ return } - if (key.startsWith('@')) { + if (key.startsWith('@.')) { const eventParts = key.substring(1).split('.') const eventName = eventParts.shift()! @@ -322,10 +320,6 @@ export class PulsDOMAdapter extends PulsAdapter{ for (const [key, val] of attributes) { const overrideEl = this.setAttribute(el, key, val, value) if (overrideEl) { - if (value.tag === 'svg') { - this.inSVG = false - } - return overrideEl } } @@ -333,8 +327,7 @@ export class PulsDOMAdapter extends PulsAdapter{ if (el instanceof Element) { for (const bodyElement of value.body) { - this.addPart(bodyElement) - ?.forEach(e => this.appendChild(el, e)) + this.addPart(bodyElement).forEach(e => this.appendChild(el, e)) } } @@ -362,7 +355,7 @@ export class PulsDOMAdapter extends PulsAdapter{ el2.dispatchEvent(new CustomEvent(':attach', {detail: {el: el2}})) el1.dispatchEvent(new CustomEvent(':replace_with', { detail: { from: [el1], to: [el2] } })) el1.replaceWith(el2); - el1.dispatchEvent(new CustomEvent(':replaced_with', { detail: { from: [el1], to: [el2] } })) + el1.dispatchEvent(new CustomEvent(':replaced_with', { detail: { from: [el1], to: el2 } })) el1.dispatchEvent(new CustomEvent(':detached', {detail: {el: el1}})) el2.dispatchEvent(new CustomEvent(':attached', {detail: {el: el2}})) } @@ -377,7 +370,7 @@ export class PulsDOMAdapter extends PulsAdapter{ if (elements.length === 0) elements.push(this.document.createComment('hook element')) this.afterElements(firstEl, elements) - firstEl.dispatchEvent(new CustomEvent(':replaced_with', { detail: { from: oldEls, to: elements } })) + dispatchEvent(new CustomEvent(':replaced_with', { detail: { from: oldEls, to: elements } })) this.removeElement(firstEl) } @@ -403,7 +396,7 @@ export class PulsDOMAdapter extends PulsAdapter{ const handleReplaceWith = ({ detail: { from, to } }: any) => { if (from.includes(e)) { e.removeEventListener(':replaced_with', handleReplaceWith); - e.removeEventListener(':detach', handleDetach); + e.removeEventListener(':dettach', handleDetach); e.removeEventListener(':attach', handleAttach); (to as ChildNode[]).forEach((innerEl): void => { if (!from.includes(innerEl)) { @@ -440,7 +433,6 @@ export class PulsDOMAdapter extends PulsAdapter{ addReplaceListener(e); this.afterElement(el, e); - el = e; }); } @@ -450,7 +442,7 @@ export class PulsDOMAdapter extends PulsAdapter{ el.dispatchEvent(new CustomEvent(':attached', {detail: {el}})) } - render(): Node[] { - return this.parsed.map(p => this.addPart(p)).flat().filter(c => c) + render() { + return this.parsed.map(p => this.addParts(p)).flat().filter(c => c) } -} \ No newline at end of file +} diff --git a/packages/puls-state/src/Hook.ts b/packages/puls-state/src/Hook.ts index b3032b6..d7c08d8 100644 --- a/packages/puls-state/src/Hook.ts +++ b/packages/puls-state/src/Hook.ts @@ -32,15 +32,10 @@ export class Hook { const old = this._value this._value = val - if (dispatch) { - this.dispatchListener(old) - } + this.dispatchListener(old) } set value(val: T) { - if (this.#destroyed) { - return; - } this.setValue(val) } @@ -109,7 +104,6 @@ export class Hook { Hook.IS_TRACKING = true } static disableTracking() { - Hook.IS_TRACKING = false Hook.clearTracked() } @@ -120,4 +114,4 @@ export class Hook { static clearTracked() { Hook.TRACKING = [] } -} \ No newline at end of file +} diff --git a/publish.sh b/publish.sh index ccefa66..a89380c 100644 --- a/publish.sh +++ b/publish.sh @@ -1,2 +1,2 @@ #!/bin/sh -pnpm publish -r --tag beta \ No newline at end of file +pnpm publish --tag beta