From 2587c38978ef361d9954e0eb0123fa984d2a3d81 Mon Sep 17 00:00:00 2001 From: Joe Pea Date: Sun, 14 Dec 2025 02:24:53 -0800 Subject: [PATCH] feat: new `@memo` and `@effect` decorators from updated `classy-solid`, see `classy-solid` docs for info. The examples in `@lume/element`'s README are updated to use the new effect pattern. The old pattern still works. BREAKING: - The `stopEffects()` method has been removed. - migration: If you relied on that, instead import the `Effectful()` mixin or `Effects` class from `classy-solid`, and manage your own effect separately from those that the `Element` base class manages. F.e. `myEffects = new Effects()`, with `this.myEffects.createEffect(() => ...);`, and `this.myEffects.stopEffects()` or `this.myEffects.clearEffects()`. --- README.md | 286 +++++++++++++++++++---- dist/LumeElement.d.ts | 23 +- dist/LumeElement.d.ts.map | 2 +- dist/LumeElement.js | 18 +- dist/LumeElement.js.map | 2 +- dist/LumeElement.test.js.map | 2 +- dist/decorators/attribute.d.ts | 12 +- dist/decorators/attribute.d.ts.map | 2 +- dist/decorators/attribute.js | 43 ++-- dist/decorators/attribute.js.map | 2 +- dist/decorators/attribute.test.js | 313 ++++++++++++++++---------- dist/decorators/attribute.test.js.map | 2 +- dist/decorators/element.d.ts | 80 ++++++- dist/decorators/element.d.ts.map | 2 +- dist/decorators/element.js | 116 +++++----- dist/decorators/element.js.map | 2 +- dist/decorators/element.test.js | 185 +++++++++++++++ dist/decorators/element.test.js.map | 2 +- lume.config.cjs | 4 +- package-lock.json | 41 +++- package.json | 2 +- src/LumeElement.test.ts | 84 +++++-- src/LumeElement.ts | 29 ++- src/decorators/attribute.test.ts | 150 +++++++----- src/decorators/attribute.ts | 45 ++-- src/decorators/element.test.ts | 120 ++++++++++ src/decorators/element.ts | 213 ++++++++++++------ 27 files changed, 1326 insertions(+), 456 deletions(-) diff --git a/README.md b/README.md index ac7d032..a12b5e3 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# @lume/element +# @lume/element Easily and concisely write Custom Elements with simple templates and reactivity. @@ -21,7 +21,7 @@ experience no matter which base component system your app uses. > Elements compared to writing them with vanilla APIs, but sometimes vanilla > APIs are all that is needed. -# Live demos +# Live demos - [Lume 3D HTML](https://lume.io) (The landing page, all of Lume's 3D elements, and the live code editors themselves in the doc pages) - [CodePen, html template tag, no decorators](https://codepen.io/trusktr/pen/zYeRqaR) @@ -29,7 +29,66 @@ experience no matter which base component system your app uses. - [Stackblitz with Vite, JSX, TypeScript, decorators](https://stackblitz.com/edit/solidjs-templates-wyjc1i?file=src%2Findex.tsx) - [Solid Playground, TypeScript, no decorators](https://playground.solidjs.com/anonymous/0cc05f53-b665-44d2-a73c-1db9eb992a4f) -# Cliché Usage Example +# Table of contents + +- [Cliché Click Counter Example](#cliché-click-counter-example) +- [Intro](#intro) +- [Basic Usage](#basic-usage) + - [Create custom elements](#create-custom-elements) + - [Easily create and manipulate DOM](#easily-create-and-manipulate-dom) + - [Create functional components](#create-functional-components) + - [Using functional components inside custom elements](#using-functional-components-inside-custom-elements) + - [Functional components vs custom elements](#functional-components-vs-custom-elements) +- [API](#api) + - [`Element`](#element) + - [`static elementName`](#static-elementname) + - [`template`](#template) + - [`static css`](#static-css) + - [`css`](#css) + - [`static observedAttributes`](#static-observedattributes) + - [`static observedAttributeHandlers`](#static-observedattributehandlers) + - [events with `static observedAttributeHandlers`](#events-with-static-observedattributehandlers) + - [`attributeChangedCallback`](#attributechangedcallback) + - [`connectedCallback`](#connectedcallback) + - [`disconnectedCallback`](#disconnectedcallback) + - [`adoptedCallback`](#adoptedcallback) + - [`createEffect` (prefer `@effect` decorator instead)](#createeffect-prefer-effect-decorator-instead) + - [`static autoDefine`](#static-autodefine) + - [`static defineElement`](#static-defineelement) + - [`hasShadow`](#hasshadow) + - [`templateRoot`](#templateroot) + - [`shadowOptions`](#shadowoptions) + - [`styleRoot`](#styleroot) + - [Decorators](#decorators) + - [`@element`](#element-1) + - [`@attribute`](#attribute) + - [Custom attribute handlers](#custom-attribute-handlers) + - [`@stringAttribute`](#stringattribute) + - [`@numberAttribute`](#numberattribute) + - [`@booleanAttribute`](#booleanattribute) + - [`@eventAttribute`](#eventattribute) + - [`@jsonAttribute`](#jsonattribute) + - [`@signal`](#signal) + - [`@memo`](#memo) + - [`@effect`](#effect) + - [`@noSignal`](#nosignal) +- [Runtime Type Checking](#runtime-type-checking) +- [TypeScript](#typescript) + - [Attribute property types](#attribute-property-types) + - [Solid.js JSX expressions](#solidjs-jsx-expressions) + - [Type definitions for custom elements in frameworks](#type-definitions-for-custom-elements-in-frameworks) + - [In Solid JSX (in Lume Elements)](#in-solid-jsx-in-lume-elements) + - [In React JSX](#in-react-jsx) + - [In Preact JSX](#in-preact-jsx) + - [In Angular](#in-angular) + - [In Vue](#in-vue) + - [In Svelte](#in-svelte) + - [In Stencil.js JSX](#in-stenciljs-jsx) + - [Setter types in framework templates](#setter-types-in-framework-templates) +- [Resources](#resources) +- [Status](#status) + +# Cliché Click Counter Example Define a `` element: @@ -51,13 +110,9 @@ class ClickCounter extends Element { } ` - connectedCallback() { - super.connectedCallback() - - // Log the `count` any time it changes: - createEffect(() => { - console.log('count is:', this.count) - }) + // Log the `count` any time it changes: + @effect logCount() { + console.log('count is:', this.count) } } ``` @@ -1215,7 +1270,7 @@ Nothing new here, this is simply a part of the browser's [native Custom Elements It is triggered when the element is connected into the document. Use it to create initialize any processes. -With Lume Element, the main use case of this is to create effects. +With Lume Element, the main use case of this is to create effects when not using decorator-style effects. ```js import {Element} from '@lume/element' @@ -1225,7 +1280,7 @@ class CoolElement extends Element { // Don't forget to call the super method from the Element class! super.connectedCallback() - // ...Create processes, such effects... + // ...Create processes, such as effects... this.createEffect(() => { // ... re-runs when any properties or signals change ... @@ -1235,6 +1290,26 @@ class CoolElement extends Element { } ``` +When using decorators, the following is preferred for less boilerplate: + +```js +import {Element} from '@lume/element' + +class CoolElement extends Element { + // Use the method name to describe the effect for readability. + @effect someEffect() { + // ... re-runs when any signals change ... + } + + connectedCallback() { + super.connectedCallback() // Don't forget to call the base-class method! + + // ...Create processes (non-effects)... + } + // ... +} +``` + ### `disconnectedCallback` Nothing new here, this is simply a part of the browser's [native Custom Elements @@ -1244,30 +1319,32 @@ clean things up. > ![Note] > When using only effects, it is unnecessary to define `disconnectedCallback`. +> This example shows how to clean up custom processes. ```js import {Element} from '@lume/element' +import {effect} from 'classy-solid' class CoolElement extends Element { + @effect someEffect() { + // ... + } + connectedCallback() { - super.connectedCallback() + super.connectedCallback() // Don't forget to call the base-class method! this.interval = setInterval(() => {...}, 1000) - - this.createEffect(() => { - // ... - }) } disconnectedCallback() { - // Don't forget to call the super method from the Element class! - super.disconnectedCallback() + super.disconnectedCallback() // Don't forget to call the base-class method! // ...Clean up anything that is not Lume-Element-specific... clearInterval(this.interval) // You do not need to manually clean up effects made with `this.createEffect()`. } + // ... } ``` @@ -1284,8 +1361,7 @@ import {Element} from '@lume/element' class CoolElement extends Element { adoptedCallback() { - // Don't forget to call the super method from the Element class! - super.adoptedCallback() + super.adoptedCallback() // Don't forget to call the base-class method! // ...Do something when the element was transferred into another window's or iframe's document... } @@ -1293,9 +1369,10 @@ class CoolElement extends Element { } ``` -### `createEffect` +### `createEffect` (prefer [`@effect`](#effect) decorator instead) -The `createEffect` method is a wrapper around Solid's `createEffect` with some differences for convenience: +The `createEffect` method is a wrapper around Solid's `createEffect` with some +differences for convenience and when not using decorators: - `createRoot` is not required in order to dispose of effects created with `this.createEffect()` - Effects created with `this.createEffect()` will automatically be cleaned up when the element is disconnected. @@ -1303,6 +1380,10 @@ The `createEffect` method is a wrapper around Solid's `createEffect` with some d `this.createEffect()` is useful as an alternative to `disconnectedCallback` when paired with Solid's `onCleanup`. +> [!Note] +> When using decorators, use the `@effect` decorator instead, for conciseness +> (see concise decorator example further below). + ```js import {Element} from '@lume/element' import {createSignal, onCleanup} from 'solid-js' @@ -1377,6 +1458,41 @@ class CoolElement extends Element { customElements.define('cool-element', CoolElement) ``` +Here's what the more concise example looks like with decorators. + +```js +import {Element} from '@lume/element' +import {createSignal, onCleanup} from 'solid-js' +import {effect} from 'classy-solid' + +const [count, setCount] = createSignal(0) + +setInterval(() => setCount(n => ++n), 1000) + +class CoolElement extends Element { + @effect logCount() { + console.log(count()) + } + + // This effect does not re-run on signal changes, but is useful for setup+cleanup. + @effect makeIntervals() { + const interval1 = setInterval(() => console.log('interval 1'), 1000) + onCleanup(() => clearInterval(interval1)) + + const interval2 = setInterval(() => console.log('interval 2'), 1000) + onCleanup(() => clearInterval(interval2)) + } +} + +customElements.define('cool-element', CoolElement) + +// After removing the element, onCleanup fires and cleans up the intervals created in connectedCallback (not the count interval outside the element) +setTimeout(() => { + const el = document.querySelector('cool-element') + el.remove() +}, 2000) +``` + > :bulb:**Tip:** > > Prefer `onCleanup` instead of `disconnectedCallback` because composition of @@ -1392,39 +1508,39 @@ customElements.define('cool-element', CoolElement) ```js import {Element} from '@lume/element' import {createSignal, onCleanup} from 'solid-js' +import {effect} from 'classy-solid' const [count, setCount] = createSignal(0) setInterval(() => setCount(n => ++n), 1000) class CoolElement extends Element { - connectedCallback() { - super.connectedCallback() - - // Log `count()` any time it changes. - this.createEffect(() => console.log(count())) + @effect logCount() { + console.log(count()) + } - this.createEffect(() => { - // Run the interval only during moments that count() is an even number. - // Whenever count() is odd, the running interval will be cleaned up and a new interval will not be created. - // Also, when the element is disconnected (while count() is even), the interval will be cleaned up. - if (count() % 2 !== 0) return - const interval = setInterval(() => console.log('interval'), 100) - onCleanup(() => clearInterval(interval)) - }) + @effect conditionalInterval() { + // Run the interval only during moments that count() is an even number. + // Whenever count() is odd, the running interval will be cleaned up and a new interval will not be created. + // Also, when the element is disconnected (while count() is even), the interval will be cleaned up. + if (count() % 2 !== 0) return + const interval = setInterval(() => console.log('interval'), 100) + onCleanup(() => clearInterval(interval)) } } customElements.define('cool-element', CoolElement) -// After removing the element, onCleanup fires and cleans up any interval currently created in connectedCallback (not the count interval outside the element) +// After removing the element, onCleanup fires and cleans up any interval +// currently created within the element (not the count interval outside the +// element) setTimeout(() => { const el = document.querySelector('cool-element') el.remove() }, 2500) ``` -[Example on CodePen](https://codepen.io/trusktr/pen/qBeWOLz?editors=1011) +[Example on CodePen (without decorators)](https://codepen.io/trusktr/pen/qBeWOLz?editors=1011) The beauty of this is we can write logic based on signals, without worrying about `disconnectedCallback`, and we'll rest assured things clean up properly. @@ -1655,10 +1771,22 @@ equivalents: - Use `@eventAttribute foo` in place of `foo: attribute.event` - Use `@jsonAttribute foo` in place of `foo: attribute.json` +The `@noSignal` decorator can be paired with attribute decorators to disable +reactivity on specific attribute-decorated properties. This is not recommended +unless you have a very special reason to do so, and refactoring to avoid this +is preferred. + > [!Warning] -> When using attribute decorators, the `@element` decorator is also required on +> When using attribute decorators, the `@element` decorator is currently also required on > the class, or the attribute decorators won't work. +Additional decorators from `classy-solid` are also available: + +- Use `@signal` in place of `createSignal()` or for non-attribute properties + that need to be reactive. +- Use `@memo` in place of `createMemo()` +- Use `@effect` in place of `this.createEffect()` + Below are more details on each decorator: ### `@element` @@ -2251,16 +2379,18 @@ class HTMLInterfaceForSomeAPI extends Element { @jsonAttribute data = {} - connectedCallback() { - super.connectedCallback() - - this.createEffect(() => { - const obj = new SomeAPI(data) - - // ... + @memo get api() { + if (Object.keys(this.data).length === 0) return null + const obj = new SomeAPI(this.data) + onCleanup(() => obj.dispose()) + return obj + } - onCleanup(() => obj.dispose()) - }) + @effect useData() { + const api = this.api + if (!api) return + const result = api.doSomething() + onCleanup(() => api.undoSomething(result)) } } ``` @@ -2301,6 +2431,66 @@ class CoolElement extends Element { } ``` +### `@memo` + +Also from `classy-solid`, this decorator creates a memoized property that +automatically updates when any signals it reads from update: + +```ts +import {Element, element, booleanAttribute} from '@lume/element' +import {memo} from 'classy-solid' + +@element +class CoolElement extends Element { + @booleanAttribute hasPizza = false + @booleanAttribute hasDrink = false + + @memo get isHappy() { + return this.hasPizza && this.hasDrink + } +} + +const el = new CoolElement() + +// initially logs "isHappy: false" +createEffect(() => { + console.log(`isHappy: ${el.isHappy}`) +}) + +el.hasPizza = true // does not log anything because isHappy is still false +el.hasDrink = true // logs "isHappy: true" +``` + +### `@effect` + +Also from `classy-solid`, this decorator creates an effect that automatically +runs when any signals it reads from update: + +```ts +import {Element, element, booleanAttribute} from '@lume/element' +import {effect} from 'classy-solid' + +@element +class CoolElement extends Element { + @booleanAttribute hasPizza = false + @booleanAttribute hasDrink = false + + @memo isHappy() { + return this.hasPizza && this.hasDrink + } + + @effect logHappiness() { + if (this.isHappy) console.log('I am happy!') + else console.log('I am sad.') + } +} + +const el = document.createElement('cool-element') // initially logs "I am sad." + +el.toggleAttribute('has-pizza') // does not log anything because isHappy is still false +el.toggleAttribute('has-drink') // logs "I am happy!" +``` + ### `@noSignal` Once in a blue moon you might need to define an attribute property that is not diff --git a/dist/LumeElement.d.ts b/dist/LumeElement.d.ts index 514c9fa..adaa527 100644 --- a/dist/LumeElement.d.ts +++ b/dist/LumeElement.d.ts @@ -1,21 +1,11 @@ -import type { AttributeHandler, AttributePropSpecs, __attributesToProps, __hasAttributeChangedCallback } from './decorators/attribute.js'; +import type { AttributeHandler, AttributePropSpecs, attributesToProps__, hasAttributeChangedCallback__ } from './decorators/attribute.js'; import type { DashCasedProps } from './utils.js'; -declare const root: unique symbol; -declare const LumeElement_base: (new (...a: any[]) => { - "__#1@#effects": Set; - createEffect(fn: () => void): void; - stopEffects(): void; - "__#1@#createEffect1"(fn: () => void): void; - "__#1@#stopEffects1"(): void; - "__#1@#owner": import("solid-js").Owner | null; - "__#1@#dispose": (() => void) | null; - "__#1@#createEffect2"(fn: () => void): void; - "__#1@#stopEffects2"(): void; -}) & { +declare const HTMLElement: { new (): HTMLElement; prototype: HTMLElement; }; -declare class LumeElement extends LumeElement_base { +declare const root: unique symbol; +declare class LumeElement extends HTMLElement { #private; /** * The default tag name of the elements this class instantiates. When using @@ -90,9 +80,9 @@ declare class LumeElement extends LumeElement_base { */ static observedAttributeHandlers?: AttributeHandlerMap; /** Note, this is internal and used by the @attribute decorator, see attribute.ts. */ - [__attributesToProps]?: AttributePropSpecs; + [attributesToProps__]?: AttributePropSpecs; /** Note, this is internal and used by the @attribute decorator, see attribute.ts. */ - [__hasAttributeChangedCallback]?: true; + [hasAttributeChangedCallback__]?: true; /** * This can be used by a subclass, or other frameworks handling elements, to * detect property values that exist from before custom element upgrade. @@ -163,6 +153,7 @@ declare class LumeElement extends LumeElement_base { */ protected get styleRoot(): Node; attachShadow(options: ShadowRootInit): ShadowRoot; + createEffect(fn: () => void): void; connectedCallback(): void; disconnectedCallback(): void; attributeChangedCallback?(name: string, oldVal: string | null, newVal: string | null): void; diff --git a/dist/LumeElement.d.ts.map b/dist/LumeElement.d.ts.map index 5040465..2050af9 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":"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"} \ No newline at end of file diff --git a/dist/LumeElement.js b/dist/LumeElement.js index 7f16fe6..df05370 100644 --- a/dist/LumeElement.js +++ b/dist/LumeElement.js @@ -1,10 +1,10 @@ var _a; import { render } from 'solid-js/web'; -// __isPropSetAtLeastOnce was exposed by classy-solid specifically for +// 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 { Effectful, __isPropSetAtLeastOnce } from 'classy-solid'; +import { Effects, isPropSetAtLeastOnce__, startEffects, stopEffects } from 'classy-solid'; // TODO `templateMode: 'append' | 'replace'`, which allows a subclass to specify // if template content replaces the content of `root`, or is appended to `root`. const HTMLElement = globalThis.HTMLElement ?? @@ -15,7 +15,7 @@ const HTMLElement = globalThis.HTMLElement ?? }; const root = Symbol('root'); // TODO Make LumeElement `abstract` -class LumeElement extends Effectful(HTMLElement) { +class LumeElement extends HTMLElement { /** * The default tag name of the elements this class instantiates. When using * the `@element` decorator, if this field has not been specified, it will @@ -127,7 +127,7 @@ class LumeElement extends Effectful(HTMLElement) { // non-decorator usage, and eventually remove code intended for // non-decorator usage such as this. queueMicrotask(() => { - const propSetAtLeastOnce = __isPropSetAtLeastOnce(this, propName); + const propSetAtLeastOnce = isPropSetAtLeastOnce__(this, propName); // ... (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. @@ -232,15 +232,23 @@ class LumeElement extends Effectful(HTMLElement) { console.warn('Element already has a root defined.'); return (this[root] = super.attachShadow(options)); } + #effects = new Effects(); + // For old-style (non-decorator) effects (f.e. subclasses creating effects + // in connectedCallback). + createEffect(fn) { + this.#effects.createEffect(fn); + } #disposeTemplate; connectedCallback() { const template = this.template; if (template) this.#disposeTemplate = render(typeof template === 'function' ? template.bind(this) : () => template, this.templateRoot); this.#setStyle(); + startEffects(this); // start new-style (decorator) effects } disconnectedCallback() { - this.stopEffects(); + this.#effects.clearEffects(); // Clean up old-style (non-decorator) effects. + stopEffects(this); // Clean up new-style (decorator) effects this.#disposeTemplate?.(); this.#cleanupStyle(); } diff --git a/dist/LumeElement.js.map b/dist/LumeElement.js.map index 1938fbd..929ae16 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 af5487d..1c2fe6e 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/decorators/attribute.d.ts b/dist/decorators/attribute.d.ts index 0e4e870..174c1d1 100644 --- a/dist/decorators/attribute.d.ts +++ b/dist/decorators/attribute.d.ts @@ -1,6 +1,6 @@ import './metadata-shim.js'; import type { ElementCtor } from './element.js'; -export declare const __classFinishers: ((Class: ElementCtor) => void)[]; +export declare const classFinishers__: ((Class: ElementCtor) => void)[]; type AttributeDecoratorContext = ClassFieldDecoratorContext | ClassGetterDecoratorContext | ClassSetterDecoratorContext | ClassAccessorDecoratorContext; /** * A decorator that when used on a property or accessor causes an HTML attribute @@ -43,9 +43,9 @@ export declare namespace attribute { * still receive values from the HTML attribute. */ export declare const noSignal: (_value: unknown, context: AttributeDecoratorContext) => void; -export declare function __setUpAttribute(ctor: ElementCtor, attrName: string, propName: string, attributeHandler: AttributeHandler): any; -export declare const __hasAttributeChangedCallback: unique symbol; -export declare const __attributesToProps: unique symbol; +export declare function setUpAttribute__(ctor: ElementCtor, attrName: string, propName: string, attributeHandler: AttributeHandler): any; +export declare const hasAttributeChangedCallback__: unique symbol; +export declare const attributesToProps__: unique symbol; export type AttributePropSpec = { name: string; default?: unknown; @@ -317,6 +317,10 @@ export type EventListener = (event: T) => void; export type EventHandler = { handleEvent: EventListener; }; +/** + * A decorator for mapping a JSON-valued attribute to a JS property. The string + * value of the attribute will be parsed into a JS value using `JSON.parse()`. + */ export declare const jsonAttribute: (value: unknown, context: AttributeDecoratorContext) => any; export type JSONValue = string | number | boolean | null | { [key: string]: JSONValue; diff --git a/dist/decorators/attribute.d.ts.map b/dist/decorators/attribute.d.ts.map index 9b12d0d..f75fd98 100644 --- a/dist/decorators/attribute.d.ts.map +++ b/dist/decorators/attribute.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"attribute.d.ts","sourceRoot":"","sources":["../../src/decorators/attribute.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"attribute.d.ts","sourceRoot":"","sources":["../../src/decorators/attribute.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/decorators/attribute.js b/dist/decorators/attribute.js index 92b88c1..a3ba2c2 100644 --- a/dist/decorators/attribute.js +++ b/dist/decorators/attribute.js @@ -1,7 +1,7 @@ import './metadata-shim.js'; // TODO remove this shim once decorators land natively. import { signal } from 'classy-solid'; import { camelCaseToDash, defineProp } from '../utils.js'; -export const __classFinishers = []; +export const classFinishers__ = []; export function attribute(handlerOrValue, context) { // if used as a decorator directly with no options if (arguments.length === 2) @@ -22,22 +22,24 @@ export const noSignal = (_value, context) => { }; function handleAttributeDecoration(value, context, attributeHandler = {}) { const { kind, name, private: isPrivate, static: isStatic, metadata } = context; - // Check only own metadata.noSignal, we don't want to use the one inherited from a base class. - const noSignal = (Object.hasOwn(metadata, 'noSignal') && metadata.noSignal) || undefined; - const useSignal = !noSignal?.has(name); if (typeof name === 'symbol') throw new Error('@attribute is not supported on symbol fields yet.'); if (isPrivate) throw new Error('@attribute is not supported on private fields yet.'); if (isStatic) throw new Error('@attribute is not supported on static fields.'); + if (kind !== 'field' && kind !== 'getter' && kind !== 'setter' && kind !== 'accessor') + throw new Error('@attribute is only for use on fields, getters/setters, and auto accessors.'); + // Check only own metadata.noSignal, we don't want to use the one inherited from a base class. + const noSignal = (Object.hasOwn(metadata, 'noSignal') && metadata.noSignal) || undefined; + const useSignal = !noSignal?.has(name); const attrName = (attributeHandler.name ?? (attributeHandler.dashcase === false ? name : camelCaseToDash(name))).toLowerCase(); - __classFinishers.push((Class) => __setUpAttribute(Class, attrName, name, attributeHandler)); + classFinishers__.push((Class) => setUpAttribute__(Class, attrName, name, attributeHandler)); if (kind === 'field') { const signalInitializer = useSignal ? signal(value, context) : (v) => v; return function (initialValue) { - initialValue = signalInitializer(initialValue); - const propSpec = this[__attributesToProps][attrName]; + initialValue = signalInitializer?.(initialValue) ?? initialValue; + const propSpec = this[attributesToProps__][attrName]; // Typically the first initializer to run for a class field (on // instantiation of the first instance of its class) will be our // source of truth for our default attribute value, but we check for @@ -55,16 +57,13 @@ function handleAttributeDecoration(value, context, attributeHandler = {}) { else if (kind === 'accessor') { context.addInitializer(function () { const initialValue = this[name]; - const propSpec = this[__attributesToProps][attrName]; + const propSpec = this[attributesToProps__][attrName]; propSpec.default = 'default' in attributeHandler ? attributeHandler.default : initialValue; // attributeHandler.sideEffect?.(this, name, initialValue) }); if (useSignal) return signal(value, context); } - else { - throw new Error('@attribute is only for use on fields, getters/setters, and auto accessors.'); - } return undefined; // shush TS } // TODO Do similar as with the following attributeChangedCallback prototype @@ -72,7 +71,7 @@ function handleAttributeDecoration(value, context, attributeHandler = {}) { // template method, so users don't have to extend from the LumeElement base class. // Extending from the LumeElement base class will be the method that non-decorator // users must use. -export function __setUpAttribute(ctor, attrName, propName, attributeHandler) { +export function setUpAttribute__(ctor, attrName, propName, attributeHandler) { if ( // !ctor.observedAttributes || @@ -104,13 +103,13 @@ export function __setUpAttribute(ctor, attrName, propName, attributeHandler) { ctor.observedAttributes.push(attrName); mapAttributeToProp(ctor.prototype, attrName, propName, attributeHandler); } -export const __hasAttributeChangedCallback = Symbol('hasAttributeChangedCallback'); -export const __attributesToProps = Symbol('attributesToProps'); +export const hasAttributeChangedCallback__ = Symbol('hasAttributeChangedCallback'); +export const attributesToProps__ = Symbol('attributesToProps'); // This stores attribute definitions as an inheritance chain on the constructor. function mapAttributeToProp(prototype, attr, prop, attributeHandler) { // Only define attributeChangedCallback once. - if (!prototype[__hasAttributeChangedCallback]) { - prototype[__hasAttributeChangedCallback] = true; + if (!prototype[hasAttributeChangedCallback__]) { + prototype[hasAttributeChangedCallback__] = true; const originalAttrChanged = prototype.attributeChangedCallback; prototype.attributeChangedCallback = function (attr, oldVal, newVal) { // If the class already has an attributeChangedCallback, let is run, @@ -125,7 +124,7 @@ function mapAttributeToProp(prototype, attr, prop, attributeHandler) { prototype.__proto__?.attributeChangedCallback?.call(this, attr, oldVal, newVal); } // map from attribute to property - const prop = this[__attributesToProps][attr]; + const prop = this[attributesToProps__][attr]; this[prop.name] = newVal; }; } @@ -135,9 +134,9 @@ function mapAttributeToProp(prototype, attr, prop, attributeHandler) { // We use inheritance here or else all classes would pile their // attribute-prop definitions on a shared base class (they can clash, // override each other willy nilly and seemingly randomly). - if (!Object.hasOwn(prototype, __attributesToProps)) - prototype[__attributesToProps] = { __proto__: prototype[__attributesToProps] || Object.prototype }; - prototype[__attributesToProps][attr] = { name: prop, attributeHandler }; + if (!Object.hasOwn(prototype, attributesToProps__)) + prototype[attributesToProps__] = { __proto__: prototype[attributesToProps__] || Object.prototype }; + prototype[attributesToProps__][attr] = { name: prop, attributeHandler }; } // The function form is deprecated, but still around for back compat. // type AttributeType = AttributeHandler & (() => AttributeHandler) @@ -419,5 +418,9 @@ attribute.event = eventAttributeHandler; */ export const eventAttribute = attribute(attribute.event); attribute.json = { from: (str) => JSON.parse(str) }; +/** + * A decorator for mapping a JSON-valued attribute to a JS property. The string + * value of the attribute will be parsed into a JS value using `JSON.parse()`. + */ export const jsonAttribute = attribute(attribute.json); //# sourceMappingURL=attribute.js.map \ No newline at end of file diff --git a/dist/decorators/attribute.js.map b/dist/decorators/attribute.js.map index ec483aa..d715901 100644 --- a/dist/decorators/attribute.js.map +++ b/dist/decorators/attribute.js.map @@ -1 +1 @@ -{"version":3,"file":"attribute.js","sourceRoot":"","sources":["../../src/decorators/attribute.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"attribute.js","sourceRoot":"","sources":["../../src/decorators/attribute.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/decorators/attribute.test.js b/dist/decorators/attribute.test.js index c802edd..09be35d 100644 --- a/dist/decorators/attribute.test.js +++ b/dist/decorators/attribute.test.js @@ -32,122 +32,11 @@ var __runInitializers = (this && this.__runInitializers) || function (thisArg, i } return useValue ? value : void 0; }; +var __propKey = (this && this.__propKey) || function (x) { + return typeof x === "symbol" ? x : "".concat(x); +}; import { createEffect } from 'solid-js'; -import { signal } from 'classy-solid'; -import { Element, element, attribute, numberAttribute, booleanAttribute, eventAttribute, noSignal, stringAttribute, } from '../index.js'; -describe('classy-solid @signal properties with lume/element @element decorators on plain HTMLElements', () => { - it('reacts to updates using createEffect', () => { - let FooEl = (() => { - let _classDecorators = [element('foo-el')]; - let _classDescriptor; - let _classExtraInitializers = []; - let _classThis; - let _classSuper = HTMLElement; - let _foo_decorators; - let _foo_initializers = []; - let _foo_extraInitializers = []; - var FooEl = class extends _classSuper { - static { _classThis = this; } - static { - const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0; - _foo_decorators = [signal]; - __esDecorate(null, null, _foo_decorators, { kind: "field", name: "foo", static: false, private: false, access: { has: obj => "foo" in obj, get: obj => obj.foo, set: (obj, value) => { obj.foo = value; } }, metadata: _metadata }, _foo_initializers, _foo_extraInitializers); - __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers); - FooEl = _classThis = _classDescriptor.value; - if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); - __runInitializers(_classThis, _classExtraInitializers); - } - foo = __runInitializers(this, _foo_initializers, 123); - constructor() { - super(...arguments); - __runInitializers(this, _foo_extraInitializers); - } - }; - return FooEl = _classThis; - })(); - const f = new FooEl(); - 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); - }); - it('maintains reactivity for overridden fields', () => { - let FooEl = (() => { - let _classDecorators = [element('foo-el2')]; - let _classDescriptor; - let _classExtraInitializers = []; - let _classThis; - let _classSuper = HTMLElement; - let _foo_decorators; - let _foo_initializers = []; - let _foo_extraInitializers = []; - var FooEl = class extends _classSuper { - static { _classThis = this; } - static { - const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0; - _foo_decorators = [signal]; - __esDecorate(null, null, _foo_decorators, { kind: "field", name: "foo", static: false, private: false, access: { has: obj => "foo" in obj, get: obj => obj.foo, set: (obj, value) => { obj.foo = value; } }, metadata: _metadata }, _foo_initializers, _foo_extraInitializers); - __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers); - FooEl = _classThis = _classDescriptor.value; - if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); - __runInitializers(_classThis, _classExtraInitializers); - } - foo = __runInitializers(this, _foo_initializers, 123); - constructor() { - super(...arguments); - __runInitializers(this, _foo_extraInitializers); - } - }; - return FooEl = _classThis; - })(); - let OverrideEl = (() => { - let _classDecorators = [element('override-el')]; - let _classDescriptor; - let _classExtraInitializers = []; - let _classThis; - let _classSuper = FooEl; - let _foo_decorators; - let _foo_initializers = []; - let _foo_extraInitializers = []; - var OverrideEl = class extends _classSuper { - static { _classThis = this; } - static { - const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0; - _foo_decorators = [signal]; - __esDecorate(null, null, _foo_decorators, { kind: "field", name: "foo", static: false, private: false, access: { has: obj => "foo" in obj, get: obj => obj.foo, set: (obj, value) => { obj.foo = value; } }, metadata: _metadata }, _foo_initializers, _foo_extraInitializers); - __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers); - OverrideEl = _classThis = _classDescriptor.value; - if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); - __runInitializers(_classThis, _classExtraInitializers); - } - foo = __runInitializers(this, _foo_initializers, 456); - constructor() { - super(...arguments); - __runInitializers(this, _foo_extraInitializers); - } - }; - return OverrideEl = _classThis; - })(); - const f = new OverrideEl(); - let count = 0; - // Runs once initially, then re-runs any time f.foo has changed. - createEffect(() => { - f.foo; - count++; - }); - expect(f.foo).toBe(456); - expect(count).toBe(1); - f.foo = 789; - expect(count).toBe(2); - expect(f.foo).toBe(789); - }); -}); +import { Element, element, attribute, numberAttribute, booleanAttribute, eventAttribute, noSignal, stringAttribute, jsonAttribute, } from '../index.js'; describe('@attribute tests', () => { it('attributes can be mapped to properties with @attribute', () => { let FooBar = (() => { @@ -858,8 +747,145 @@ describe('@attribute tests', () => { expect(String(el.test())).toBe('undefined'); el.remove(); }); + describe('invalid usages', () => { + it('throws on symbol property names', () => { + const createClass = () => { + let Test = (() => { + var _a; + let _classDecorators = [element('symbol-attribute')]; + let _classDescriptor; + let _classExtraInitializers = []; + let _classThis; + let _classSuper = Element; + let _member_decorators; + let _member_initializers = []; + let _member_extraInitializers = []; + var Test = class extends _classSuper { + static { _classThis = this; } + static { + const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0; + __esDecorate(null, null, _member_decorators, { kind: "field", name: _a, static: false, private: false, access: { has: obj => _a in obj, get: obj => obj[_a], set: (obj, value) => { obj[_a] = value; } }, metadata: _metadata }, _member_initializers, _member_extraInitializers); + __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers); + Test = _classThis = _classDescriptor.value; + if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); + __runInitializers(_classThis, _classExtraInitializers); + } + [(_member_decorators = [attribute], _a = __propKey(Symbol('foo')))] = __runInitializers(this, _member_initializers, '123'); + constructor() { + super(...arguments); + __runInitializers(this, _member_extraInitializers); + } + }; + return Test = _classThis; + })(); + Test; + }; + expect(createClass).toThrow('@attribute is not supported on symbol fields yet.'); + }); + it('throws on private fields', () => { + const createClass = () => { + let Test = (() => { + let _classDecorators = [element('private-attribute')]; + let _classDescriptor; + let _classExtraInitializers = []; + let _classThis; + let _classSuper = Element; + let _private_foo_decorators; + let _private_foo_initializers = []; + let _private_foo_extraInitializers = []; + var Test = class extends _classSuper { + static { _classThis = this; } + static { + const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0; + _private_foo_decorators = [attribute]; + __esDecorate(null, null, _private_foo_decorators, { kind: "field", name: "#foo", static: false, private: true, access: { has: obj => #foo in obj, get: obj => obj.#foo, set: (obj, value) => { obj.#foo = value; } }, metadata: _metadata }, _private_foo_initializers, _private_foo_extraInitializers); + __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers); + Test = _classThis = _classDescriptor.value; + if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); + __runInitializers(_classThis, _classExtraInitializers); + } + #foo = __runInitializers(this, _private_foo_initializers, '123'); + constructor() { + super(...arguments); + __runInitializers(this, _private_foo_extraInitializers); + } + }; + return Test = _classThis; + })(); + Test; + }; + expect(createClass).toThrow('@attribute is not supported on private fields yet.'); + }); + it('throws on static fields', () => { + const createClass = () => { + let Test = (() => { + let _classDecorators = [element('static-attribute')]; + let _classDescriptor; + let _classExtraInitializers = []; + let _classThis; + let _classSuper = Element; + let _static_foo_decorators; + let _static_foo_initializers = []; + let _static_foo_extraInitializers = []; + var Test = class extends _classSuper { + static { _classThis = this; } + static { + const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0; + _static_foo_decorators = [attribute]; + __esDecorate(null, null, _static_foo_decorators, { kind: "field", name: "foo", static: true, private: false, access: { has: obj => "foo" in obj, get: obj => obj.foo, set: (obj, value) => { obj.foo = value; } }, metadata: _metadata }, _static_foo_initializers, _static_foo_extraInitializers); + __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers); + Test = _classThis = _classDescriptor.value; + if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); + } + static foo = __runInitializers(_classThis, _static_foo_initializers, '123'); + static { + __runInitializers(_classThis, _static_foo_extraInitializers); + __runInitializers(_classThis, _classExtraInitializers); + } + }; + return Test = _classThis; + })(); + Test; + }; + expect(createClass).toThrow('@attribute is not supported on static fields.'); + }); + it('throws on methods', () => { + const createClass = () => { + let Test = (() => { + let _classDecorators = [element('method-attribute')]; + let _classDescriptor; + let _classExtraInitializers = []; + let _classThis; + let _classSuper = Element; + let _instanceExtraInitializers = []; + let _method_decorators; + var Test = class extends _classSuper { + static { _classThis = this; } + static { + const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0; + _method_decorators = [attribute]; + __esDecorate(this, null, _method_decorators, { kind: "method", name: "method", static: false, private: false, access: { has: obj => "method" in obj, get: obj => obj.method }, metadata: _metadata }, null, _instanceExtraInitializers); + __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers); + Test = _classThis = _classDescriptor.value; + if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); + __runInitializers(_classThis, _classExtraInitializers); + } + // @ts-expect-error testing invalid usage + method() { } + constructor() { + super(...arguments); + __runInitializers(this, _instanceExtraInitializers); + } + }; + return Test = _classThis; + })(); + Test; + }; + expect(createClass).toThrow('@attribute is only for use on fields, getters/setters, and auto accessors.'); + }); + }); }); -describe('various types of attributes', () => { +describe('types of attributes', () => { it('@numberAttribute decorator for working with number values', () => { let Person = (() => { let _classDecorators = [element('x-person')]; @@ -1468,6 +1494,61 @@ describe('various types of attributes', () => { expect(win.okThisIsTheFinalOneEvent2).toBeInstanceOf(Event); }); }); + describe('@jsonAttribute', () => { + it('handles JSON attribute values', () => { + let JsonAttributeTest = (() => { + let _classDecorators = [element('json-attribute-test')]; + let _classDescriptor; + let _classExtraInitializers = []; + let _classThis; + let _classSuper = HTMLElement; + let _data_decorators; + let _data_initializers = []; + let _data_extraInitializers = []; + var JsonAttributeTest = class extends _classSuper { + static { _classThis = this; } + static { + const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0; + _data_decorators = [jsonAttribute]; + __esDecorate(null, null, _data_decorators, { kind: "field", name: "data", static: false, private: false, access: { has: obj => "data" in obj, get: obj => obj.data, set: (obj, value) => { obj.data = value; } }, metadata: _metadata }, _data_initializers, _data_extraInitializers); + __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers); + JsonAttributeTest = _classThis = _classDescriptor.value; + if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); + __runInitializers(_classThis, _classExtraInitializers); + } + data = __runInitializers(this, _data_initializers, { a: 1, b: 2 }); + constructor() { + super(...arguments); + __runInitializers(this, _data_extraInitializers); + } + }; + return JsonAttributeTest = _classThis; + })(); + const el = new JsonAttributeTest(); + expect(el.data).toEqual({ a: 1, b: 2 }); + el.setAttribute('data', '{"a":10,"b":20,"c":30}'); + expect(el.data).toEqual({ a: 10, b: 20, c: 30 }); + // TODO prop-to-attribute reflection + // el.data = {x: 'hello', y: 'world'} + // expect(el.getAttribute('data')).toBe('{"x":"hello","y":"world"}') + function testInvalidJson() { + let error; + window.addEventListener('error', e => { + e.preventDefault(); + e.stopImmediatePropagation(); + error = e.error; + }, { once: true, capture: true }); + try { + el.setAttribute('data', 'invalid json'); // this line still makes WTR report an uncaught error. + } + finally { + } + expect(error).toBeInstanceOf(SyntaxError); // this works + } + // TODO invalid json causes uncaught error in WTR as expected, but we can't catch it in the test right now. + testInvalidJson; //() + }); + }); }); function testAttribute(el, prop, attrValue, handledValue, defaultValue) { el.setAttribute(prop, attrValue); diff --git a/dist/decorators/attribute.test.js.map b/dist/decorators/attribute.test.js.map index 970dd3a..b1b3d52 100644 --- a/dist/decorators/attribute.test.js.map +++ b/dist/decorators/attribute.test.js.map @@ -1 +1 @@ -{"version":3,"file":"attribute.test.js","sourceRoot":"","sources":["../../src/decorators/attribute.test.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"attribute.test.js","sourceRoot":"","sources":["../../src/decorators/attribute.test.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/decorators/element.d.ts b/dist/decorators/element.d.ts index 64e0262..df7793e 100644 --- a/dist/decorators/element.d.ts +++ b/dist/decorators/element.d.ts @@ -48,16 +48,24 @@ type ElementClassDecorator = >(Class: T, c * ``` * * Sometimes you may not want to define a name for the element, - * however the decorator is still needed for key functionality. In - * this case use the decorator without calling it first, then you can - * manually define the element in another way as needed: + * however the decorator is still needed for key functionality. + * To accomplish this, call it with `autoDefine` set to false, * * ```js - * ⁣@element + * ⁣@element({ autoDefine: false }) * class CoolElement extends HTMLElement { * // ... * } - * + * ``` + * or + * ```js + * ⁣@element('', false) + * class CoolElement extends HTMLElement { + * // ... + * } + * ``` + * Then you can manually define the element later with a name of your choosing: + * ```js * // ...Manually define it at some point after making the class... * CoolElement.defineElement('cool-element') * @@ -70,7 +78,9 @@ type ElementClassDecorator = >(Class: T, c * document.body.append(document.createElement('cool-element')) * ``` * - * If you call it with an empty string, it behaves the same as the previous example: + * If you call it with an empty string, an empty options object, or as a + * decorator directly, it will fall back to using the class name as the element + * name: * * ```js * ⁣@element('') @@ -78,12 +88,70 @@ type ElementClassDecorator = >(Class: T, c * * // is the same as * + * ⁣@element() + * class CoolElement extends HTMLElement {...} + * + * // is the same as + * * ⁣@element * class CoolElement extends HTMLElement {...} + * + * // is the same as + * + * ⁣@element('cool-element') + * class CoolElement extends HTMLElement {...} + * + * // is the same as + * + * ⁣@element + * class CoolElement extends HTMLElement { + * static elementName = 'cool-element' + * } + * + * // is the same as + * + * ⁣@element({ elementName: 'cool-element' }) + * class CoolElement extends HTMLElement {...} + * + * // is the same as + * + * @element('', false) + * class CoolElement extends HTMLElement {...} + * customElements.define('cool-element', CoolElement) + * + * // is the same as + * + * @element('', false) + * class CoolElement extends HTMLElement {...} + * CoolElement.defineElement('cool-element') + * + * // is the same as + * + * @element({autoDefine: false}) + * class CoolElement extends HTMLElement { + * static elementName = 'cool-element' + * } + * CoolElement.defineElement() * ``` + * + * If using `@attribute` decorators, make sure `@element` is the first + * decorator applied to the class so that it can set up the attributes + * properly. + * + * @param tagName - The custom element name to define the class as. + * @param autoDefine - If `true`, the element will be defined automatically + * when the class is declared. If `false`, you must manually call + * */ export declare function element(tagName: string, autoDefine?: boolean): ElementClassDecorator; +/** + * @param Class - The class to decorate. + * @param context - The decorator context. + */ export declare function element>(Class: T, context?: ClassDecoratorContext): T; +/** + * @param options - Options object. + */ export declare function element(options: ElementDecoratorOptions): ElementClassDecorator; export {}; //# sourceMappingURL=element.d.ts.map \ No newline at end of file diff --git a/dist/decorators/element.d.ts.map b/dist/decorators/element.d.ts.map index e0737af..3b71777 100644 --- a/dist/decorators/element.d.ts.map +++ b/dist/decorators/element.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"element.d.ts","sourceRoot":"","sources":["../../src/decorators/element.ts"],"names":[],"mappings":"AAAA,OAAO,oBAAoB,CAAA;AAG3B,OAAO,EAAC,OAAO,EAAE,KAAK,mBAAmB,EAAC,MAAM,mBAAmB,CAAA;AAQnE,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,8BAA8B,CAAA;AAIhE,KAAK,eAAe,GAAG;IACtB,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC7B,yBAAyB,CAAC,EAAE,mBAAmB,CAAA;IAC/C,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IACjB,SAAS,EAAE,eAAe,CAAA;CAC1B,CAAA;AACD,MAAM,MAAM,WAAW,GAAG,OAAO,OAAO,GAAG,eAAe,CAAA;AAI1D,MAAM,WAAW,uBAAuB;IACvC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE,OAAO,CAAA;CACpB;AAED,KAAK,qBAAqB,GAAG,CAAC,CAAC,SAAS,cAAc,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,qBAAqB,KAAK,CAAC,CAAA;AAEpH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmEG;AACH,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,OAAO,GAAG,qBAAqB,CAAA;AACrF,wBAAgB,OAAO,CAAC,CAAC,SAAS,cAAc,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,CAAC,CAAA;AAC5G,wBAAgB,OAAO,CAAC,OAAO,EAAE,uBAAuB,GAAG,qBAAqB,CAAA"} \ No newline at end of file +{"version":3,"file":"element.d.ts","sourceRoot":"","sources":["../../src/decorators/element.ts"],"names":[],"mappings":"AAAA,OAAO,oBAAoB,CAAA;AAG3B,OAAO,EAAC,OAAO,EAAE,KAAK,mBAAmB,EAAC,MAAM,mBAAmB,CAAA;AAQnE,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,8BAA8B,CAAA;AAIhE,KAAK,eAAe,GAAG;IACtB,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC7B,yBAAyB,CAAC,EAAE,mBAAmB,CAAA;IAC/C,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IACjB,SAAS,EAAE,eAAe,CAAA;CAC1B,CAAA;AACD,MAAM,MAAM,WAAW,GAAG,OAAO,OAAO,GAAG,eAAe,CAAA;AAI1D,MAAM,WAAW,uBAAuB;IACvC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE,OAAO,CAAA;CACpB;AAED,KAAK,qBAAqB,GAAG,CAAC,CAAC,SAAS,cAAc,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,qBAAqB,KAAK,CAAC,CAAA;AAEpH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgIG;AACH,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,OAAO,GAAG,qBAAqB,CAAA;AACrF;;;GAGG;AACH,wBAAgB,OAAO,CAAC,CAAC,SAAS,cAAc,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,CAAC,CAAA;AAC5G;;GAEG;AACH,wBAAgB,OAAO,CAAC,OAAO,EAAE,uBAAuB,GAAG,qBAAqB,CAAA"} \ No newline at end of file diff --git a/dist/decorators/element.js b/dist/decorators/element.js index 89f4b29..cde19be 100644 --- a/dist/decorators/element.js +++ b/dist/decorators/element.js @@ -1,11 +1,17 @@ import './metadata-shim.js'; import { untrack } from 'solid-js'; -import { reactive, signalify } from 'classy-solid'; +import { signalify, untracked } from 'classy-solid'; import { Element } from '../LumeElement.js'; -import { __classFinishers, __setUpAttribute, __attributesToProps, } from './attribute.js'; +import { classFinishers__, setUpAttribute__, attributesToProps__, } from './attribute.js'; import { camelCaseToDash } from '../utils.js'; const isAttributeHandler = Symbol('isAttributeHandler'); -export function element(tagNameOrClassOrOptions = {}, autoDefineOrContext) { +/** + * @param tagNameOrClassOrOptions - Either the tag name to define the element as, or + * the class to decorate, or an options object. + * @param autoDefineOrContext - Either whether to auto-define the element, + * or the decorator context if the first arg was the class. + */ +export function element(tagNameOrClassOrOptions, autoDefineOrContext) { // when called as a decorator factory with tagName and autoDefine, f.e. `@element('my-el') class MyEl ...` or `element('my-el', false)(class MyEl ...)` if (typeof tagNameOrClassOrOptions === 'string') { const elementName = tagNameOrClassOrOptions; @@ -13,7 +19,7 @@ export function element(tagNameOrClassOrOptions = {}, autoDefineOrContext) { return (Class, context) => applyElementDecoration(Class, context, { elementName, autoDefine }); } // when called as a decorator factory with or without an options object, f.e. `@element() class MyEl ...` or `@element({tagName: 'my-el'}) class MyEl ...` or `element({tagName: 'my-el', autoDefine: false})(class MyEl ...)` - if (typeof tagNameOrClassOrOptions === 'object') { + if (!tagNameOrClassOrOptions || typeof tagNameOrClassOrOptions === 'object') { return (Class, context) => applyElementDecoration(Class, context, tagNameOrClassOrOptions); } // Otherwise called as a decorator, f.e. `@element class MyEl ...` or `element(class MyEl ...)` @@ -21,7 +27,7 @@ export function element(tagNameOrClassOrOptions = {}, autoDefineOrContext) { const context = autoDefineOrContext; return applyElementDecoration(Class, context); } -function applyElementDecoration(Class, context, options = {}) { +function applyElementDecoration(Class, context, options) { if (typeof Class !== 'function' || (context && context.kind !== 'class')) throw new Error('@element is only for use on classes.'); const usedAsDecorator = !!context; @@ -52,14 +58,14 @@ function applyElementDecoration(Class, context, options = {}) { for (const prop in _attrs) { const handler = _attrs[prop]; const attrName = (handler.name ?? (handler.dashcase === false ? prop : camelCaseToDash(prop))).toLowerCase(); - __setUpAttribute(Class, attrName, prop, handler); + setUpAttribute__(Class, attrName, prop, handler); } } const handlers = Object.hasOwn(Class, 'observedAttributeHandlers') ? Class.observedAttributeHandlers : undefined; if (handlers) { for (const [prop, handler] of Object.entries(handlers)) { const attrName = (handler.name ?? (handler.dashcase === false ? prop : camelCaseToDash(prop))).toLowerCase(); - __setUpAttribute(Class, attrName, prop, handlers[prop]); + setUpAttribute__(Class, attrName, prop, handlers[prop]); } } // @prod-prune @@ -70,9 +76,8 @@ function applyElementDecoration(Class, context, options = {}) { console.warn(`When using 'static observedAttributeHandlers' do not use the 'element' function as a decorator, instead call it as a plain function, otherwise 'static observedAttributeHandlers' will not handled because class static fields are initialized after class decorators.`); } }); - // We need to compose with @reactive so that it will signalify any @signal properties. - const ReactiveDecorated = reactive(Class, context); - class ElementDecorated extends ReactiveDecorated { + const Untracked = untracked(Class, context); + class ElementDecorated extends Untracked { constructor(...args) { // @ts-expect-error we don't know what the user's args will be, just pass them all. super(...args); @@ -80,47 +85,11 @@ function applyElementDecoration(Class, context, options = {}) { // objects (super() is already untracked by the reactive decorator). untrack(() => { handlePreUpgradeValues(this); - const attrsToProps = ElementDecorated.prototype[__attributesToProps] ?? {}; + const attrsToProps = ElementDecorated.prototype[attributesToProps__] ?? {}; // We're using Object.values here for *own* properties so // we handle properties of the current decorated class (not // of the super classes). const propSpecs = Object.values(attrsToProps); - // This is signalifying any attribute props that may have been - // defined in `static observedAttributes` or `static - // observedAttributeHandlers` rather than with an attribute - // decorator (which composes `@signal`), so that we also cover - // non-decorator usage until native decorators are out. - // - // Note, `signalify()` returns early if a property was already - // signalified by @attribute (@signal), so this isn't going to - // double-signalify. - // - // TODO: Once native decorators are out, remove this, and remove - // non-decorator usage because everyone will be able to use - // decorators. We can also then delete `noSignal` from `metadata` - // here in the class as it is no longer needed at class - // instantiation time. - // - // 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. - for (const propSpec of propSpecs) { - const prop = propSpec.name; - const useSignal = !noSignal?.has(prop); - if (!useSignal) - continue; - const fieldDesc = Object.getOwnPropertyDescriptor(this, prop); - const protoDesc = Object.getOwnPropertyDescriptor(Class.prototype, prop); - const isField = !!fieldDesc; - // The decorated property is either on the instance (field), or the decorated class's prototype (getter/setter). - let descriptor = fieldDesc ?? protoDesc; - if (!descriptor) - descriptorError(prop); - const { get, set } = descriptor; - const isAccessor = !!(descriptor && (get || set)); - const initialValue = isAccessor && get ? get.call(this) : this[prop]; - signalify(isField ? this : Class.prototype, [prop, initialValue]); - } // Intercept JS values to run attribute handlers. for (const propSpec of propSpecs) { const prop = propSpec.name; @@ -136,8 +105,6 @@ function applyElementDecoration(Class, context, options = {}) { descriptorError(prop); const { get, set, writable } = descriptor; const isAccessor = !!(get || set); - if (!isAccessor && !isField) - throw new Error(`Cannot map attribute to prototype value property "${String(prop)}". Only prototype getters/setters are supported. Either make the property a class field, or make two separate properties: one for the attribute as a class field, one for the prototype value property.`); if ((isAccessor && !set) || (!isAccessor && !writable)) throw new Error(`An attribute decorator cannot be used on readonly property "${String(prop)}".`); const initialValue = isAccessor && get ? get.call(this) : this[prop]; @@ -192,23 +159,58 @@ function applyElementDecoration(Class, context, options = {}) { set: newSetter, }); } + // This is signalifying any attribute props that may have been + // defined in `static observedAttributes` or `static + // observedAttributeHandlers` rather than with an attribute + // decorator (which composes `@signal`), so that we also cover + // non-decorator usage until native decorators are out. + // + // Note, `signalify()` returns early if a property was already + // signalified by @attribute (@signal), so this isn't going to + // double-signalify. + // + // TODO: Once native decorators are out, remove this, and remove + // non-decorator usage because everyone will be able to use + // decorators. We can also then delete `noSignal` from `metadata` + // here in the class as it is no longer needed at class + // instantiation time. + // + // 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. + for (const propSpec of propSpecs) { + const prop = propSpec.name; + const useSignal = !noSignal?.has(prop); + if (!useSignal) + continue; + const fieldDesc = Object.getOwnPropertyDescriptor(this, prop); + const protoDesc = Object.getOwnPropertyDescriptor(Class.prototype, prop); + const isField = !!fieldDesc; + // The decorated property is either on the instance (field), or the decorated class's prototype (getter/setter). + let descriptor = fieldDesc ?? protoDesc; + if (!descriptor) + descriptorError(prop); + const { get, set } = descriptor; + const isAccessor = !!(descriptor && (get || set)); + const initialValue = isAccessor && get ? get.call(this) : this[prop]; + signalify(isField ? this : Class.prototype, [prop, initialValue]); + } }); } } - const classFinishers = [...__classFinishers]; - __classFinishers.length = 0; + const classFinishers = [...classFinishers__]; + classFinishers__.length = 0; function finishClass() { - // This need to be here in the finisher because it will run *after* + // This needs to be here in the finisher because it will run *after* // static class fields (the decorator function itself runs before static // class fields are ready). - options.elementName ||= Class.elementName || camelCaseToDash(Class.name); - options.autoDefine ??= Class.autoDefine; - Object.assign(Class, options); + Class.elementName = options?.elementName || Class.elementName || camelCaseToDash(Class.name); + Class.autoDefine = options?.autoDefine ?? Class.autoDefine; for (const finisher of classFinishers) finisher(ElementDecorated); - if (options.elementName && options.autoDefine) + if (Class.elementName && Class.autoDefine) // guard against missing DOM API (f.e. SSR) - globalThis.window?.customElements?.define(options.elementName, ElementDecorated); + globalThis.window?.customElements?.define(Class.elementName, ElementDecorated); } if (context?.addInitializer) { // Use addInitializer to run logic after the class is fully defined diff --git a/dist/decorators/element.js.map b/dist/decorators/element.js.map index f107de9..938eea1 100644 --- a/dist/decorators/element.js.map +++ b/dist/decorators/element.js.map @@ -1 +1 @@ -{"version":3,"file":"element.js","sourceRoot":"","sources":["../../src/decorators/element.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"element.js","sourceRoot":"","sources":["../../src/decorators/element.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/decorators/element.test.js b/dist/decorators/element.test.js index b127f50..ec274d0 100644 --- a/dist/decorators/element.test.js +++ b/dist/decorators/element.test.js @@ -36,6 +36,119 @@ import { createEffect } from 'solid-js'; import { signal } from 'classy-solid'; import { Element, element, attribute, numberAttribute, booleanAttribute, stringAttribute, } from '../index.js'; describe('@element decorator', () => { + describe('classy-solid @signal properties with @element decorator', () => { + it('reacts to updates using createEffect', () => { + let FooEl = (() => { + let _classDecorators = [element('foo-el')]; + let _classDescriptor; + let _classExtraInitializers = []; + let _classThis; + let _classSuper = HTMLElement; + let _foo_decorators; + let _foo_initializers = []; + let _foo_extraInitializers = []; + var FooEl = class extends _classSuper { + static { _classThis = this; } + static { + const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0; + _foo_decorators = [signal]; + __esDecorate(null, null, _foo_decorators, { kind: "field", name: "foo", static: false, private: false, access: { has: obj => "foo" in obj, get: obj => obj.foo, set: (obj, value) => { obj.foo = value; } }, metadata: _metadata }, _foo_initializers, _foo_extraInitializers); + __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers); + FooEl = _classThis = _classDescriptor.value; + if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); + __runInitializers(_classThis, _classExtraInitializers); + } + foo = __runInitializers(this, _foo_initializers, 123); + constructor() { + super(...arguments); + __runInitializers(this, _foo_extraInitializers); + } + }; + return FooEl = _classThis; + })(); + const f = new FooEl(); + 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); + }); + it('maintains reactivity for overridden fields', () => { + let FooEl = (() => { + let _classDecorators = [element('foo-el2')]; + let _classDescriptor; + let _classExtraInitializers = []; + let _classThis; + let _classSuper = HTMLElement; + let _foo_decorators; + let _foo_initializers = []; + let _foo_extraInitializers = []; + var FooEl = class extends _classSuper { + static { _classThis = this; } + static { + const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0; + _foo_decorators = [signal]; + __esDecorate(null, null, _foo_decorators, { kind: "field", name: "foo", static: false, private: false, access: { has: obj => "foo" in obj, get: obj => obj.foo, set: (obj, value) => { obj.foo = value; } }, metadata: _metadata }, _foo_initializers, _foo_extraInitializers); + __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers); + FooEl = _classThis = _classDescriptor.value; + if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); + __runInitializers(_classThis, _classExtraInitializers); + } + foo = __runInitializers(this, _foo_initializers, 123); + constructor() { + super(...arguments); + __runInitializers(this, _foo_extraInitializers); + } + }; + return FooEl = _classThis; + })(); + let OverrideEl = (() => { + let _classDecorators = [element('override-el')]; + let _classDescriptor; + let _classExtraInitializers = []; + let _classThis; + let _classSuper = FooEl; + let _foo_decorators; + let _foo_initializers = []; + let _foo_extraInitializers = []; + var OverrideEl = class extends _classSuper { + static { _classThis = this; } + static { + const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0; + _foo_decorators = [signal]; + __esDecorate(null, null, _foo_decorators, { kind: "field", name: "foo", static: false, private: false, access: { has: obj => "foo" in obj, get: obj => obj.foo, set: (obj, value) => { obj.foo = value; } }, metadata: _metadata }, _foo_initializers, _foo_extraInitializers); + __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers); + OverrideEl = _classThis = _classDescriptor.value; + if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); + __runInitializers(_classThis, _classExtraInitializers); + } + foo = __runInitializers(this, _foo_initializers, 456); + constructor() { + super(...arguments); + __runInitializers(this, _foo_extraInitializers); + } + }; + return OverrideEl = _classThis; + })(); + const f = new OverrideEl(); + let count = 0; + // Runs once initially, then re-runs any time f.foo has changed. + createEffect(() => { + f.foo; + count++; + }); + expect(f.foo).toBe(456); + expect(count).toBe(1); + f.foo = 789; + expect(count).toBe(2); + expect(f.foo).toBe(789); + }); + }); it('reads options from static class fields', () => { let ElementWithStaticName = (() => { let _classDecorators = [element]; @@ -826,6 +939,78 @@ describe('@element decorator', () => { expect(count).toBe(1); expect(b).toBe(b2); }); + it('works with prototype value property', () => { + const MyElement = element((() => { + const Class = class extends Element { + static elementName = 'my-element-attr-to-proto'; + static observedAttributeHandlers = { + someProp: attribute.number, + }; + }; + Class.prototype.someProp = 123; + return Class; + })()); + const el = new MyElement(); + expect(el.someProp).toBe(123); + document.body.append(el); + el.setAttribute('some-prop', '456'); + expect(el.someProp).toBe(456); + el.removeAttribute('some-prop'); + expect(el.someProp).toBe(123); + }); + describe('invalid usages', () => { + it('throws when mapping an attribute to missing property', () => { + const MyElement = element(class extends Element { + static elementName = 'my-element-missing-prop'; + static observedAttributeHandlers = { + someProp: attribute.number, + }; + }); + // ;(MyElement.prototype as any).someProp = 123 + expect(() => new MyElement()).toThrow('Missing descriptor for property "someProp" while mapping attributes to properties.'); + }); + it('throws when mapping an attribute to a readonly accessor', () => { + let MyElement = (() => { + let _classDecorators = [element]; + let _classDescriptor; + let _classExtraInitializers = []; + let _classThis; + let _classSuper = Element; + let _instanceExtraInitializers = []; + let _get_someProp_decorators; + var MyElement = class extends _classSuper { + static { _classThis = this; } + static { + const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0; + _get_someProp_decorators = [numberAttribute]; + __esDecorate(this, null, _get_someProp_decorators, { kind: "getter", name: "someProp", static: false, private: false, access: { has: obj => "someProp" in obj, get: obj => obj.someProp }, metadata: _metadata }, null, _instanceExtraInitializers); + __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers); + MyElement = _classThis = _classDescriptor.value; + if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); + } + static elementName = 'my-element-readonly-accessor'; + get someProp() { + return 123; + } + constructor() { + super(...arguments); + __runInitializers(this, _instanceExtraInitializers); + } + static { + __runInitializers(_classThis, _classExtraInitializers); + } + }; + return MyElement = _classThis; + })(); + expect(() => new MyElement()).toThrow('An attribute decorator cannot be used on readonly property "someProp".'); + }); + it('throws on non-classes', () => { + expect(() => { + // @ts-expect-error + element('my-el')({}); + }).toThrow('@element is only for use on classes.'); + }); + }); }); function testAttributes(el, gettersetter = '', foo = 'foo', bar = 'bar', num = 'num', bool = 'bool', bool2 = 'bool2', baz = 'baz', baz2 = 'baz2') { el.setAttribute(foo, 'blah'); diff --git a/dist/decorators/element.test.js.map b/dist/decorators/element.test.js.map index b57ec51..bd6c318 100644 --- a/dist/decorators/element.test.js.map +++ b/dist/decorators/element.test.js.map @@ -1 +1 @@ -{"version":3,"file":"element.test.js","sourceRoot":"","sources":["../../src/decorators/element.test.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"element.test.js","sourceRoot":"","sources":["../../src/decorators/element.test.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/lume.config.cjs b/lume.config.cjs index 0897683..61942cb 100644 --- a/lume.config.cjs +++ b/lume.config.cjs @@ -3,12 +3,14 @@ module.exports = { importMap: { imports: { 'classy-solid': '/node_modules/classy-solid/dist/index.js', - lowclass: '/node_modules/lowclass/dist/index.js', 'lowclass/': '/node_modules/lowclass/', 'solid-js': '/node_modules/solid-js/dist/solid.js', 'solid-js/web': '/node_modules/solid-js/web/dist/web.js', 'solid-js/html': '/node_modules/solid-js/html/dist/html.js', 'solid-js/store': '/node_modules/solid-js/store/dist/store.js', + '@solid-primitives/memo': '/node_modules/@solid-primitives/memo/dist/index.js', + '@solid-primitives/scheduled': '/node_modules/@solid-primitives/scheduled/dist/index.js', + '@solid-primitives/utils': '/node_modules/@solid-primitives/utils/dist/index.js', }, }, } diff --git a/package-lock.json b/package-lock.json index 0ddced2..1c3a2f4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,7 +10,7 @@ "license": "MIT", "dependencies": { "babel-preset-solid": "^1.0.0", - "classy-solid": "^0.4.0", + "classy-solid": "^0.4.4 || ^0.5.0", "lowclass": "^8.0.0", "solid-js": "^1.0.0" }, @@ -832,6 +832,37 @@ "integrity": "sha512-sXXKG+uL9IrKqViTtao2Ws6dy0znu9sOaP1di/jKGW1M6VssO8vlpXCQcpZ+jisQ1tTFAC5Jo/EOzFbggBagFQ==", "dev": true }, + "node_modules/@solid-primitives/memo": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/@solid-primitives/memo/-/memo-1.4.3.tgz", + "integrity": "sha512-CA+n9yaoqbYm+My5tY2RWb6EE16tVyehM4GzwQF4vCwvjYPAYk1JSRIVuMC0Xuj5ExD2XQJE5E2yAaKY2HTUsg==", + "license": "MIT", + "dependencies": { + "@solid-primitives/scheduled": "^1.5.2", + "@solid-primitives/utils": "^6.3.2" + }, + "peerDependencies": { + "solid-js": "^1.6.12" + } + }, + "node_modules/@solid-primitives/scheduled": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@solid-primitives/scheduled/-/scheduled-1.5.2.tgz", + "integrity": "sha512-/j2igE0xyNaHhj6kMfcUQn5rAVSTLbAX+CDEBm25hSNBmNiHLu2lM7Usj2kJJ5j36D67bE8wR1hBNA8hjtvsQA==", + "license": "MIT", + "peerDependencies": { + "solid-js": "^1.6.12" + } + }, + "node_modules/@solid-primitives/utils": { + "version": "6.3.2", + "resolved": "https://registry.npmjs.org/@solid-primitives/utils/-/utils-6.3.2.tgz", + "integrity": "sha512-hZ/M/qr25QOCcwDPOHtGjxTD8w2mNyVAYvcfgwzBHq2RwNqHNdDNsMZYap20+ruRwW4A3Cdkczyoz0TSxLCAPQ==", + "license": "MIT", + "peerDependencies": { + "solid-js": "^1.6.12" + } + }, "node_modules/@stencil/core": { "version": "4.26.0", "resolved": "https://registry.npmjs.org/@stencil/core/-/core-4.26.0.tgz", @@ -2176,10 +2207,12 @@ } }, "node_modules/classy-solid": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/classy-solid/-/classy-solid-0.4.3.tgz", - "integrity": "sha512-mJ76piJ1+E5XAfMVk+29Y0rMs7UeXTjdANTX5oYpM9e23Zy+acYRBUfdg00kLTjp0Lm0mW/yh/HKmSyTvTPlFQ==", + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/classy-solid/-/classy-solid-0.5.0.tgz", + "integrity": "sha512-PufgJjDZbzNHmwBlarv7GxhmlUh3VBNKyYLSKAENyz+XMuvYNQ/GYYP/wLpwaOu/1vur3Ag3PgUu6AI+lR56Zg==", + "license": "MIT", "dependencies": { + "@solid-primitives/memo": "^1.4.3", "lowclass": "^8.0.0", "solid-js": "^1.3.13" } diff --git a/package.json b/package.json index 9a251c5..04ed59b 100644 --- a/package.json +++ b/package.json @@ -32,7 +32,7 @@ }, "dependencies": { "babel-preset-solid": "^1.0.0", - "classy-solid": "^0.4.0", + "classy-solid": "^0.4.4 || ^0.5.0", "lowclass": "^8.0.0", "solid-js": "^1.0.0" }, diff --git a/src/LumeElement.test.ts b/src/LumeElement.test.ts index db40c5d..6e50e9e 100644 --- a/src/LumeElement.test.ts +++ b/src/LumeElement.test.ts @@ -1,6 +1,6 @@ import {createEffect} from 'solid-js' import html from 'solid-js/html' -import {reactive, signal, signalify} from 'classy-solid' +import {effect, memo, reactive, signal, signalify} from 'classy-solid' import {Element, element, type AttributeHandlerMap} from './index.js' import {attribute, numberAttribute} from './decorators/attribute.js' @@ -321,18 +321,21 @@ describe('LumeElement', () => { expect(el.root.firstElementChild.getAttribute('count')).toBe('1') }) - it('forgetting to use @reactive, @element, or signalify() causes a runtime error', () => { - // @reactive <---- user forgets to use the class decorator, or forgets to use `signalify()` + it('no longer causes runtime errors when forgetting to use @element', () => { + // @element <---- user does not use the class decorator class MyEl extends Element { @signal message = 'hello' @signal count = 0 override template = () => html`
this.count}>${() => this.message}
` } + // CONTINUE we need a test like this but for @element features (this one is + // testing @reactive, which no longer throws, and is not required for using + // @signal). customElements.define('html-template3', MyEl) - // This class will throw when it detects an extraneous property due to - // the previous class missing @reactive. + // This class used to throw due to the previous class missing @element + // (which was composed with @reactive). expect(() => { @reactive class OtherClass { @@ -340,7 +343,7 @@ describe('LumeElement', () => { } new OtherClass() - }).toThrow('Did you forget to use the `@reactive` decorator') + }).not.toThrow() const el = new MyEl() as any els.push(el) @@ -349,14 +352,6 @@ describe('LumeElement', () => { expect(el.root.children.length).toBe(2) expect(el.root.firstElementChild.outerHTML).toBe('
hello
') expect(el.root.lastElementChild.tagName.toLowerCase()).toBe('style') - - const expectation = expect(() => { - // Error writing to these properties - el.message = 'goodbye' - el.count++ - }) - - expectation.not.toThrow() }) // TODO @@ -882,4 +877,65 @@ describe('LumeElement', () => { // element. expect(document.querySelectorAll('style').length).toBe(0) }) + + it('stops effects on disconnect, starts effects on reconnect, with new-style effects and memos', () => { + @element('effect-reconnect-test') + class EffectReconnectTest extends Element { + effectCount = 0 + effectCount2 = 0 + + @signal count = 0 + + @signal n = 0 + + @memo get sum() { + return this.count + this.n + } + + override template = () => html`
${() => this.count}
` + + // new-style effects + @effect testEffect() { + this.effectCount++ + this.count // track + } + + // Test old-style effects too + override connectedCallback(): void { + super.connectedCallback() + + this.createEffect(() => { + this.effectCount2++ + this.sum // track + }) + } + } + + const el = new EffectReconnectTest() + els.push(el) + document.body.append(el) + + expect(el.effectCount).toBe(1) + expect(el.effectCount2).toBe(1) + + el.count = 1 + expect(el.effectCount).toBe(2) + expect(el.effectCount2).toBe(2) + + el.remove() + + el.count = 2 + expect(el.effectCount).toBe(2, 'effect should not run when disconnected') + expect(el.effectCount2).toBe(2, 'old-style effect should not run when disconnected') + + document.body.append(el) + + expect(el.effectCount).toBe(3, 'effect should run once on reconnect') + expect(el.effectCount2).toBe(3, 'old-style effect should run once on reconnect') + + el.count = 3 + el.n = 5 // triggers old-style effect second time + expect(el.effectCount).toBe(4, 'effect should run on reactive changes after reconnecting') + expect(el.effectCount2).toBe(5, 'old-style effect should run on reactive changes after reconnecting') + }) }) diff --git a/src/LumeElement.ts b/src/LumeElement.ts index b5208a8..adc22b3 100644 --- a/src/LumeElement.ts +++ b/src/LumeElement.ts @@ -1,15 +1,15 @@ import {render} from 'solid-js/web' -// __isPropSetAtLeastOnce was exposed by classy-solid specifically for +// 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 {Effectful, __isPropSetAtLeastOnce} from 'classy-solid' +import {Effects, isPropSetAtLeastOnce__, startEffects, stopEffects} from 'classy-solid' import type { AttributeHandler, AttributePropSpecs, - __attributesToProps, - __hasAttributeChangedCallback, + attributesToProps__, + hasAttributeChangedCallback__, } from './decorators/attribute.js' import type {DashCasedProps} from './utils.js' @@ -30,7 +30,7 @@ const root = Symbol('root') // TODO Make LumeElement `abstract` -class LumeElement extends Effectful(HTMLElement) { +class LumeElement extends HTMLElement { /** * The default tag name of the elements this class instantiates. When using * the `@element` decorator, if this field has not been specified, it will @@ -128,10 +128,10 @@ class LumeElement extends Effectful(HTMLElement) { static observedAttributeHandlers?: AttributeHandlerMap; /** Note, this is internal and used by the @attribute decorator, see attribute.ts. */ - declare [__attributesToProps]?: AttributePropSpecs; + declare [attributesToProps__]?: AttributePropSpecs; /** Note, this is internal and used by the @attribute decorator, see attribute.ts. */ - declare [__hasAttributeChangedCallback]?: true + declare [hasAttributeChangedCallback__]?: true /** * This can be used by a subclass, or other frameworks handling elements, to @@ -193,7 +193,7 @@ class LumeElement extends Effectful(HTMLElement) { // non-decorator usage, and eventually remove code intended for // non-decorator usage such as this. queueMicrotask(() => { - const propSetAtLeastOnce = __isPropSetAtLeastOnce(this, propName as string | symbol) + const propSetAtLeastOnce = isPropSetAtLeastOnce__(this, propName as string | symbol) // ... (2/2) and re-assign the value so that it goes through // a @signal accessor that got defined, or through an @@ -323,11 +323,18 @@ class LumeElement extends Effectful(HTMLElement) { return (this[root] = super.attachShadow(options)) } + #effects = new Effects() + + // For old-style (non-decorator) effects (f.e. subclasses creating effects + // in connectedCallback). + createEffect(fn: () => void) { + this.#effects.createEffect(fn) + } + #disposeTemplate?: () => void connectedCallback() { const template = this.template - if (template) this.#disposeTemplate = render( typeof template === 'function' ? template.bind(this) : () => template, @@ -335,10 +342,12 @@ class LumeElement extends Effectful(HTMLElement) { ) this.#setStyle() + startEffects(this) // start new-style (decorator) effects } disconnectedCallback() { - this.stopEffects() + this.#effects.clearEffects() // Clean up old-style (non-decorator) effects. + stopEffects(this) // Clean up new-style (decorator) effects this.#disposeTemplate?.() this.#cleanupStyle() } diff --git a/src/decorators/attribute.test.ts b/src/decorators/attribute.test.ts index 988b9d1..28c9568 100644 --- a/src/decorators/attribute.test.ts +++ b/src/decorators/attribute.test.ts @@ -1,5 +1,4 @@ import {createEffect} from 'solid-js' -import {signal} from 'classy-solid' import { Element, element, @@ -10,58 +9,9 @@ import { noSignal, stringAttribute, type AttributeHandlerMap, + jsonAttribute, } from '../index.js' -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 { - @signal foo = 123 - } - - const f = new FooEl() - 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) - }) - - 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 = 456 - } - - const f = new OverrideEl() - let count = 0 - - // Runs once initially, then re-runs any time f.foo has changed. - createEffect(() => { - f.foo - count++ - }) - - expect(f.foo).toBe(456) - expect(count).toBe(1) - f.foo = 789 - expect(count).toBe(2) - expect(f.foo).toBe(789) - }) -}) - describe('@attribute tests', () => { it('attributes can be mapped to properties with @attribute', () => { @element('foo-bar') @@ -604,9 +554,64 @@ describe('@attribute tests', () => { el.remove() }) + + describe('invalid usages', () => { + it('throws on symbol property names', () => { + const createClass = () => { + @element('symbol-attribute') + class Test extends Element { + @attribute + // @ts-expect-error testing invalid usage + [Symbol('foo')] = '123' + } + Test + } + + expect(createClass).toThrow('@attribute is not supported on symbol fields yet.') + }) + + it('throws on private fields', () => { + const createClass = () => { + @element('private-attribute') + class Test extends Element { + @attribute + // @ts-expect-error testing invalid usage + #foo = '123' + } + Test + } + + expect(createClass).toThrow('@attribute is not supported on private fields yet.') + }) + + it('throws on static fields', () => { + const createClass = () => { + @element('static-attribute') + class Test extends Element { + @attribute static foo = '123' + } + Test + } + + expect(createClass).toThrow('@attribute is not supported on static fields.') + }) + + it('throws on methods', () => { + const createClass = () => { + @element('method-attribute') + class Test extends Element { + // @ts-expect-error testing invalid usage + @attribute method() {} + } + Test + } + + expect(createClass).toThrow('@attribute is only for use on fields, getters/setters, and auto accessors.') + }) + }) }) -describe('various types of attributes', () => { +describe('types of attributes', () => { it('@numberAttribute decorator for working with number values', () => { @element('x-person') class Person extends HTMLElement { @@ -1179,6 +1184,47 @@ describe('various types of attributes', () => { expect(win.okThisIsTheFinalOneEvent2).toBeInstanceOf(Event) }) }) + + describe('@jsonAttribute', () => { + it('handles JSON attribute values', () => { + @element('json-attribute-test') + class JsonAttributeTest extends HTMLElement { + @jsonAttribute data: object = {a: 1, b: 2} + } + const el = new JsonAttributeTest() + + expect(el.data).toEqual({a: 1, b: 2}) + + el.setAttribute('data', '{"a":10,"b":20,"c":30}') + expect(el.data).toEqual({a: 10, b: 20, c: 30}) + + // TODO prop-to-attribute reflection + // el.data = {x: 'hello', y: 'world'} + // expect(el.getAttribute('data')).toBe('{"x":"hello","y":"world"}') + + function testInvalidJson() { + let error + window.addEventListener( + 'error', + e => { + e.preventDefault() + e.stopImmediatePropagation() + error = e.error + }, + {once: true, capture: true}, + ) + + try { + el.setAttribute('data', 'invalid json') // this line still makes WTR report an uncaught error. + } finally { + } + expect(error).toBeInstanceOf(SyntaxError) // this works + } + + // TODO invalid json causes uncaught error in WTR as expected, but we can't catch it in the test right now. + testInvalidJson //() + }) + }) }) function testAttribute(el: Element, prop: string, attrValue: any, handledValue: any, defaultValue: any) { diff --git a/src/decorators/attribute.ts b/src/decorators/attribute.ts index 821f9d4..9d75b2a 100644 --- a/src/decorators/attribute.ts +++ b/src/decorators/attribute.ts @@ -5,7 +5,7 @@ import type {ElementCtor} from './element.js' import type {PropKey} from 'classy-solid/dist/decorators/types.js' import type {Element as LumeElement} from '../LumeElement.js' -export const __classFinishers: ((Class: ElementCtor) => void)[] = [] +export const classFinishers__: ((Class: ElementCtor) => void)[] = [] type AttributeDecoratorContext = | ClassFieldDecoratorContext @@ -66,27 +66,31 @@ function handleAttributeDecoration( attributeHandler: AttributeHandler = {}, ) { const {kind, name, private: isPrivate, static: isStatic, metadata} = context - // Check only own metadata.noSignal, we don't want to use the one inherited from a base class. - const noSignal = (Object.hasOwn(metadata, 'noSignal') && (metadata.noSignal as Set)) || undefined - const useSignal = !noSignal?.has(name) if (typeof name === 'symbol') throw new Error('@attribute is not supported on symbol fields yet.') if (isPrivate) throw new Error('@attribute is not supported on private fields yet.') if (isStatic) throw new Error('@attribute is not supported on static fields.') + if (kind !== 'field' && kind !== 'getter' && kind !== 'setter' && kind !== 'accessor') + throw new Error('@attribute is only for use on fields, getters/setters, and auto accessors.') + + // Check only own metadata.noSignal, we don't want to use the one inherited from a base class. + const noSignal = (Object.hasOwn(metadata, 'noSignal') && (metadata.noSignal as Set)) || undefined + const useSignal = !noSignal?.has(name) + const attrName = ( attributeHandler.name ?? (attributeHandler.dashcase === false ? name : camelCaseToDash(name)) ).toLowerCase() - __classFinishers.push((Class: ElementCtor) => __setUpAttribute(Class, attrName, name, attributeHandler)) + classFinishers__.push((Class: ElementCtor) => setUpAttribute__(Class, attrName, name, attributeHandler)) if (kind === 'field') { const signalInitializer = useSignal ? signal(value, context) : (v: unknown) => v return function (this: LumeElement, initialValue: T): T { - initialValue = signalInitializer(initialValue) + initialValue = signalInitializer?.(initialValue) ?? initialValue - const propSpec = this[__attributesToProps]![attrName]! + const propSpec = this[attributesToProps__]![attrName]! // Typically the first initializer to run for a class field (on // instantiation of the first instance of its class) will be our @@ -103,14 +107,12 @@ function handleAttributeDecoration( } else if (kind === 'accessor') { context.addInitializer(function (this: any) { const initialValue = this[name] - const propSpec = this[__attributesToProps]![attrName]! + const propSpec = this[attributesToProps__]![attrName]! propSpec.default = 'default' in attributeHandler ? attributeHandler.default : initialValue // attributeHandler.sideEffect?.(this, name, initialValue) }) if (useSignal) return signal(value, context) - } else { - throw new Error('@attribute is only for use on fields, getters/setters, and auto accessors.') } return undefined // shush TS @@ -122,7 +124,7 @@ function handleAttributeDecoration( // Extending from the LumeElement base class will be the method that non-decorator // users must use. -export function __setUpAttribute( +export function setUpAttribute__( ctor: ElementCtor, attrName: string, propName: string, @@ -177,8 +179,8 @@ export function __setUpAttribute( mapAttributeToProp(ctor.prototype as LumeElement & {__proto__: LumeElement}, attrName, propName, attributeHandler) } -export const __hasAttributeChangedCallback = Symbol('hasAttributeChangedCallback') -export const __attributesToProps = Symbol('attributesToProps') +export const hasAttributeChangedCallback__ = Symbol('hasAttributeChangedCallback') +export const attributesToProps__ = Symbol('attributesToProps') export type AttributePropSpec = {name: string; default?: unknown; attributeHandler?: AttributeHandler} export type AttributePropSpecs = Record @@ -191,8 +193,8 @@ function mapAttributeToProp( attributeHandler: AttributeHandler, ): void { // Only define attributeChangedCallback once. - if (!prototype[__hasAttributeChangedCallback]) { - prototype[__hasAttributeChangedCallback] = true + if (!prototype[hasAttributeChangedCallback__]) { + prototype[hasAttributeChangedCallback__] = true const originalAttrChanged = prototype.attributeChangedCallback @@ -210,7 +212,7 @@ function mapAttributeToProp( } // map from attribute to property - const prop = this[__attributesToProps]![attr]! + const prop = this[attributesToProps__]![attr]! ;(this as any)[prop.name] = newVal } @@ -222,10 +224,10 @@ function mapAttributeToProp( // We use inheritance here or else all classes would pile their // attribute-prop definitions on a shared base class (they can clash, // override each other willy nilly and seemingly randomly). - if (!Object.hasOwn(prototype, __attributesToProps)) - prototype[__attributesToProps] = {__proto__: prototype[__attributesToProps] || (Object.prototype as any)} + if (!Object.hasOwn(prototype, attributesToProps__)) + prototype[attributesToProps__] = {__proto__: prototype[attributesToProps__] || (Object.prototype as any)} - prototype[__attributesToProps]![attr] = {name: prop, attributeHandler} + prototype[attributesToProps__]![attr] = {name: prop, attributeHandler} } /** @@ -628,6 +630,11 @@ export type EventListener = (event: T) => void export type EventHandler = {handleEvent: EventListener} attribute.json = {from: (str: string) => JSON.parse(str)} as AttributeHandler + +/** + * A decorator for mapping a JSON-valued attribute to a JS property. The string + * value of the attribute will be parsed into a JS value using `JSON.parse()`. + */ export const jsonAttribute = attribute(attribute.json) export type JSONValue = string | number | boolean | null | {[key: string]: JSONValue} | Array diff --git a/src/decorators/element.test.ts b/src/decorators/element.test.ts index 9c20181..8be22d9 100644 --- a/src/decorators/element.test.ts +++ b/src/decorators/element.test.ts @@ -11,6 +11,56 @@ import { } from '../index.js' describe('@element decorator', () => { + describe('classy-solid @signal properties with @element decorator', () => { + it('reacts to updates using createEffect', () => { + @element('foo-el') + class FooEl extends HTMLElement { + @signal foo = 123 + } + + const f = new FooEl() + 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) + }) + + 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 = 456 + } + + const f = new OverrideEl() + let count = 0 + + // Runs once initially, then re-runs any time f.foo has changed. + createEffect(() => { + f.foo + count++ + }) + + expect(f.foo).toBe(456) + expect(count).toBe(1) + f.foo = 789 + expect(count).toBe(2) + expect(f.foo).toBe(789) + }) + }) + it('reads options from static class fields', () => { @element class ElementWithStaticName extends Element { @@ -521,6 +571,76 @@ describe('@element decorator', () => { expect(count).toBe(1) expect(b!).toBe(b2) }) + + it('works with prototype value property', () => { + const MyElement = element( + (() => { + const Class = class extends Element { + static override elementName = 'my-element-attr-to-proto' + + static override observedAttributeHandlers: AttributeHandlerMap = { + someProp: attribute.number, + } + + declare someProp: number + } + + Class.prototype.someProp = 123 + + return Class + })(), + ) + + const el = new MyElement() + expect(el.someProp).toBe(123) + document.body.append(el) + + el.setAttribute('some-prop', '456') + expect(el.someProp).toBe(456) + + el.removeAttribute('some-prop') + expect(el.someProp).toBe(123) + }) + + describe('invalid usages', () => { + it('throws when mapping an attribute to missing property', () => { + const MyElement = element( + class extends Element { + static override elementName = 'my-element-missing-prop' + + static override observedAttributeHandlers: AttributeHandlerMap = { + someProp: attribute.number, + } + }, + ) + // ;(MyElement.prototype as any).someProp = 123 + + expect(() => new MyElement()).toThrow( + 'Missing descriptor for property "someProp" while mapping attributes to properties.', + ) + }) + + it('throws when mapping an attribute to a readonly accessor', () => { + @element + class MyElement extends Element { + static override elementName = 'my-element-readonly-accessor' + + @numberAttribute // readonly accessor + get someProp() { + return 123 + } + } + + expect(() => new MyElement()).toThrow('An attribute decorator cannot be used on readonly property "someProp".') + }) + + it('throws on non-classes', () => { + expect(() => { + // @ts-expect-error + element('my-el')({}) + }).toThrow('@element is only for use on classes.') + }) + }) }) function testAttributes( diff --git a/src/decorators/element.ts b/src/decorators/element.ts index 5eea9ae..569bb39 100644 --- a/src/decorators/element.ts +++ b/src/decorators/element.ts @@ -1,11 +1,11 @@ import './metadata-shim.js' import {untrack} from 'solid-js' -import {reactive, signalify} from 'classy-solid' +import {signalify, untracked} from 'classy-solid' import {Element, type AttributeHandlerMap} from '../LumeElement.js' import { - __classFinishers, - __setUpAttribute, - __attributesToProps, + classFinishers__, + setUpAttribute__, + attributesToProps__, type AttributeHandler, type AttributePropSpec, } from './attribute.js' @@ -65,16 +65,24 @@ type ElementClassDecorator = >(Class: T, c * ``` * * Sometimes you may not want to define a name for the element, - * however the decorator is still needed for key functionality. In - * this case use the decorator without calling it first, then you can - * manually define the element in another way as needed: + * however the decorator is still needed for key functionality. + * To accomplish this, call it with `autoDefine` set to false, * * ```js - * ⁣@element + * ⁣@element({ autoDefine: false }) * class CoolElement extends HTMLElement { * // ... * } - * + * ``` + * or + * ```js + * ⁣@element('', false) + * class CoolElement extends HTMLElement { + * // ... + * } + * ``` + * Then you can manually define the element later with a name of your choosing: + * ```js * // ...Manually define it at some point after making the class... * CoolElement.defineElement('cool-element') * @@ -87,7 +95,9 @@ type ElementClassDecorator = >(Class: T, c * document.body.append(document.createElement('cool-element')) * ``` * - * If you call it with an empty string, it behaves the same as the previous example: + * If you call it with an empty string, an empty options object, or as a + * decorator directly, it will fall back to using the class name as the element + * name: * * ```js * ⁣@element('') @@ -95,15 +105,79 @@ type ElementClassDecorator = >(Class: T, c * * // is the same as * + * ⁣@element() + * class CoolElement extends HTMLElement {...} + * + * // is the same as + * + * ⁣@element + * class CoolElement extends HTMLElement {...} + * + * // is the same as + * + * ⁣@element('cool-element') + * class CoolElement extends HTMLElement {...} + * + * // is the same as + * * ⁣@element + * class CoolElement extends HTMLElement { + * static elementName = 'cool-element' + * } + * + * // is the same as + * + * ⁣@element({ elementName: 'cool-element' }) + * class CoolElement extends HTMLElement {...} + * + * // is the same as + * + * @element('', false) * class CoolElement extends HTMLElement {...} + * customElements.define('cool-element', CoolElement) + * + * // is the same as + * + * @element('', false) + * class CoolElement extends HTMLElement {...} + * CoolElement.defineElement('cool-element') + * + * // is the same as + * + * @element({autoDefine: false}) + * class CoolElement extends HTMLElement { + * static elementName = 'cool-element' + * } + * CoolElement.defineElement() * ``` + * + * If using `@attribute` decorators, make sure `@element` is the first + * decorator applied to the class so that it can set up the attributes + * properly. + * + * @param tagName - The custom element name to define the class as. + * @param autoDefine - If `true`, the element will be defined automatically + * when the class is declared. If `false`, you must manually call + * */ export function element(tagName: string, autoDefine?: boolean): ElementClassDecorator +/** + * @param Class - The class to decorate. + * @param context - The decorator context. + */ export function element>(Class: T, context?: ClassDecoratorContext): T +/** + * @param options - Options object. + */ export function element(options: ElementDecoratorOptions): ElementClassDecorator +/** + * @param tagNameOrClassOrOptions - Either the tag name to define the element as, or + * the class to decorate, or an options object. + * @param autoDefineOrContext - Either whether to auto-define the element, + * or the decorator context if the first arg was the class. + */ export function element( - tagNameOrClassOrOptions: string | ElementDecoratorOptions | AnyConstructor = {}, + tagNameOrClassOrOptions?: string | ElementDecoratorOptions | AnyConstructor, autoDefineOrContext?: boolean | ClassDecoratorContext, ): any { // when called as a decorator factory with tagName and autoDefine, f.e. `@element('my-el') class MyEl ...` or `element('my-el', false)(class MyEl ...)` @@ -115,7 +189,7 @@ export function element( } // when called as a decorator factory with or without an options object, f.e. `@element() class MyEl ...` or `@element({tagName: 'my-el'}) class MyEl ...` or `element({tagName: 'my-el', autoDefine: false})(class MyEl ...)` - if (typeof tagNameOrClassOrOptions === 'object') { + if (!tagNameOrClassOrOptions || typeof tagNameOrClassOrOptions === 'object') { return (Class: AnyConstructor, context: ClassDecoratorContext) => applyElementDecoration(Class as ElementCtor, context, tagNameOrClassOrOptions) } @@ -129,7 +203,7 @@ export function element( function applyElementDecoration( Class: ElementCtor, context: DecoratorContext | undefined, - options: ElementDecoratorOptions = {}, + options?: ElementDecoratorOptions, ): any { if (typeof Class !== 'function' || (context && context.kind !== 'class')) throw new Error('@element is only for use on classes.') @@ -170,7 +244,7 @@ function applyElementDecoration( for (const prop in _attrs) { const handler = _attrs[prop]! const attrName = (handler.name ?? (handler.dashcase === false ? prop : camelCaseToDash(prop))).toLowerCase() - __setUpAttribute(Class, attrName, prop, handler) + setUpAttribute__(Class, attrName, prop, handler) } } @@ -179,7 +253,7 @@ function applyElementDecoration( if (handlers) { for (const [prop, handler] of Object.entries(handlers)) { const attrName = (handler.name ?? (handler.dashcase === false ? prop : camelCaseToDash(prop))).toLowerCase() - __setUpAttribute(Class, attrName, prop, handlers[prop]!) + setUpAttribute__(Class, attrName, prop, handlers[prop]!) } } @@ -194,10 +268,9 @@ function applyElementDecoration( } }) - // We need to compose with @reactive so that it will signalify any @signal properties. - const ReactiveDecorated: ElementCtor = reactive(Class, context) + const Untracked: ElementCtor = untracked(Class, context) - class ElementDecorated extends ReactiveDecorated { + class ElementDecorated extends Untracked { constructor(...args: any[]) { // @ts-expect-error we don't know what the user's args will be, just pass them all. super(...args) @@ -207,53 +280,13 @@ function applyElementDecoration( untrack(() => { handlePreUpgradeValues(this) - const attrsToProps = ElementDecorated.prototype[__attributesToProps] ?? {} + const attrsToProps = ElementDecorated.prototype[attributesToProps__] ?? {} // We're using Object.values here for *own* properties so // we handle properties of the current decorated class (not // of the super classes). const propSpecs = Object.values(attrsToProps) - // This is signalifying any attribute props that may have been - // defined in `static observedAttributes` or `static - // observedAttributeHandlers` rather than with an attribute - // decorator (which composes `@signal`), so that we also cover - // non-decorator usage until native decorators are out. - // - // Note, `signalify()` returns early if a property was already - // signalified by @attribute (@signal), so this isn't going to - // double-signalify. - // - // TODO: Once native decorators are out, remove this, and remove - // non-decorator usage because everyone will be able to use - // decorators. We can also then delete `noSignal` from `metadata` - // here in the class as it is no longer needed at class - // instantiation time. - // - // 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. - for (const propSpec of propSpecs) { - const prop = propSpec.name as keyof this - const useSignal = !noSignal?.has(prop as PropKey) - - if (!useSignal) continue - - const fieldDesc = Object.getOwnPropertyDescriptor(this, prop) - const protoDesc = Object.getOwnPropertyDescriptor(Class.prototype, prop) - const isField = !!fieldDesc - - // The decorated property is either on the instance (field), or the decorated class's prototype (getter/setter). - let descriptor = fieldDesc ?? protoDesc - if (!descriptor) descriptorError(prop) - - const {get, set} = descriptor - const isAccessor = !!(descriptor && (get || set)) - const initialValue = isAccessor && get ? get.call(this) : this[prop] - - signalify(isField ? this : (Class.prototype as this), [prop, initialValue as unknown] as const) - } - // Intercept JS values to run attribute handlers. for (const propSpec of propSpecs) { const prop = propSpec.name as keyof this @@ -272,13 +305,6 @@ function applyElementDecoration( const {get, set, writable} = descriptor const isAccessor = !!(get || set) - if (!isAccessor && !isField) - throw new Error( - `Cannot map attribute to prototype value property "${String( - prop, - )}". Only prototype getters/setters are supported. Either make the property a class field, or make two separate properties: one for the attribute as a class field, one for the prototype value property.`, - ) - if ((isAccessor && !set) || (!isAccessor && !writable)) throw new Error(`An attribute decorator cannot be used on readonly property "${String(prop)}".`) @@ -344,26 +370,65 @@ function applyElementDecoration( set: newSetter, }) } + + // This is signalifying any attribute props that may have been + // defined in `static observedAttributes` or `static + // observedAttributeHandlers` rather than with an attribute + // decorator (which composes `@signal`), so that we also cover + // non-decorator usage until native decorators are out. + // + // Note, `signalify()` returns early if a property was already + // signalified by @attribute (@signal), so this isn't going to + // double-signalify. + // + // TODO: Once native decorators are out, remove this, and remove + // non-decorator usage because everyone will be able to use + // decorators. We can also then delete `noSignal` from `metadata` + // here in the class as it is no longer needed at class + // instantiation time. + // + // 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. + for (const propSpec of propSpecs) { + const prop = propSpec.name as keyof this + const useSignal = !noSignal?.has(prop as PropKey) + + if (!useSignal) continue + + const fieldDesc = Object.getOwnPropertyDescriptor(this, prop) + const protoDesc = Object.getOwnPropertyDescriptor(Class.prototype, prop) + const isField = !!fieldDesc + + // The decorated property is either on the instance (field), or the decorated class's prototype (getter/setter). + let descriptor = fieldDesc ?? protoDesc + if (!descriptor) descriptorError(prop) + + const {get, set} = descriptor + const isAccessor = !!(descriptor && (get || set)) + const initialValue = isAccessor && get ? get.call(this) : this[prop] + + signalify(isField ? this : (Class.prototype as this), [prop, initialValue as unknown] as const) + } }) } } - const classFinishers = [...__classFinishers] - __classFinishers.length = 0 + const classFinishers = [...classFinishers__] + classFinishers__.length = 0 function finishClass() { - // This need to be here in the finisher because it will run *after* + // This needs to be here in the finisher because it will run *after* // static class fields (the decorator function itself runs before static // class fields are ready). - options.elementName ||= Class.elementName || camelCaseToDash(Class.name) - options.autoDefine ??= Class.autoDefine - Object.assign(Class, options) + Class.elementName = options?.elementName || Class.elementName || camelCaseToDash(Class.name) + Class.autoDefine = options?.autoDefine ?? Class.autoDefine for (const finisher of classFinishers) finisher(ElementDecorated) - if (options.elementName && options.autoDefine) + if (Class.elementName && Class.autoDefine) // guard against missing DOM API (f.e. SSR) - globalThis.window?.customElements?.define(options.elementName, ElementDecorated) + globalThis.window?.customElements?.define(Class.elementName, ElementDecorated) } if (context?.addInitializer) {