From 62af6bb30937b1736e06e34cfba86ce4579fd26f Mon Sep 17 00:00:00 2001 From: Armando Herrera Donato <185740371+13770129@users.noreply.github.com> Date: Wed, 23 Oct 2024 01:03:50 -0400 Subject: [PATCH 1/3] made minor changes to sonnet core --- .../src/abstract/SonnetComponent.ts | 22 ++++--------------- packages/sonnet-core/src/core/SonnetApp.ts | 2 -- packages/sonnet-core/src/core/factory.ts | 11 ++++++---- 3 files changed, 11 insertions(+), 24 deletions(-) diff --git a/packages/sonnet-core/src/abstract/SonnetComponent.ts b/packages/sonnet-core/src/abstract/SonnetComponent.ts index 687d006..5780e83 100644 --- a/packages/sonnet-core/src/abstract/SonnetComponent.ts +++ b/packages/sonnet-core/src/abstract/SonnetComponent.ts @@ -7,8 +7,6 @@ export interface SonnetComponentProps { } export default abstract class SonnetComponent { - constructor() {} - protected _id: string = ''; id(id: string) { this._id = id; @@ -27,26 +25,14 @@ export default abstract class SonnetComponent { return this; } - private _hashIdCache: string | undefined = undefined; + private _hashIdCache?: string; get hashId() { - if (this._hashIdCache) { - return this._hashIdCache; - } - const array = new Uint32Array(1); - window.crypto.getRandomValues(array); - const hash = array[0].toString().substring(0, 8); - this._hashIdCache = hash; - return hash; + return this._hashIdCache ??= window.crypto.getRandomValues(new Uint32Array(1))[0].toString().substring(0, 8); } - private _parentCache: HTMLElement | undefined = undefined; + private _parentCache?: HTMLElement; get parent() { - if (this._parentCache) { - return this._parentCache; - } - const parent = document.getElementById(this.hashId) as HTMLElement; - this._parentCache = parent; - return parent; + return this._parentCache ??= document.getElementById(this.hashId) as HTMLElement; } rerender(querySelector: string) { diff --git a/packages/sonnet-core/src/core/SonnetApp.ts b/packages/sonnet-core/src/core/SonnetApp.ts index 5d81f13..15b2ea8 100644 --- a/packages/sonnet-core/src/core/SonnetApp.ts +++ b/packages/sonnet-core/src/core/SonnetApp.ts @@ -16,8 +16,6 @@ export class SonnetApp { private _isInitialized: boolean = false; private _mountedId: string = ''; - constructor() {} - get component() { return this._component; } diff --git a/packages/sonnet-core/src/core/factory.ts b/packages/sonnet-core/src/core/factory.ts index fd4a3cf..ba32131 100644 --- a/packages/sonnet-core/src/core/factory.ts +++ b/packages/sonnet-core/src/core/factory.ts @@ -11,22 +11,25 @@ interface Component { script?: () => void; } +const EMPTY_HEAD = 'head(){return""}' +const EMPTY_SCRIPT = 'script(){}' + export function $component(component: Component) { return (args?: T) => { const instance = new component(args); if (isBrowser()) { // head tags - if (component.head && component.head.toString() !== 'head(){return""}') { + if (component.head?.toString() !== EMPTY_HEAD) { event.once('head', component.head as () => SonnetHead); } - if (instance.head && instance.head.toString() !== 'head(){return""}') { + if (instance.head?.toString() !== EMPTY_HEAD) { event.on('head', instance.head.bind(instance)); } // scripts - if (component.script && component.script.toString() !== 'script(){}') { + if (component.script?.toString() !== EMPTY_SCRIPT) { event.once('script', component.script); } - if (instance.script && instance.script.toString() !== 'script(){}') { + if (instance.script?.toString() !== EMPTY_SCRIPT) { event.on('script', instance.script.bind(instance)); } } From 953c42d98894cc992d01cb193ce87de1508ac685 Mon Sep 17 00:00:00 2001 From: Armando Herrera Donato <185740371+13770129@users.noreply.github.com> Date: Wed, 23 Oct 2024 01:11:57 -0400 Subject: [PATCH 2/3] removed faulty logic --- packages/sonnet-core/src/core/factory.ts | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/packages/sonnet-core/src/core/factory.ts b/packages/sonnet-core/src/core/factory.ts index ba32131..9b888d4 100644 --- a/packages/sonnet-core/src/core/factory.ts +++ b/packages/sonnet-core/src/core/factory.ts @@ -11,25 +11,25 @@ interface Component { script?: () => void; } -const EMPTY_HEAD = 'head(){return""}' -const EMPTY_SCRIPT = 'script(){}' +const EMPTY_HEAD = 'head(){return""}'; +const EMPTY_SCRIPT = 'script(){}'; export function $component(component: Component) { return (args?: T) => { const instance = new component(args); if (isBrowser()) { // head tags - if (component.head?.toString() !== EMPTY_HEAD) { + if (component.head && component.head.toString() !== EMPTY_HEAD) { event.once('head', component.head as () => SonnetHead); } - if (instance.head?.toString() !== EMPTY_HEAD) { + if (instance.head && instance.head.toString() !== EMPTY_HEAD) { event.on('head', instance.head.bind(instance)); } // scripts - if (component.script?.toString() !== EMPTY_SCRIPT) { + if (component.script && component.script.toString() !== EMPTY_SCRIPT) { event.once('script', component.script); } - if (instance.script?.toString() !== EMPTY_SCRIPT) { + if (instance.script && instance.script.toString() !== EMPTY_SCRIPT) { event.on('script', instance.script.bind(instance)); } } From d69cd33b82372629f3d077134258d6a7cbb3f3fe Mon Sep 17 00:00:00 2001 From: Armando Herrera Donato <185740371+13770129@users.noreply.github.com> Date: Wed, 23 Oct 2024 01:47:41 -0400 Subject: [PATCH 3/3] bump version --- packages/sonnet-core/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/sonnet-core/package.json b/packages/sonnet-core/package.json index b388292..b7a7874 100644 --- a/packages/sonnet-core/package.json +++ b/packages/sonnet-core/package.json @@ -1,6 +1,6 @@ { "name": "@sonnetjs/core", - "version": "0.0.33", + "version": "0.0.34", "files": [ "dist" ],