From e4d4d797fd9ca5c49eab57ba99ac072782f74c1b Mon Sep 17 00:00:00 2001 From: Joe Pea Date: Fri, 17 Nov 2023 14:23:27 -0800 Subject: [PATCH] fix: update to classy-solid, lowclass, and add tests to ensure that overriden subclass fields decorated with @element do not lose reactivity update internals based on classy-solid BREAKING: update decorator paramter types with types from latest TypeScript instead of our own types. This may require updating your TypeScript version and fixing some spots where decorators are used be parameters are no long type `any`. --- dist/LumeElement.d.ts | 2 - dist/LumeElement.d.ts.map | 2 +- dist/LumeElement.js | 6 +-- dist/LumeElement.js.map | 2 +- dist/LumeElement.test.js.map | 2 +- dist/attribute.d.ts | 5 ++- dist/attribute.d.ts.map | 2 +- dist/attribute.js | 27 ++++------- dist/attribute.js.map | 2 +- dist/attribute.test.js.map | 2 +- dist/element.d.ts | 7 +-- dist/element.d.ts.map | 2 +- dist/element.js | 22 ++++----- dist/element.js.map | 2 +- package.json | 5 +-- src/LumeElement.test.ts | 29 ++++++------ src/LumeElement.ts | 68 +++++++++++----------------- src/attribute.test.ts | 61 +++++++++++++++++++++++-- src/attribute.ts | 64 ++++++++------------------- src/element.ts | 86 ++++++++++++++++-------------------- 20 files changed, 196 insertions(+), 202 deletions(-) diff --git a/dist/LumeElement.d.ts b/dist/LumeElement.d.ts index db386bb..108e3f9 100644 --- a/dist/LumeElement.d.ts +++ b/dist/LumeElement.d.ts @@ -11,8 +11,6 @@ declare class LumeElement extends HTMLElement { static observedAttributes?: string[] | Record; private __attributesToProps?; protected _preUpgradeValues: Map; - protected __propsSetAtLeastOnce__?: Set; - protected __reactifiedProps__?: Set; protected ___init___: void; private __handleInitialPropertyValuesIfAny; protected template?: Template; diff --git a/dist/LumeElement.d.ts.map b/dist/LumeElement.d.ts.map index 2a71382..44cd0c5 100644 --- a/dist/LumeElement.d.ts.map +++ b/dist/LumeElement.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"LumeElement.d.ts","sourceRoot":"","sources":["../src/LumeElement.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"LumeElement.d.ts","sourceRoot":"","sources":["../src/LumeElement.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,aAAa,CAAA;AACjD,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,UAAU,CAAA;AAO5C,QAAA,MAAM,WAAW;;;CAQf,CAAA;AAIF,cAAM,WAAY,SAAQ,WAAW;;IAEpC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAK;IAiB/B,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,GAAE,qBAAsC,GAAG,OAAO,WAAW;IAyBzG,MAAM,CAAC,kBAAkB,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;IAGvE,QAAgB,mBAAmB,CAAC,CAAqE;IAEzG,UAAkB,iBAAiB,EAAE,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;IAM9D,SAAS,CAAC,UAAU,OAIhB;IAEJ,OAAO,CAAC,kCAAkC;IAoF1C,UAAkB,QAAQ,CAAC,EAAE,QAAQ,CAAA;IAOrC,UAAkB,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,CAAA;IAQ/C,iBAAyB,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,CAAA;IAStD,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAO;IAElC,OAAO,CAAC,MAAM,CAAoB;IAMlC,SAAS,KAAK,IAAI,IAAI,IAAI,CAMzB;IACD,SAAS,KAAK,IAAI,CAAC,CAAC,EAAE,IAAI,EAKzB;IAUD,SAAS,KAAK,SAAS,IAAI,IAAI,CAE9B;IAED,YAAY,CAAC,OAAO,EAAE,cAAc;IAKpC,QAAgB,SAAS,CAAC,CAAY;IAEtC,iBAAiB;IAUjB,oBAAoB;IAMpB,wBAAwB,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAE3F,OAAO,CAAC,MAAM,CAAC,iCAAiC,CAA8C;IAC9F,OAAO,CAAC,eAAe,CAA4C;IAMnE,OAAO,CAAC,UAAU;IAmFlB,OAAO,CAAC,MAAM,CAAC,WAAW,CAAI;IAC9B,OAAO,CAAC,IAAI,CAA4B;IACxC,OAAO,CAAC,cAAc,CAAgC;IAEtD,OAAO,CAAC,cAAc;IA6BtB,eAAe;CACf;AAGD,OAAO,EAAC,WAAW,IAAI,OAAO,EAAC,CAAA;AAI/B,OAAO,KAAK,EAAC,GAAG,EAAC,MAAM,eAAe,CAAA;AACtC,KAAK,QAAQ,GAAG,GAAG,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,CAAA;AAChD,KAAK,eAAe,GAAG,QAAQ,GAAG,QAAQ,EAAE,CAAA;AAC5C,KAAK,QAAQ,GAAG,eAAe,GAAG,CAAC,MAAM,eAAe,CAAC,CAAA;AAwCzD,MAAM,MAAM,iBAAiB,CAC5B,WAAW,EACX,kBAAkB,SAAS,MAAM,WAAW,EAC5C,oBAAoB,SAAS,MAAM,GAAG,EAAE,IACrC,gBAAgB,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC,GACnF,oBAAoB,GACpB,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,kBAAkB,GAAG,MAAM,oBAAoB,CAAC,CAAA;AAEvF,KAAK,gBAAgB,CAAC,IAAI,SAAS,MAAM,IAAI;KAC3C,QAAQ,IAAI,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,MAAM;CAClG,CAAA"} \ No newline at end of file diff --git a/dist/LumeElement.js b/dist/LumeElement.js index d4ae7c4..4b747b1 100644 --- a/dist/LumeElement.js +++ b/dist/LumeElement.js @@ -1,4 +1,5 @@ import { render } from 'solid-js/web'; +import { __isPropSetAtLeastOnce } from 'classy-solid'; import { defer } from './_utils.js'; let ctor; const HTMLElement = globalThis.HTMLElement ?? @@ -46,12 +47,11 @@ class LumeElement extends HTMLElement { delete this[propName]; this._preUpgradeValues.set(propName, descriptor.value); defer(() => { - const propSetAtLeastOnce = this.__propsSetAtLeastOnce__?.has(propName); + const propSetAtLeastOnce = __isPropSetAtLeastOnce(this, propName); if (propSetAtLeastOnce) return; const inheritsProperty = propName in this.__proto__; - const hasReactifiedProp = this.__reactifiedProps__?.has(propName); - if (inheritsProperty || hasReactifiedProp) + if (inheritsProperty) this[propName] = descriptor.value; }); } diff --git a/dist/LumeElement.js.map b/dist/LumeElement.js.map index 114256c..9b200a2 100644 --- a/dist/LumeElement.js.map +++ b/dist/LumeElement.js.map @@ -1 +1 @@ -{"version":3,"file":"LumeElement.js","sourceRoot":"","sources":["../src/LumeElement.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"LumeElement.js","sourceRoot":"","sources":["../src/LumeElement.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/LumeElement.test.js.map b/dist/LumeElement.test.js.map index 5a52923..069c474 100644 --- a/dist/LumeElement.test.js.map +++ b/dist/LumeElement.test.js.map @@ -1 +1 @@ -{"version":3,"file":"LumeElement.test.js","sourceRoot":"","sources":["../src/LumeElement.test.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"LumeElement.test.js","sourceRoot":"","sources":["../src/LumeElement.test.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/attribute.d.ts b/dist/attribute.d.ts index 7c33df3..0577324 100644 --- a/dist/attribute.d.ts +++ b/dist/attribute.d.ts @@ -1,7 +1,8 @@ import type { ElementCtor } from './element.js'; export declare const __classFinishers: ((Class: ElementCtor) => void)[]; -export declare function attribute(handler?: AttributeHandler): (value: any, context: any) => any; -export declare function attribute(value: any, context: any): any; +type AttributeDecoratorContext = ClassFieldDecoratorContext | ClassGetterDecoratorContext | ClassSetterDecoratorContext; +export declare function attribute(handler?: AttributeHandler): (value: unknown, context: AttributeDecoratorContext) => any; +export declare function attribute(value: unknown, context: AttributeDecoratorContext): any; export declare namespace attribute { var string: AttributeType; var number: AttributeType; diff --git a/dist/attribute.d.ts.map b/dist/attribute.d.ts.map index 1a9135d..c72820b 100644 --- a/dist/attribute.d.ts.map +++ b/dist/attribute.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"attribute.d.ts","sourceRoot":"","sources":["../src/attribute.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,cAAc,CAAA;AAE7C,eAAO,MAAM,gBAAgB,EAAE,CAAC,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC,EAAO,CAAA;AAyBpE,wBAAgB,SAAS,CAAC,OAAO,CAAC,EAAE,gBAAgB,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,KAAK,GAAG,CAAA;AACxF,wBAAgB,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,GAAG,GAAG,CAAA;yBAAxC,SAAS;;;;;AAyDzB,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,gBAAgB,EAAE,gBAAgB,GAAG,GAAG,CA8B7G;AA4ED,MAAM,MAAM,gBAAgB,CAAC,CAAC,GAAG,GAAG,IAAI;IAIvC,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,KAAK,MAAM,GAAG,IAAI,CAAA;IASpC,IAAI,CAAC,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,CAAC,CAAA;IAWpC,OAAO,CAAC,EAAE,CAAC,CAAA;CACX,CAAA;AAED,KAAK,aAAa,CAAC,CAAC,IAAI,MAAM,gBAAgB,CAAC,CAAC,CAAC,CAAA;AA6DjD,wBAAgB,eAAe,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,OAEvD;AA8DD,wBAAgB,eAAe,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,OAEvD;AAkED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,OAExD"} \ No newline at end of file +{"version":3,"file":"attribute.d.ts","sourceRoot":"","sources":["../src/attribute.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,cAAc,CAAA;AAE7C,eAAO,MAAM,gBAAgB,EAAE,CAAC,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC,EAAO,CAAA;AAEpE,KAAK,yBAAyB,GAAG,0BAA0B,GAAG,2BAA2B,GAAG,2BAA2B,CAAA;AAyBvH,wBAAgB,SAAS,CAAC,OAAO,CAAC,EAAE,gBAAgB,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,yBAAyB,KAAK,GAAG,CAAA;AAClH,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,yBAAyB,GAAG,GAAG,CAAA;yBAAlE,SAAS;;;;;AAqDzB,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,gBAAgB,EAAE,gBAAgB,GAAG,GAAG,CA8B7G;AAmED,MAAM,MAAM,gBAAgB,CAAC,CAAC,GAAG,GAAG,IAAI;IAIvC,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,KAAK,MAAM,GAAG,IAAI,CAAA;IASpC,IAAI,CAAC,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,CAAC,CAAA;IAWpC,OAAO,CAAC,EAAE,CAAC,CAAA;CACX,CAAA;AAED,KAAK,aAAa,CAAC,CAAC,IAAI,MAAM,gBAAgB,CAAC,CAAC,CAAC,CAAA;AA4DjD,wBAAgB,eAAe,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,OAEvD;AA8DD,wBAAgB,eAAe,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,OAEvD;AAkED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,OAExD"} \ No newline at end of file diff --git a/dist/attribute.js b/dist/attribute.js index 84b4489..a2db0d4 100644 --- a/dist/attribute.js +++ b/dist/attribute.js @@ -1,14 +1,13 @@ import { signal } from 'classy-solid'; import { camelCaseToDash, defineProp } from './_utils.js'; export const __classFinishers = []; -export function attribute(...args) { - if (args.length === 2) - return handleAttributeDecoration(args, undefined); - const [handler] = args; - return (...args) => handleAttributeDecoration(args, handler); +export function attribute(handlerOrValue, context) { + if (arguments.length === 2) + return handleAttributeDecoration(handlerOrValue, context, undefined); + const handler = handlerOrValue; + return (value, context) => handleAttributeDecoration(value, context, handler); } -function handleAttributeDecoration(args, attributeHandler = {}) { - const [_, context] = args; +function handleAttributeDecoration(value, context, attributeHandler = {}) { const { kind, name, private: isPrivate, static: isStatic } = context; if (typeof name === 'symbol') throw new Error('@attribute is not supported on symbol fields yet.'); @@ -18,21 +17,18 @@ function handleAttributeDecoration(args, attributeHandler = {}) { throw new Error('@attribute is not supported on static fields.'); __classFinishers.push((Class) => __setUpAttribute(Class, name, attributeHandler)); if (kind === 'field') { - const signalInitializer = signal(_, context); + const signalInitializer = signal(value, context); return function (initialValue) { initialValue = signalInitializer(initialValue); attributeHandler.default = 'default' in attributeHandler ? attributeHandler.default : initialValue; return initialValue; }; } - else if (kind === 'accessor') { - throw new Error('@attribute is not supported on `accessor` fields yet. Use it on a plain class field, along with the @element decorator applied on the same class.'); - } else if (kind === 'getter' || kind === 'setter') { - signal(_, context); + signal(value, context); } else { - throw new Error('@attribute is only for use on fields, accessors, getters, and setters.'); + throw new Error('@attribute is only for use on fields, getters, and setters. Auto accessor support is coming next if there is demand for it.'); } return undefined; } @@ -86,11 +82,6 @@ function mapAttributeToProp(prototype, attr, prop, attributeHandler) { }, }); } - if (prototype.__attributesToProps[attr]) { - console.debug('The `@attribute` decorator is overriding an already-existing attribute-to-property mapping for the "' + - attr + - '" attribute.'); - } prototype.__attributesToProps[attr] = { name: prop, attributeHandler }; } const toString = (str) => str; diff --git a/dist/attribute.js.map b/dist/attribute.js.map index 522db8d..ecb157a 100644 --- a/dist/attribute.js.map +++ b/dist/attribute.js.map @@ -1 +1 @@ -{"version":3,"file":"attribute.js","sourceRoot":"","sources":["../src/attribute.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"attribute.js","sourceRoot":"","sources":["../src/attribute.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/attribute.test.js.map b/dist/attribute.test.js.map index a2f3329..d8a5aff 100644 --- a/dist/attribute.test.js.map +++ b/dist/attribute.test.js.map @@ -1 +1 @@ -{"version":3,"file":"attribute.test.js","sourceRoot":"","sources":["../src/attribute.test.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"attribute.test.js","sourceRoot":"","sources":["../src/attribute.test.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/element.d.ts b/dist/element.d.ts index 95abfad..3db81e8 100644 --- a/dist/element.d.ts +++ b/dist/element.d.ts @@ -1,12 +1,13 @@ import { Element } from './LumeElement.js'; +import type { AnyConstructor } from 'lowclass'; import type { AttributeHandler } from './attribute.js'; type PossibleStatics = { observedAttributes?: string[] | Record; - signalProperties?: string[]; elementName?: string; - __proto__?: any; + __proto__: PossibleStatics; }; export type ElementCtor = typeof Element & PossibleStatics; -export declare function element(...args: any[]): any; +export declare function element>(Class: T, context?: ClassDecoratorContext): T; +export declare function element(tagName: string, autoDefine?: boolean): >(Class: T, context?: ClassDecoratorContext) => T; export {}; //# sourceMappingURL=element.d.ts.map \ No newline at end of file diff --git a/dist/element.d.ts.map b/dist/element.d.ts.map index ed46515..87251c0 100644 --- a/dist/element.d.ts.map +++ b/dist/element.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"element.d.ts","sourceRoot":"","sources":["../src/element.ts"],"names":[],"mappings":"AAcA,OAAO,EAAC,OAAO,EAAC,MAAM,kBAAkB,CAAA;AAKxC,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,gBAAgB,CAAA;AAEpD,KAAK,eAAe,GAAG;IACtB,kBAAkB,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;IAChE,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,GAAG,CAAA;CACf,CAAA;AAGD,MAAM,MAAM,WAAW,GAAG,OAAO,OAAO,GAAG,eAAe,CAAA;AA4E1D,wBAAgB,OAAO,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,GAAG,CAuB3C"} \ No newline at end of file +{"version":3,"file":"element.d.ts","sourceRoot":"","sources":["../src/element.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,OAAO,EAAC,MAAM,kBAAkB,CAAA;AAGxC,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,UAAU,CAAA;AAE5C,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,gBAAgB,CAAA;AAEpD,KAAK,eAAe,GAAG;IACtB,kBAAkB,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;IAChE,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,EAAE,eAAe,CAAA;CAC1B,CAAA;AACD,MAAM,MAAM,WAAW,GAAG,OAAO,OAAO,GAAG,eAAe,CAAA;AAsE1D,wBAAgB,OAAO,CAAC,CAAC,SAAS,cAAc,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,CAAC,CAAA;AAC5G,wBAAgB,OAAO,CACtB,OAAO,EAAE,MAAM,EACf,UAAU,CAAC,EAAE,OAAO,GAClB,CAAC,CAAC,SAAS,cAAc,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,qBAAqB,KAAK,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/element.js b/dist/element.js index d4e68e4..4fc6fd2 100644 --- a/dist/element.js +++ b/dist/element.js @@ -1,14 +1,12 @@ import { reactive, signalify } from 'classy-solid'; import { Element } from './LumeElement.js'; import { __classFinishers, __setUpAttribute } from './attribute.js'; -export function element(...args) { - const [tagNameOrClass, autoDefineOrContext] = args; +export function element(tagNameOrClass, autoDefineOrContext) { let tagName = ''; let autoDefine = !!(autoDefineOrContext ?? true); if (typeof tagNameOrClass === 'string') { tagName = tagNameOrClass; - return (...args) => { - const [Class, context] = args; + return (Class, context) => { return applyElementDecoration(Class, context, tagName, autoDefine); }; } @@ -38,14 +36,18 @@ function applyElementDecoration(Class, context, tagName, autoDefine) { constructor(...args) { super(...args); handlePreUpgradeValues(this); - const keys = []; + const props = []; const attrsToProps = ElementDecoratorFinisher.prototype.__attributesToProps; - for (const key in attrsToProps) { - if (Object.hasOwn(attrsToProps, key)) - keys.push(attrsToProps[key].name); + for (const attr in attrsToProps) { + const prop = attrsToProps[attr].name; + if (Object.hasOwn(attrsToProps, attr)) + props.push(prop); + const handler = attrsToProps[attr].attributeHandler; + if (handler && !('default' in handler)) + handler.default = this[prop]; } - if (keys.length) - signalify(this, ...keys); + if (props.length) + signalify(this, ...props); } } const classFinishers = [...__classFinishers]; diff --git a/dist/element.js.map b/dist/element.js.map index 55f33de..58cc72f 100644 --- a/dist/element.js.map +++ b/dist/element.js.map @@ -1 +1 @@ -{"version":3,"file":"element.js","sourceRoot":"","sources":["../src/element.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"element.js","sourceRoot":"","sources":["../src/element.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/package.json b/package.json index 06faf00..4daa877 100644 --- a/package.json +++ b/package.json @@ -31,9 +31,8 @@ "// CONTINUE determine if lit-dom-expressions is needed here, maybe solid-js has needed type defs now": "", "dependencies": { "babel-preset-solid": "^1.0.0", - "classy-solid": "^0.2.0", - "lit-dom-expressions": "^0.35.9", - "lowclass": "^6.0.0", + "classy-solid": "^0.3.0", + "lowclass": "^7.0.0", "solid-js": "^1.0.0" }, "devDependencies": { diff --git a/src/LumeElement.test.ts b/src/LumeElement.test.ts index 2798b51..cf028a5 100644 --- a/src/LumeElement.test.ts +++ b/src/LumeElement.test.ts @@ -244,10 +244,10 @@ describe('LumeElement', () => { // TODO static readonly hasShadow = false - // Use both decorators so that we ensure both features surive the element upgrade. - // @attribute foo = 3 + // Use both types of decorators so that we ensure both features surive the element upgrade. @numberAttribute foo = 3 - // @attribute({default: 123}) foo = 3 + @attribute foo2 = 3.5 + @attribute({default: true}) foo3: boolean | number = 3.6 @signal bar = 4 @attribute baz: string | number = 5 @signal lorem = 6 @@ -298,13 +298,23 @@ describe('LumeElement', () => { expect(fooEl.root).toBe(fooEl) - // CONTINUE: Check that default value gets applied. fooEl.setAttribute('foo', '456') expect(fooEl.foo).toBe(456) fooEl.removeAttribute('foo') - // expect(fooEl.foo).toBe(123) expect(fooEl.foo).toBe(3) + expect(fooEl.foo2).toBe(3.5) + fooEl.setAttribute('foo2', '456') + expect(fooEl.foo2).toBe('456') + fooEl.removeAttribute('foo2') + expect(fooEl.foo2).toBe(3.5) + + expect(fooEl.foo3).toBe(3.6) + fooEl.setAttribute('foo3', '456') + expect(fooEl.foo3).toBe('456') + fooEl.removeAttribute('foo3') + expect(fooEl.foo3).toBe(true) + let count = 0 createEffect(() => { fooEl.foo // reactive @@ -428,15 +438,8 @@ describe('LumeElement', () => { constructor() { super() - // When not using decorators, we have to do the following. - // TODO perhaps this should not be required if already defined observedAttributes. + // When not using decorators, we have to do the following for non-attribute properties. signalify(this, 'bar', 'lorem', 'boop', 'bop') - - // CONTINUE: This is currently required because we removed - // the static signalProperties which the observedAttributes - // populated and then the reactive decorator made reactive. - // It was a bit of a coupling. - // signalify(this, 'foo', 'baz', 'ping', 'pong', 'beep') } __handleInitialPropertyValuesIfAny() { diff --git a/src/LumeElement.ts b/src/LumeElement.ts index 0b8c1ed..08e3374 100644 --- a/src/LumeElement.ts +++ b/src/LumeElement.ts @@ -1,4 +1,9 @@ import {render} from 'solid-js/web' +// __isPropSetAtLeastOnce was exposed by classy-solid specifically for +// @lume/element to use. It tells us if a signal property has been set at +// least once, and if so allows us to skip overwriting it with a custom +// element preupgrade value. +import {__isPropSetAtLeastOnce} from 'classy-solid' import {defer} from './_utils.js' import type {AttributeHandler} from './attribute' @@ -19,8 +24,7 @@ const HTMLElement = } } -// TODO Make LumeElement `abstract`, which had issues with mixins last time we -// tried, but TS has been updated for abstract mixin support. +// TODO Make LumeElement `abstract` class LumeElement extends HTMLElement { /** The default tag name of the elements this class is instantiated for. */ @@ -65,10 +69,6 @@ class LumeElement extends HTMLElement { } } - // CONTINUE: we removed signalProperties (previously reactiveProperties) from - // classy-solid (previously variable). Update tests and code to use only - // signalify instead, remove this property def. - /** Non-decorator users can use this to specify attributes, which automatically map to reactive properties. */ static observedAttributes?: string[] | Record @@ -77,33 +77,19 @@ class LumeElement extends HTMLElement { protected declare _preUpgradeValues: Map - // __propsSetAtLeastOnce__ comes from @lume/variable's @reactive decorator. - // CONTINUE delete if no longer needed on classy-solid - // It is a Set that tells us if a reactive property has been set at - // least once, - // TODO replace with new API from classy-solid - protected declare __propsSetAtLeastOnce__?: Set - - // TODO replace with new API from classy-solid - protected declare __reactifiedProps__?: Set - // This property MUST be defined before any other non-static non-declared // class properties . Its initializer needs to run before any other // properties are defined, in order to detect and handle only instance // properties that already exist from custom element pre-upgrade time. protected ___init___ = (() => { - // XXX We could remove this and instead use a class decorator (returns a - // new class), which would allow us to run this logic during - // construction without requiring the user to extend from a specific - // base class (LumeElement) unless they elect not to use decorators. this.__handleInitialPropertyValuesIfAny() - // XXX Should we handle initial attributes too? + // TODO Should we handle initial attributes too? })() private __handleInitialPropertyValuesIfAny() { // We need to delete initial value-descriptor properties (if they exist) - // and store the initial values in the storage for our reactive variable + // and store the initial values in the storage for our @signal property // accessors. // // If we don't do this, then DOM APIs like cloneNode will create our @@ -134,26 +120,32 @@ class LumeElement extends HTMLElement { // Delete the pre-upgrade value descriptor (1/2)... delete this[propName] + // The @element decorator reads this, and the class finisher + // will set pre-upgrade values. this._preUpgradeValues.set(propName, descriptor.value) - // NOTE, deferring allows preexisting preupgrade values - // to be handled *after* class fields have been set - // during Custom Element upgrade (because otherwise - // those would override the pre-existing values we're - // trying to assign here). + // NOTE, for classes not decorated with @element, deferring + // allows preexisting preupgrade values to be handled *after* + // class fields have been set during Custom Element upgrade + // construction (otherwise those class fields would override the + // preupgrade values we're trying to assign here). defer(() => { - const propSetAtLeastOnce = this.__propsSetAtLeastOnce__?.has(propName) + const propSetAtLeastOnce = __isPropSetAtLeastOnce(this, propName as string | symbol) - // ... (2/2) and re-assign the value so that it goes through an - // inherited accessor. + // ... (2/2) and re-assign the value so that it goes through + // a @signal accessor that got defined, or through an + // inherited accessor that the preupgrade value shadowed. // // If the property has been set between the time LumeElement // constructor ran and the deferred microtask, then we don't // overwrite the property's value with the pre-upgrade value - // because it has been intentionally set to a desired value - // already. + // because it has already been intentionally set to a + // desired value post-construction. + // (NOTE: Avoid setting properties in constructors because + // that will set the signals at least once. Instead, + // override with a new @attribute or @signal class field.) // - // AND we handle inherited props or reactified props only + // AND we handle inherited props or signal props only // (because that means there may be an accessor that needs // the value to be passed in). The @element decorator otherwise // handles non-inherited props before construction @@ -161,15 +153,7 @@ class LumeElement extends HTMLElement { if (propSetAtLeastOnce) return const inheritsProperty = propName in (this as any).__proto__ - const hasReactifiedProp = this.__reactifiedProps__?.has(propName) - - // CONTINUE (see note about __reactifiedProps__ at top of element.ts) - // TODO: Should we detect if `this[propName]` is a - // non-inherited accessor (instead of hasReactifiedProp). - // Maybe a base class author extending from LumeElement - // needs defines a new type of accessor that needs - // pre-upgrade value. Perhaps we can provide an opt-in. - if (inheritsProperty || hasReactifiedProp) this[propName] = descriptor.value + if (inheritsProperty) this[propName] = descriptor.value // }} }) } else { diff --git a/src/attribute.test.ts b/src/attribute.test.ts index 6d02df4..e5ec392 100644 --- a/src/attribute.test.ts +++ b/src/attribute.test.ts @@ -2,7 +2,7 @@ import {createEffect} from 'solid-js' import {signal} from 'classy-solid' import {Element, element, attribute, numberAttribute, booleanAttribute} from './index.js' -describe('classy-solid @signal properties work with lume/element @element decorators on plain HTMLElements', () => { +describe('classy-solid @signal properties with lume/element @element decorators on plain HTMLElements', () => { it('reacts to updates using createEffect', () => { @element('foo-el') class FooEl extends HTMLElement { @@ -10,7 +10,6 @@ describe('classy-solid @signal properties work with lume/element @element decora } const f = new FooEl() - let count = 0 // Runs once initially, then re-runs any time f.foo has changed. @@ -20,9 +19,35 @@ describe('classy-solid @signal properties work with lume/element @element decora }) expect(count).toBe(1) + f.foo = 123 + expect(count).toBe(2) + expect(f.foo).toBe(123) + }) + + it('maintains reactivity for overridden fields', () => { + @element('foo-el2') + class FooEl extends HTMLElement { + @signal foo = 123 + } + + @element('override-el') + class OverrideEl extends FooEl { + @signal override foo = 123 + } + const f = new OverrideEl() + let count = 0 + + // Runs once initially, then re-runs any time f.foo has changed. + createEffect(() => { + f.foo + count++ + }) + + expect(count).toBe(1) f.foo = 123 expect(count).toBe(2) + expect(f.foo).toBe(123) }) }) @@ -30,7 +55,7 @@ describe('@attribute tests', () => { it('attributes can be mapped to properties with @attribute', () => { @element('foo-bar') class FooBar extends HTMLElement { - @attribute foo: string = '0' + @attribute foo = '0' } const f = new FooBar() @@ -54,6 +79,7 @@ describe('@attribute tests', () => { count++ }) + expect(count).toBe(1) f.setAttribute('foo', '123') expect(count).toBe(2) expect(f.foo).toBe('123') @@ -74,10 +100,37 @@ describe('@attribute tests', () => { expect(ff.foo).toBe('good night!') }) + // Ensure we didn't break this feature of classy-solid's @signal decorator. + it('maintains reactivity for overridden fields', () => { + @element('foo-bar2') + class FooBar extends HTMLElement { + @attribute foo = '0' + } + + @element('overridden-foo') + class OverrideFoo extends FooBar { + @attribute override foo = '0' + } + + const f = new OverrideFoo() + let count = 0 + + // Runs once initially, then re-runs any time f.foo has changed. + createEffect(() => { + f.foo + count++ + }) + + expect(count).toBe(1) + f.setAttribute('foo', '123') + expect(count).toBe(2) + expect(f.foo).toBe('123') + }) + it("@signal doesn't need to be used if using @attribute, as those are @signal too", () => { @element('pur-pose') class Purpose extends Element { - @attribute purpose: string = '0' + @attribute purpose = '0' } const f = new Purpose() diff --git a/src/attribute.ts b/src/attribute.ts index 7c227ca..e737525 100644 --- a/src/attribute.ts +++ b/src/attribute.ts @@ -1,23 +1,11 @@ -// CONTINUE: -// - Note: make sure correct package versions are installed (f.e.cli 0.10 with stage 3 decos) and continue fixing tests. -// - Note: update the version of Babel in the top level lume repo because the -// linked cli gets it from there. -// - [x] the new examples/kitchen-sink demo almost works (make sure to copy top-level lume repo's node_modules/solid-js into element/node_modules first) -// - [x] the `static css` property broke, doesn't work in the example -// - this was because the @element() decorator runs during the static block -// that Babel prepends at the top of the class in which the decorator is -// executed, and this static block runs (and calls customElements.define()) -// before the rest of the static properties get initialized. We used -// queueMicrotask, for now, to solve the issue. - import {signal} from 'classy-solid' -// import type {Element as LumeElement} from './LumeElement.js' import {camelCaseToDash, defineProp} from './_utils.js' -import type {DecoratorArgs} from 'classy-solid/dist/decorators/types.js' import type {ElementCtor} from './element.js' export const __classFinishers: ((Class: ElementCtor) => void)[] = [] +type AttributeDecoratorContext = ClassFieldDecoratorContext | ClassGetterDecoratorContext | ClassSetterDecoratorContext + /** * A decorator that when used on a property or accessor causes an HTML attribute * with the same name (but dash-cased instead of camelCased) to be mapped to the @@ -41,21 +29,24 @@ export const __classFinishers: ((Class: ElementCtor) => void)[] = [] * } * ``` */ -export function attribute(handler?: AttributeHandler): (value: any, context: any) => any -export function attribute(value: any, context: any): any -export function attribute(...args: any[]): any { +export function attribute(handler?: AttributeHandler): (value: unknown, context: AttributeDecoratorContext) => any +export function attribute(value: unknown, context: AttributeDecoratorContext): any +export function attribute(handlerOrValue: AttributeHandler | unknown, context?: AttributeDecoratorContext) { // if used as a decorator directly with no options - if (args.length === 2) return handleAttributeDecoration(args as DecoratorArgs, undefined) + if (arguments.length === 2) return handleAttributeDecoration(handlerOrValue, context!, undefined) // otherwise used as a decorator factory, possibly being passed options, like `@attribute({...})` - const [handler] = args as [AttributeHandler | undefined] - return (...args: any[]): any => handleAttributeDecoration(args as DecoratorArgs, handler) + const handler = handlerOrValue as AttributeHandler | undefined + return (value: unknown, context: AttributeDecoratorContext): any => handleAttributeDecoration(value, context, handler) - // TODO check for @element used on class with @attribute decorations, similar to classy-solid @signal/@reactive. + // TODO throw an error for cases when @element is not used on a class with @attribute decorations, similar to classy-solid @signal/@reactive. } -function handleAttributeDecoration(args: DecoratorArgs, attributeHandler: AttributeHandler = {}) { - const [_, context] = args +function handleAttributeDecoration( + value: unknown, + context: AttributeDecoratorContext, + attributeHandler: AttributeHandler = {}, +) { const {kind, name, private: isPrivate, static: isStatic} = context if (typeof name === 'symbol') throw new Error('@attribute is not supported on symbol fields yet.') @@ -66,11 +57,7 @@ function handleAttributeDecoration(args: DecoratorArgs, attributeHandler: Attrib __classFinishers.push((Class: ElementCtor) => __setUpAttribute(Class, name, attributeHandler)) if (kind === 'field') { - // CONTINUE: We aren't composing decorators here, instead we're using - // signalify() in the class finisher. Ideally we elimimnate the plain JS - // usage, and just have decorator composition, once decorators are out. - // - const signalInitializer = signal(_, context) + const signalInitializer = signal(value, context) return function (this: object, initialValue: unknown) { initialValue = signalInitializer(initialValue) @@ -79,15 +66,12 @@ function handleAttributeDecoration(args: DecoratorArgs, attributeHandler: Attrib return initialValue } - } else if (kind === 'accessor') { - // TODO accessor support - throw new Error( - '@attribute is not supported on `accessor` fields yet. Use it on a plain class field, along with the @element decorator applied on the same class.', - ) } else if (kind === 'getter' || kind === 'setter') { - signal(_, context) + signal(value, context) } else { - throw new Error('@attribute is only for use on fields, accessors, getters, and setters.') + throw new Error( + '@attribute is only for use on fields, getters, and setters. Auto accessor support is coming next if there is demand for it.', + ) } return undefined // shush TS @@ -189,15 +173,6 @@ function mapAttributeToProp(prototype: any, attr: string, prop: string, attribut }) } - // throw a helpful log if overriding an already-existing attribute-prop mapping - if (prototype.__attributesToProps![attr]) { - console.debug( - 'The `@attribute` decorator is overriding an already-existing attribute-to-property mapping for the "' + - attr + - '" attribute.', - ) - } - prototype.__attributesToProps![attr] = {name: prop, attributeHandler} } @@ -236,7 +211,6 @@ type AttributeType = () => AttributeHandler const toString = (str: string) => str -// CONTINUE test the new default that works even with plain @attribute, in tests, and in kitchen sink /** * An attribute type for use in the object form of `static observedAttributes` * when not using decorators. diff --git a/src/element.ts b/src/element.ts index 7ee636b..8cb487c 100644 --- a/src/element.ts +++ b/src/element.ts @@ -1,32 +1,16 @@ -// CONTINUE: classy-solid is on the old lume/cli, but we need to switch to new -// CLI to track the build output on version updates and to use the electron-less -// test setup. - -// Then we need to do the same here for lume/element - -// CONTINUE: ensure that el.__reactifiedProps__ (or similar, if we renamed it) does -// not prevent subclasses from overriding a property. In lume/variable edition of -// lume/element, if the list contains a property that was already reactified in a -// super class, the subclass that defines an reactive proeprty (f.e. with -// @attribute) will not have its property reactified, and the subclass property -// will end up as a regular non-reactive class field with a value descriptor. - import {reactive, signalify} from 'classy-solid' import {Element} from './LumeElement.js' import {__classFinishers, __setUpAttribute} from './attribute.js' -import type {DecoratedValue, DecoratorArgs, DecoratorContext} from 'classy-solid/dist/decorators/types.js' -// import type {Element as LumeElement} from './LumeElement.js' +import type {AnyConstructor} from 'lowclass' +import type {DecoratedValue} from 'classy-solid/dist/decorators/types.js' import type {AttributeHandler} from './attribute.js' type PossibleStatics = { observedAttributes?: string[] | Record - signalProperties?: string[] elementName?: string - __proto__?: any + __proto__: PossibleStatics // used in attribute.ts } -// type ElementCtor = typeof LumeElement & {__proto__: any} & PossibleStatics -// type ElementCtor = {__proto__: any} & PossibleStatics export type ElementCtor = typeof Element & PossibleStatics /** @@ -97,26 +81,22 @@ export type ElementCtor = typeof Element & PossibleStatics * class CoolElement extends HTMLElement {...} * ``` */ -// export function element(Class: T, context?: DecoratorContext): T -// export function element( -// tagName: string, -// autoDefine?: boolean, -// ): (Class: T, context?: DecoratorContext) => T -// CONTINUE: Update to TS 5, so we can use better types than `any` -export function element(...args: any[]): any { - // tagNameOrClass: string | typeof HTMLElement, - // autoDefineOrContext: boolean | DecoratorContext = true, - - const [tagNameOrClass, autoDefineOrContext] = args as DecoratorArgs | [string, boolean | undefined] - +export function element>(Class: T, context?: ClassDecoratorContext): T +export function element( + tagName: string, + autoDefine?: boolean, +): >(Class: T, context?: ClassDecoratorContext) => T +export function element( + tagNameOrClass: string | AnyConstructor, + autoDefineOrContext?: boolean | ClassDecoratorContext, +): any { let tagName = '' let autoDefine = !!(autoDefineOrContext ?? true) // when called as a decorator factory, f.e. `@element('foo-bar') class MyEl ...` or `element('my-el')(class MyEl ...)` if (typeof tagNameOrClass === 'string') { tagName = tagNameOrClass - return (...args: any[]) => { - const [Class, context] = args as DecoratorArgs + return (Class: AnyConstructor, context: ClassDecoratorContext) => { return applyElementDecoration(Class, context, tagName, autoDefine) } } @@ -159,7 +139,6 @@ function applyElementDecoration( // following _setUpAttribute calls. Ctor.observedAttributes = undefined - // This also adds the props to Class.signalProperties. for (const prop in attrs) __setUpAttribute(Ctor, prop, attrs[prop]) } @@ -170,10 +149,25 @@ function applyElementDecoration( constructor(...args: any[]) { // @ts-expect-error we don't know what the user's args will be, just pass them all. super(...args) + handlePreUpgradeValues(this) - // For each non-decorator observedAttribute, make it also a signal. - // + const props: (keyof this)[] = [] + const attrsToProps = + // @ts-expect-error private access + ElementDecoratorFinisher.prototype.__attributesToProps + + for (const attr in attrsToProps) { + const prop = attrsToProps[attr].name as keyof this + + if (Object.hasOwn(attrsToProps, attr)) props.push(prop) + + // Default values for fields are handled in their initializer, + // and this catches default values for getters/setters. + const handler = attrsToProps[attr].attributeHandler + if (handler && !('default' in handler)) handler.default = this[prop] + } + // This is signalifying any attribute props that may have been // defined in `static observedAttribute` rather than with @attribute // decorator (which composes @signal), so that we also cover @@ -183,20 +177,14 @@ function applyElementDecoration( // signalified by @attribute (@signal), so this isn't going to // double-signalify. // - // TODO: Once native decorators are out, remove this, rely on the - // composition of decorators only, remove non-decorator usage - // because it won't be necessary (people won't need build tools), - // and having to duplicate keys in observedAttributes as well as - // class fields is more room for human error. + // TODO: Once native decorators are out, remove this, and remove + // non-decorator usage because everyone will be able to use + // decorators. // - const keys: (keyof this)[] = [] - const attrsToProps = - // @ts-expect-error private access - ElementDecoratorFinisher.prototype.__attributesToProps - for (const key in attrsToProps) { - if (Object.hasOwn(attrsToProps, key)) keys.push(attrsToProps[key].name as keyof this) - } - if (keys.length) signalify(this, ...keys) + // Having to duplicate keys in observedAttributes as well as class + // fields is more room for human error, so it'll be nice to remove + // non-decorator usage. + if (props.length) signalify(this, ...props) } }