@toyz/loom 0.19.7 → 0.19.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -20,7 +20,7 @@ export { morph } from "./morph";
20
20
  export { jsx, jsxs, Fragment } from "./jsx-runtime";
21
21
  export { renderLoop } from "./render-loop";
22
22
  export type { RenderLoop } from "./render-loop";
23
- export { reactive, prop, computed, watch, store } from "./store";
23
+ export { reactive, prop, computed, watch, store, persist } from "./store";
24
24
  export { LoomElement, component, query, queryAll, styles, dynamicCss, type LoomHtmlQuery, type LoomHtmlQueryAll, catch_, suspend, mount, unmount, event, observer, interval, timeout, debounce, throttle, animationFrame, } from "./element";
25
25
  export { on, emit, createDecorator, createSymbol, LoomSymbol, SYMBOL_REGISTRY } from "./decorators";
26
26
  export { LoomResult } from "./result";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,YAAY,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAGrC,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAC9C,YAAY,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAGlD,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,YAAY,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAGtC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAGhC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGpD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,YAAY,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAIhD,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAIjE,OAAO,EACL,WAAW,EACX,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAC9C,KAAK,aAAa,EAAE,KAAK,gBAAgB,EACzC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAC/B,KAAK,EAAE,QAAQ,EACf,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,GACtD,MAAM,WAAW,CAAC;AAInB,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,YAAY,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAGpG,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAGtC,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,YAAY,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAGrC,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAC9C,YAAY,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAGlD,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,YAAY,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAGtC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAGhC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGpD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,YAAY,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAIhD,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAI1E,OAAO,EACL,WAAW,EACX,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAC9C,KAAK,aAAa,EAAE,KAAK,gBAAgB,EACzC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAC/B,KAAK,EAAE,QAAQ,EACf,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,GACtD,MAAM,WAAW,CAAC;AAInB,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,YAAY,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAGpG,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAGtC,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC"}
package/dist/index.js CHANGED
@@ -23,7 +23,7 @@ export { jsx, jsxs, Fragment } from "./jsx-runtime";
23
23
  // Render loop
24
24
  export { renderLoop } from "./render-loop";
25
25
  // ── Store (core only — adapters & route sentinels via @toyz/loom/store) ──
26
- export { reactive, prop, computed, watch, store } from "./store";
26
+ export { reactive, prop, computed, watch, store, persist } from "./store";
27
27
  // ── Element: base class + core decorators ──
28
28
  export { LoomElement, component, query, queryAll, styles, dynamicCss, catch_, suspend, mount, unmount, event, observer, interval, timeout, debounce, throttle, animationFrame, } from "./element";
29
29
  // ── Decorators: event decorators + factory ──
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,kBAAkB;AAClB,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAG5B,eAAe;AACf,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAG9C,MAAM;AACN,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAG5B,eAAe;AACf,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,wDAAwD;AACxD,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEpD,cAAc;AACd,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAG3C,4EAA4E;AAE5E,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEjE,8CAA8C;AAE9C,OAAO,EACL,WAAW,EACX,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAE9C,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAC/B,KAAK,EAAE,QAAQ,EACf,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,GACtD,MAAM,WAAW,CAAC;AAEnB,+CAA+C;AAE/C,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,YAAY,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEpG,cAAc;AACd,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,kBAAkB;AAClB,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAG5B,eAAe;AACf,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAG9C,MAAM;AACN,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAG5B,eAAe;AACf,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,wDAAwD;AACxD,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEpD,cAAc;AACd,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAG3C,4EAA4E;AAE5E,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAE1E,8CAA8C;AAE9C,OAAO,EACL,WAAW,EACX,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAE9C,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAC/B,KAAK,EAAE,QAAQ,EACf,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,GACtD,MAAM,WAAW,CAAC;AAEnB,+CAA+C;AAE/C,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,YAAY,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEpG,cAAc;AACd,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC"}
@@ -14,4 +14,5 @@ export type { RouterOptions, RouteInfo, RouteTarget } from "./router";
14
14
  export { LoomOutlet } from "./outlet";
15
15
  export { LoomLink } from "./link";
16
16
  export { onRouteEnter, onRouteLeave } from "./route-lifecycle";
17
+ export { subdomain, domain, tld } from "./url";
17
18
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/router/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,KAAK,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAGhE,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAGxC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpF,YAAY,EAAE,UAAU,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACxE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAGlD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAG/E,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAGnD,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAGtE,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAGlC,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/router/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,KAAK,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAGhE,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAGxC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpF,YAAY,EAAE,UAAU,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACxE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAGlD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAG/E,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAGnD,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAGtE,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAGlC,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAG/D,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC"}
@@ -20,4 +20,6 @@ export { LoomOutlet } from "./outlet";
20
20
  export { LoomLink } from "./link";
21
21
  // Route lifecycle
22
22
  export { onRouteEnter, onRouteLeave } from "./route-lifecycle";
23
+ // URL part decorators
24
+ export { subdomain, domain, tld } from "./url";
23
25
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/router/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO;AACP,OAAO,EAAmB,QAAQ,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAEhE,SAAS;AACT,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC,yBAAyB;AACzB,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEpF,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAElD,mBAAmB;AACnB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE/E,4EAA4E;AAC5E,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEnD,iBAAiB;AACjB,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAGtC,aAAa;AACb,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAElC,kBAAkB;AAClB,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/router/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO;AACP,OAAO,EAAmB,QAAQ,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAEhE,SAAS;AACT,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC,yBAAyB;AACzB,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEpF,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAElD,mBAAmB;AACnB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE/E,4EAA4E;AAC5E,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEnD,iBAAiB;AACjB,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAGtC,aAAa;AACb,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAElC,kBAAkB;AAClB,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAE/D,sBAAsB;AACtB,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC"}
@@ -0,0 +1,78 @@
1
+ /**
2
+ * Loom Router — URL part decorators (TC39 Stage 3)
3
+ *
4
+ * @subdomain — auto-accessor initialised to the subdomain of the current hostname
5
+ * @domain — auto-accessor initialised to the domain label
6
+ * @tld — auto-accessor initialised to the effective TLD (handles .co.uk etc.)
7
+ *
8
+ * These are "set-and-forget" decorators: the value is derived once at
9
+ * construction time from `window.location.hostname` and never changes.
10
+ * No reactive backing, no connect hooks — just override `init()`.
11
+ *
12
+ * ```ts
13
+ * @subdomain accessor tenant = ""; // "tenant.app.co.uk" → "tenant"
14
+ * @domain accessor host = ""; // "tenant.app.co.uk" → "app"
15
+ * @tld accessor ext = ""; // "tenant.app.co.uk" → "co.uk"
16
+ * ```
17
+ *
18
+ * Optimisations:
19
+ * - TWO_PART_TLDS is lazy-initialised (no alloc if decorators are unused)
20
+ * - Parsed hostname is cached globally (hostname never changes in a SPA)
21
+ * - Per-instance overrides share a single WeakMap across all URL decorators
22
+ */
23
+ interface ParsedHostname {
24
+ subdomain: string;
25
+ domain: string;
26
+ tld: string;
27
+ }
28
+ /** @internal — exported for unit tests only */
29
+ export declare function parseHostname(hostname?: string): ParsedHostname;
30
+ /** @internal — exported so tests can reset the cache between runs */
31
+ export declare function _resetCache(): void;
32
+ /**
33
+ * Auto-accessor initialised to the subdomain of `window.location.hostname`.
34
+ *
35
+ * ```ts
36
+ * @subdomain accessor tenant = "";
37
+ * // tenant.app.com → "tenant"
38
+ * // a.b.app.com → "a.b"
39
+ * // app.com → ""
40
+ * ```
41
+ */
42
+ export declare const subdomain: <This extends object>(_target: ClassAccessorDecoratorTarget<This, string>, _context: ClassAccessorDecoratorContext<This, string>) => ClassAccessorDecoratorResult<This, string>;
43
+ type DomainMode = "full";
44
+ type DomainDecorator = <This extends object>(target: ClassAccessorDecoratorTarget<This, string>, context: ClassAccessorDecoratorContext<This, string>) => ClassAccessorDecoratorResult<This, string>;
45
+ /**
46
+ * Auto-accessor initialised to the domain label of `window.location.hostname`.
47
+ *
48
+ * Bare form — returns just the domain label:
49
+ * ```ts
50
+ * @domain accessor host = "";
51
+ * // tenant.app.com → "app"
52
+ * // app.com → "app"
53
+ * // localhost → "localhost"
54
+ * ```
55
+ *
56
+ * Factory form `"full"` — returns `domain.tld`:
57
+ * ```ts
58
+ * @domain("full") accessor host = "";
59
+ * // tenant.app.com → "app.com"
60
+ * // a.b.app.co.uk → "app.co.uk"
61
+ * // localhost → "localhost" (no TLD → just the label)
62
+ * ```
63
+ */
64
+ export declare function domain(mode: DomainMode): DomainDecorator;
65
+ export declare function domain<This extends object>(target: ClassAccessorDecoratorTarget<This, string>, context: ClassAccessorDecoratorContext<This, string>): ClassAccessorDecoratorResult<This, string>;
66
+ /**
67
+ * Auto-accessor initialised to the TLD (last hostname label(s)).
68
+ *
69
+ * ```ts
70
+ * @tld accessor ext = "";
71
+ * // tenant.app.com → "com"
72
+ * // app.co.uk → "co.uk"
73
+ * // localhost → ""
74
+ * ```
75
+ */
76
+ export declare const tld: <This extends object>(_target: ClassAccessorDecoratorTarget<This, string>, _context: ClassAccessorDecoratorContext<This, string>) => ClassAccessorDecoratorResult<This, string>;
77
+ export {};
78
+ //# sourceMappingURL=url.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"url.d.ts","sourceRoot":"","sources":["../../src/router/url.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AA0CH,UAAU,cAAc;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAK,MAAM,CAAC;IAClB,GAAG,EAAQ,MAAM,CAAC;CACnB;AAED,+CAA+C;AAC/C,wBAAgB,aAAa,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,cAAc,CAsB/D;AAUD,qEAAqE;AACrE,wBAAgB,WAAW,IAAI,IAAI,CAAoB;AAkCvD;;;;;;;;;GASG;AACH,eAAO,MAAM,SAAS,GA5BH,IAAI,SAAS,MAAM,WACzB,4BAA4B,CAAC,IAAI,EAAE,MAAM,CAAC,YACzC,6BAA6B,CAAC,IAAI,EAAE,MAAM,CAAC,KACpD,4BAA4B,CAAC,IAAI,EAAE,MAAM,CAyBD,CAAC;AAI9C,KAAK,UAAU,GAAG,MAAM,CAAC;AAEzB,KAAK,eAAe,GAAG,CAAC,IAAI,SAAS,MAAM,EACzC,MAAM,EAAE,4BAA4B,CAAC,IAAI,EAAE,MAAM,CAAC,EAClD,OAAO,EAAE,6BAA6B,CAAC,IAAI,EAAE,MAAM,CAAC,KACjD,4BAA4B,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAsBhD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,MAAM,CAAC,IAAI,EAAE,UAAU,GAAG,eAAe,CAAC;AAC1D,wBAAgB,MAAM,CAAC,IAAI,SAAS,MAAM,EACxC,MAAM,EAAE,4BAA4B,CAAC,IAAI,EAAE,MAAM,CAAC,EAClD,OAAO,EAAE,6BAA6B,CAAC,IAAI,EAAE,MAAM,CAAC,GACnD,4BAA4B,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAa9C;;;;;;;;;GASG;AACH,eAAO,MAAM,GAAG,GAzGG,IAAI,SAAS,MAAM,WACzB,4BAA4B,CAAC,IAAI,EAAE,MAAM,CAAC,YACzC,6BAA6B,CAAC,IAAI,EAAE,MAAM,CAAC,KACpD,4BAA4B,CAAC,IAAI,EAAE,MAAM,CAsGb,CAAC"}
@@ -0,0 +1,160 @@
1
+ /**
2
+ * Loom Router — URL part decorators (TC39 Stage 3)
3
+ *
4
+ * @subdomain — auto-accessor initialised to the subdomain of the current hostname
5
+ * @domain — auto-accessor initialised to the domain label
6
+ * @tld — auto-accessor initialised to the effective TLD (handles .co.uk etc.)
7
+ *
8
+ * These are "set-and-forget" decorators: the value is derived once at
9
+ * construction time from `window.location.hostname` and never changes.
10
+ * No reactive backing, no connect hooks — just override `init()`.
11
+ *
12
+ * ```ts
13
+ * @subdomain accessor tenant = ""; // "tenant.app.co.uk" → "tenant"
14
+ * @domain accessor host = ""; // "tenant.app.co.uk" → "app"
15
+ * @tld accessor ext = ""; // "tenant.app.co.uk" → "co.uk"
16
+ * ```
17
+ *
18
+ * Optimisations:
19
+ * - TWO_PART_TLDS is lazy-initialised (no alloc if decorators are unused)
20
+ * - Parsed hostname is cached globally (hostname never changes in a SPA)
21
+ * - Per-instance overrides share a single WeakMap across all URL decorators
22
+ */
23
+ // ── Known 2-part TLDs (lazy) ──────────────────────────────────────────────────
24
+ // Covers the most common compound TLDs without shipping the full PSL (~100 kb).
25
+ // Source: IANA + real-world frequency. Add entries as needed.
26
+ let _tlds = null;
27
+ function getTlds() {
28
+ return _tlds ??= new Set([
29
+ // UK
30
+ "co.uk", "org.uk", "me.uk", "net.uk", "ltd.uk", "plc.uk", "gov.uk", "sch.uk", "ac.uk", "mod.uk",
31
+ // Australia
32
+ "com.au", "net.au", "org.au", "edu.au", "gov.au", "id.au", "asn.au",
33
+ // New Zealand
34
+ "co.nz", "net.nz", "org.nz", "govt.nz", "school.nz", "ac.nz",
35
+ // Japan
36
+ "co.jp", "ne.jp", "or.jp", "ed.jp", "ac.jp", "go.jp", "ad.jp",
37
+ // Brazil
38
+ "com.br", "net.br", "org.br", "gov.br", "edu.br", "ind.br",
39
+ // India
40
+ "co.in", "net.in", "org.in", "gen.in", "firm.in", "gov.in",
41
+ // South Africa
42
+ "co.za", "net.za", "org.za", "gov.za", "edu.za",
43
+ // South Korea
44
+ "co.kr", "or.kr", "go.kr", "ne.kr", "ac.kr",
45
+ // China
46
+ "com.cn", "net.cn", "org.cn", "gov.cn", "edu.cn", "ac.cn",
47
+ // Hong Kong
48
+ "com.hk", "net.hk", "org.hk", "edu.hk", "gov.hk",
49
+ // Singapore
50
+ "com.sg", "net.sg", "org.sg", "edu.sg", "gov.sg",
51
+ // Malaysia
52
+ "com.my", "net.my", "org.my", "edu.my", "gov.my",
53
+ // Others
54
+ "co.id", "co.th", "com.ph", "com.ar", "net.ar", "com.mx", "com.co",
55
+ "co.ie", "com.cy", "com.pk", "net.pk", "com.sg", "co.tt", "co.ke",
56
+ "com.ng", "com.eg", "com.tr", "com.tw", "com.vn", "com.ua",
57
+ ]);
58
+ }
59
+ /** @internal — exported for unit tests only */
60
+ export function parseHostname(hostname) {
61
+ const host = hostname ?? (typeof window !== "undefined" ? window.location.hostname : "");
62
+ const parts = host.split(".");
63
+ if (parts.length === 1) {
64
+ return { subdomain: "", domain: parts[0], tld: "" };
65
+ }
66
+ if (parts.length === 2) {
67
+ return { subdomain: "", domain: parts[0], tld: parts[1] };
68
+ }
69
+ // Check if the last two labels form a known compound TLD (e.g. "co.uk")
70
+ const lastTwo = `${parts[parts.length - 2]}.${parts[parts.length - 1]}`;
71
+ const tldLen = getTlds().has(lastTwo) ? 2 : 1;
72
+ return {
73
+ tld: parts.slice(-tldLen).join("."),
74
+ domain: parts[parts.length - tldLen - 1],
75
+ subdomain: parts.slice(0, -tldLen - 1).join("."),
76
+ };
77
+ }
78
+ // ── Cached parse result ──────────────────────────────────────────────────────
79
+ // Hostname never changes in a SPA — parse once for the entire app lifetime.
80
+ let _cached = null;
81
+ function getCached() {
82
+ return _cached ??= parseHostname();
83
+ }
84
+ /** @internal — exported so tests can reset the cache between runs */
85
+ export function _resetCache() { _cached = null; }
86
+ // ── Shared per-instance override storage ─────────────────────────────────────
87
+ // A single WeakMap for all URL decorators. Each instance maps to an object
88
+ // with optional per-field overrides set via the setter.
89
+ const overrides = new WeakMap();
90
+ function getOverrides(instance) {
91
+ let o = overrides.get(instance);
92
+ if (!o) {
93
+ o = {};
94
+ overrides.set(instance, o);
95
+ }
96
+ return o;
97
+ }
98
+ // ── Factory ──────────────────────────────────────────────────────────────────
99
+ function urlPart(part) {
100
+ return function (_target, _context) {
101
+ return {
102
+ get() {
103
+ const o = overrides.get(this);
104
+ return o?.[part] ?? getCached()[part];
105
+ },
106
+ set(value) {
107
+ getOverrides(this)[part] = value;
108
+ },
109
+ };
110
+ };
111
+ }
112
+ // ── Public decorators ─────────────────────────────────────────────────────────
113
+ /**
114
+ * Auto-accessor initialised to the subdomain of `window.location.hostname`.
115
+ *
116
+ * ```ts
117
+ * @subdomain accessor tenant = "";
118
+ * // tenant.app.com → "tenant"
119
+ * // a.b.app.com → "a.b"
120
+ * // app.com → ""
121
+ * ```
122
+ */
123
+ export const subdomain = urlPart("subdomain");
124
+ function makeDomainDecorator(full) {
125
+ return function (_target, _context) {
126
+ const overrideKey = full ? "domainFull" : "domain";
127
+ return {
128
+ get() {
129
+ const o = overrides.get(this);
130
+ if (o?.[overrideKey] !== undefined)
131
+ return o[overrideKey];
132
+ const { domain: d, tld: t } = getCached();
133
+ return full && t ? `${d}.${t}` : d;
134
+ },
135
+ set(value) {
136
+ getOverrides(this)[overrideKey] = value;
137
+ },
138
+ };
139
+ };
140
+ }
141
+ export function domain(targetOrMode, context) {
142
+ if (typeof targetOrMode === "string") {
143
+ // @domain("full") — factory form
144
+ return makeDomainDecorator(true);
145
+ }
146
+ // bare @domain
147
+ return makeDomainDecorator(false)(targetOrMode, context);
148
+ }
149
+ /**
150
+ * Auto-accessor initialised to the TLD (last hostname label(s)).
151
+ *
152
+ * ```ts
153
+ * @tld accessor ext = "";
154
+ * // tenant.app.com → "com"
155
+ * // app.co.uk → "co.uk"
156
+ * // localhost → ""
157
+ * ```
158
+ */
159
+ export const tld = urlPart("tld");
160
+ //# sourceMappingURL=url.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"url.js","sourceRoot":"","sources":["../../src/router/url.ts"],"names":[],"mappings":"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"}
@@ -5,8 +5,9 @@
5
5
  * @prop — External attribute with optional route binding (auto-accessor)
6
6
  * @computed — Cached derived getter
7
7
  * @store — Component-scoped reactive store (auto-accessor)
8
+ * @persist — Single-value persistent accessor (auto-accessor)
8
9
  */
9
- import type { PersistOptions } from "./storage";
10
+ import type { PersistOptions, StorageAdapter } from "./storage";
10
11
  /**
11
12
  * Staging area for @prop registrations.
12
13
  * TC39 member decorators evaluate before class decorators,
@@ -86,5 +87,32 @@ export declare function computed<This extends object, V>(target: (this: This) =>
86
87
  */
87
88
  export declare function store<This extends object, T extends object>(target: ClassAccessorDecoratorTarget<This, T>, context: ClassAccessorDecoratorContext<This, T>): ClassAccessorDecoratorResult<This, T>;
88
89
  export declare function store<T extends object>(defaults: T, persist?: PersistOptions): <This extends object>(target: ClassAccessorDecoratorTarget<This, T>, context: ClassAccessorDecoratorContext<This, T>) => ClassAccessorDecoratorResult<This, T>;
90
+ interface PersistDecoratorOpts {
91
+ key?: string;
92
+ storage?: StorageAdapter;
93
+ }
94
+ /**
95
+ * Single-value persistent auto-accessor.
96
+ *
97
+ * Backed by `Reactive<T>` with `PersistOptions` — same hydration,
98
+ * JSON round-trip, and debounced write-through as `@store`.
99
+ *
100
+ * ```ts
101
+ * // localStorage key = "theme"
102
+ * @persist accessor theme = "dark";
103
+ *
104
+ * // Explicit key
105
+ * @persist("user-theme") accessor theme = "dark";
106
+ *
107
+ * // Custom adapter
108
+ * @persist({ storage: new SessionAdapter() }) accessor theme = "dark";
109
+ *
110
+ * // Custom key + adapter
111
+ * @persist({ key: "user-theme", storage: new SessionAdapter() }) accessor theme = "dark";
112
+ * ```
113
+ */
114
+ export declare function persist<This extends object, V>(target: ClassAccessorDecoratorTarget<This, V>, context: ClassAccessorDecoratorContext<This, V>): ClassAccessorDecoratorResult<This, V>;
115
+ export declare function persist(key: string): <This extends object, V>(target: ClassAccessorDecoratorTarget<This, V>, context: ClassAccessorDecoratorContext<This, V>) => ClassAccessorDecoratorResult<This, V>;
116
+ export declare function persist(opts: PersistDecoratorOpts): <This extends object, V>(target: ClassAccessorDecoratorTarget<This, V>, context: ClassAccessorDecoratorContext<This, V>) => ClassAccessorDecoratorResult<This, V>;
89
117
  export {};
90
118
  //# sourceMappingURL=decorators.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../../src/store/decorators.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAGhD;;;;GAIG;AACH,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,CAAM,CAAC;AAIvD,qFAAqF;AACrF,eAAO,MAAM,MAAM,eAAiC,CAAC;AAErD,oFAAoF;AACpF,eAAO,MAAM,UAAU,eAAgC,CAAC;AAExD,8GAA8G;AAC9G,eAAO,MAAM,SAAS,eAA+B,CAAC;AAEtD;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CAAC,IAAI,SAAS,MAAM,EAAE,CAAC,EAC7C,MAAM,EAAE,4BAA4B,CAAC,IAAI,EAAE,CAAC,CAAC,EAC7C,OAAO,EAAE,6BAA6B,CAAC,IAAI,EAAE,CAAC,CAAC,GAC9C,4BAA4B,CAAC,IAAI,EAAE,CAAC,CAAC,CAuDvC;AAYD,KAAK,aAAa,GAAG;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACxB,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,IAAI,CAAC,IAAI,SAAS,MAAM,EAAE,CAAC,EACzC,MAAM,EAAE,4BAA4B,CAAC,IAAI,EAAE,CAAC,CAAC,EAC7C,OAAO,EAAE,6BAA6B,CAAC,IAAI,EAAE,CAAC,CAAC,GAC9C,4BAA4B,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AACzC,wBAAgB,IAAI,CAAC,IAAI,EAAE,aAAa,GAAG,CAAC,IAAI,SAAS,MAAM,EAAE,CAAC,EAChE,MAAM,EAAE,4BAA4B,CAAC,IAAI,EAAE,CAAC,CAAC,EAC7C,OAAO,EAAE,6BAA6B,CAAC,IAAI,EAAE,CAAC,CAAC,KAC5C,4BAA4B,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AAiD3C;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CAAC,IAAI,SAAS,MAAM,EAAE,CAAC,EAC7C,MAAM,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,CAAC,EACzB,OAAO,EAAE,2BAA2B,CAAC,IAAI,EAAE,CAAC,CAAC,GAC5C,CAAC,IAAI,EAAE,IAAI,KAAK,CAAC,CAqBnB;AAmKD;;;;;;;;;;;;;;;;;;;;;GAqBG;AAGH,wBAAgB,KAAK,CAAC,IAAI,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,EACzD,MAAM,EAAE,4BAA4B,CAAC,IAAI,EAAE,CAAC,CAAC,EAC7C,OAAO,EAAE,6BAA6B,CAAC,IAAI,EAAE,CAAC,CAAC,GAC9C,4BAA4B,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AAGzC,wBAAgB,KAAK,CAAC,CAAC,SAAS,MAAM,EACpC,QAAQ,EAAE,CAAC,EACX,OAAO,CAAC,EAAE,cAAc,GACvB,CAAC,IAAI,SAAS,MAAM,EACrB,MAAM,EAAE,4BAA4B,CAAC,IAAI,EAAE,CAAC,CAAC,EAC7C,OAAO,EAAE,6BAA6B,CAAC,IAAI,EAAE,CAAC,CAAC,KAC5C,4BAA4B,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../../src/store/decorators.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAIhE;;;;GAIG;AACH,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,CAAM,CAAC;AAIvD,qFAAqF;AACrF,eAAO,MAAM,MAAM,eAAiC,CAAC;AAErD,oFAAoF;AACpF,eAAO,MAAM,UAAU,eAAgC,CAAC;AAExD,8GAA8G;AAC9G,eAAO,MAAM,SAAS,eAA+B,CAAC;AAEtD;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CAAC,IAAI,SAAS,MAAM,EAAE,CAAC,EAC7C,MAAM,EAAE,4BAA4B,CAAC,IAAI,EAAE,CAAC,CAAC,EAC7C,OAAO,EAAE,6BAA6B,CAAC,IAAI,EAAE,CAAC,CAAC,GAC9C,4BAA4B,CAAC,IAAI,EAAE,CAAC,CAAC,CAuDvC;AAYD,KAAK,aAAa,GAAG;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACxB,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,IAAI,CAAC,IAAI,SAAS,MAAM,EAAE,CAAC,EACzC,MAAM,EAAE,4BAA4B,CAAC,IAAI,EAAE,CAAC,CAAC,EAC7C,OAAO,EAAE,6BAA6B,CAAC,IAAI,EAAE,CAAC,CAAC,GAC9C,4BAA4B,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AACzC,wBAAgB,IAAI,CAAC,IAAI,EAAE,aAAa,GAAG,CAAC,IAAI,SAAS,MAAM,EAAE,CAAC,EAChE,MAAM,EAAE,4BAA4B,CAAC,IAAI,EAAE,CAAC,CAAC,EAC7C,OAAO,EAAE,6BAA6B,CAAC,IAAI,EAAE,CAAC,CAAC,KAC5C,4BAA4B,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AAiD3C;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CAAC,IAAI,SAAS,MAAM,EAAE,CAAC,EAC7C,MAAM,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,CAAC,EACzB,OAAO,EAAE,2BAA2B,CAAC,IAAI,EAAE,CAAC,CAAC,GAC5C,CAAC,IAAI,EAAE,IAAI,KAAK,CAAC,CAqBnB;AAmKD;;;;;;;;;;;;;;;;;;;;;GAqBG;AAGH,wBAAgB,KAAK,CAAC,IAAI,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,EACzD,MAAM,EAAE,4BAA4B,CAAC,IAAI,EAAE,CAAC,CAAC,EAC7C,OAAO,EAAE,6BAA6B,CAAC,IAAI,EAAE,CAAC,CAAC,GAC9C,4BAA4B,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AAGzC,wBAAgB,KAAK,CAAC,CAAC,SAAS,MAAM,EACpC,QAAQ,EAAE,CAAC,EACX,OAAO,CAAC,EAAE,cAAc,GACvB,CAAC,IAAI,SAAS,MAAM,EACrB,MAAM,EAAE,4BAA4B,CAAC,IAAI,EAAE,CAAC,CAAC,EAC7C,OAAO,EAAE,6BAA6B,CAAC,IAAI,EAAE,CAAC,CAAC,KAC5C,4BAA4B,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AAuI3C,UAAU,oBAAoB;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,cAAc,CAAC;CAC1B;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AAGH,wBAAgB,OAAO,CAAC,IAAI,SAAS,MAAM,EAAE,CAAC,EAC5C,MAAM,EAAE,4BAA4B,CAAC,IAAI,EAAE,CAAC,CAAC,EAC7C,OAAO,EAAE,6BAA6B,CAAC,IAAI,EAAE,CAAC,CAAC,GAC9C,4BAA4B,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AAGzC,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,IAAI,SAAS,MAAM,EAAE,CAAC,EAC3D,MAAM,EAAE,4BAA4B,CAAC,IAAI,EAAE,CAAC,CAAC,EAC7C,OAAO,EAAE,6BAA6B,CAAC,IAAI,EAAE,CAAC,CAAC,KAC5C,4BAA4B,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AAG3C,wBAAgB,OAAO,CAAC,IAAI,EAAE,oBAAoB,GAAG,CAAC,IAAI,SAAS,MAAM,EAAE,CAAC,EAC1E,MAAM,EAAE,4BAA4B,CAAC,IAAI,EAAE,CAAC,CAAC,EAC7C,OAAO,EAAE,6BAA6B,CAAC,IAAI,EAAE,CAAC,CAAC,KAC5C,4BAA4B,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC"}
@@ -5,10 +5,12 @@
5
5
  * @prop — External attribute with optional route binding (auto-accessor)
6
6
  * @computed — Cached derived getter
7
7
  * @store — Component-scoped reactive store (auto-accessor)
8
+ * @persist — Single-value persistent accessor (auto-accessor)
8
9
  */
9
10
  import { REACTIVES, WATCHERS, EMITTERS, COMPUTED_DIRTY, ROUTE_PROPS, localSymbol } from "../decorators/symbols";
10
11
  import { Reactive } from "./reactive";
11
12
  import { bus } from "../bus";
13
+ import { LocalAdapter } from "./storage";
12
14
  /**
13
15
  * Staging area for @prop registrations.
14
16
  * TC39 member decorators evaluate before class decorators,
@@ -394,4 +396,79 @@ export function store(targetOrDefaults, contextOrPersist) {
394
396
  return buildStoreAccessor(defaults, persist, key);
395
397
  };
396
398
  }
399
+ // ── @persist decorator ──
400
+ /** Lazy singleton — only allocated when @persist is actually used */
401
+ let _defaultStorage = null;
402
+ function getDefaultStorage() {
403
+ return _defaultStorage ??= new LocalAdapter();
404
+ }
405
+ export function persist(targetOrKeyOrOpts, context) {
406
+ // Bare @persist — context is present
407
+ if (context) {
408
+ return buildPersistAccessor(String(context.name), getDefaultStorage(), context);
409
+ }
410
+ // @persist("key") — string
411
+ if (typeof targetOrKeyOrOpts === "string") {
412
+ const explicitKey = targetOrKeyOrOpts;
413
+ return (_target, ctx) => {
414
+ return buildPersistAccessor(explicitKey, getDefaultStorage(), ctx);
415
+ };
416
+ }
417
+ // @persist({ key?, storage? }) — options object
418
+ const opts = targetOrKeyOrOpts;
419
+ return (_target, ctx) => {
420
+ const storageKey = opts.key ?? String(ctx.name);
421
+ const adapter = opts.storage ?? getDefaultStorage();
422
+ return buildPersistAccessor(storageKey, adapter, ctx);
423
+ };
424
+ }
425
+ /** @internal — builds the accessor descriptor for @persist */
426
+ function buildPersistAccessor(storageKey, adapter, context) {
427
+ const fieldName = String(context.name);
428
+ const sym = localSymbol(`persist:${fieldName}`);
429
+ const persistOpts = { key: storageKey, storage: adapter };
430
+ return {
431
+ get() {
432
+ const self = this;
433
+ if (!self[sym.key]) {
434
+ // First access — create Reactive with persistence.
435
+ // If storage has a value, Reactive hydrates from it; otherwise uses init.
436
+ const initial = self[`__persist_init_${fieldName}`];
437
+ const r = new Reactive(initial, persistOpts);
438
+ self[sym.key] = r;
439
+ r.subscribe(() => self.scheduleUpdate?.());
440
+ // Wire @watch handlers
441
+ const watchers = WATCHERS.from(self);
442
+ if (watchers) {
443
+ for (let i = 0; i < watchers.length; i++) {
444
+ const w = watchers[i];
445
+ if (w.field === fieldName)
446
+ r.subscribe((v, prev) => self[w.key](v, prev));
447
+ }
448
+ }
449
+ // Wire @emit handlers
450
+ const emitters = EMITTERS.from(self);
451
+ if (emitters) {
452
+ for (let i = 0; i < emitters.length; i++) {
453
+ const e = emitters[i];
454
+ if (e.field === fieldName)
455
+ r.subscribe((v) => bus.emit(e.factory(v)));
456
+ }
457
+ }
458
+ }
459
+ return self[sym.key].value;
460
+ },
461
+ set(val) {
462
+ const self = this;
463
+ if (!self[sym.key])
464
+ void self[fieldName];
465
+ self[sym.key].set(val);
466
+ },
467
+ init(val) {
468
+ // Stash the init value so the getter can use it as fallback
469
+ this[`__persist_init_${fieldName}`] = val;
470
+ return val;
471
+ },
472
+ };
473
+ }
397
474
  //# sourceMappingURL=decorators.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/store/decorators.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,SAAS,EAAS,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,WAAW,EAAc,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACnI,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAI7B;;;;GAIG;AACH,MAAM,CAAC,MAAM,YAAY,GAA2B,EAAE,CAAC;AAEvD,wBAAwB;AAExB,qFAAqF;AACrF,MAAM,CAAC,MAAM,MAAM,GAAG,MAAM,CAAC,sBAAsB,CAAC,CAAC;AAErD,oFAAoF;AACpF,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC;AAExD,8GAA8G;AAC9G,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAC;AAEtD;;;;;;;GAOG;AACH,MAAM,UAAU,QAAQ,CACtB,MAA6C,EAC7C,OAA+C;IAE/C,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,MAAM,OAAO,GAAG,WAAW,CAAc,YAAY,GAAG,EAAE,CAAC,CAAC;IAE5D,iDAAiD;IACjD,OAAO,CAAC,cAAc,CAAC;QACrB,MAAM,IAAI,GAAG,IAAK,CAAC,WAAqB,CAAC;QACzC,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAyB,CAAC;QAC9D,IAAI,CAAC,QAAQ;YAAE,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;aACrC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,OAAO;QACL,GAAG;YACD,MAAM,IAAI,GAAG,IAAoE,CAAC;YAClF,kEAAkE;YAClE,8DAA8D;YAC9D,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;gBACvB,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAM,CAAC;gBAChD,MAAM,CAAC,GAAG,IAAI,QAAQ,CAAC,YAAY,CAAC,CAAC;gBACrC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACtB,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,CAAE,IAA+B,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;gBAEvE,6DAA6D;gBAC7D,0DAA0D;gBAC1D,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAsD,CAAC;gBAC1F,IAAI,QAAQ,EAAE,CAAC;oBACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;wBACzC,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;wBACtB,IAAI,CAAC,CAAC,KAAK,KAAK,GAAG;4BAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAI,EAAE,IAAO,EAAE,EAAE,CAAE,IAAI,CAAC,CAAC,CAAC,GAAG,CAAc,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;oBAC1F,CAAC;gBACH,CAAC;gBAED,sBAAsB;gBACtB,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAoE,CAAC;gBACxG,IAAI,QAAQ,EAAE,CAAC;oBACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;wBACzC,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;wBACtB,IAAI,CAAC,CAAC,KAAK,KAAK,GAAG;4BAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAI,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAiC,CAAC,CAAC,CAAC;oBACrG,CAAC;gBACH,CAAC;YACH,CAAC;YACD,OAAQ,IAAI,CAAC,OAAO,CAAC,GAAG,CAAiB,CAAC,KAAK,CAAC;QAClD,CAAC;QACD,GAAG,CAAa,GAAM;YACpB,MAAM,IAAI,GAAG,IAAoE,CAAC;YAClF,uDAAuD;YACvD,0DAA0D;YAC1D,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;gBAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YACxC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC9C,CAAC;QACD,IAAI,CAAa,IAAO;YACtB,OAAO,IAAI,CAAC;QACd,CAAC;KACF,CAAC;AACJ,CAAC;AA0CD,MAAM,UAAU,IAAI,CAClB,YAAmE,EACnE,OAAgD;IAKhD,wDAAwD;IACxD,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACjC,MAAM,MAAM,GAAG,QAAQ,CAAC,YAAqD,EAAE,OAAO,CAAC,CAAC;QAExF,yDAAyD;QACzD,YAAY,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;QAE3B,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,qDAAqD;IACrD,MAAM,IAAI,GAAG,YAA6B,CAAC;IAC3C,OAAO,CACL,MAA4C,EAC5C,GAA0C,EACJ,EAAE;QACxC,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACjC,MAAM,MAAM,GAAG,QAAQ,CACrB,MAAyD,EACzD,GAAG,CACJ,CAAC;QAEF,+BAA+B;QAC/B,GAAG,CAAC,cAAc,CAAC;YACjB,MAAM,IAAI,GAAI,IAAyC,CAAC,WAAW,CAAC;YACpE,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAA+B,CAAC;YAEtE,MAAM,OAAO,GAAiB,EAAE,OAAO,EAAE,CAAC;YAC1C,IAAI,IAAI,CAAC,MAAM;gBAAE,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YAC9C,IAAI,IAAI,CAAC,KAAK;gBAAE,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YAC3C,IAAI,IAAI,CAAC,KAAK;gBAAE,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YAC3C,IAAI,IAAI,CAAC,IAAI;gBAAE,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YACxC,IAAI,CAAC,QAAQ;gBAAE,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;;gBAC3C,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,QAAQ,CACtB,MAAyB,EACzB,OAA6C;IAE7C,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,MAAM,KAAK,GAAG,WAAW,CAAI,YAAY,GAAG,EAAE,CAAC,CAAC;IAChD,MAAM,KAAK,GAAG,WAAW,CAAU,kBAAkB,GAAG,EAAE,CAAC,CAAC;IAE5D,kDAAkD;IAClD,OAAO,CAAC,cAAc,CAAC;QACrB,MAAM,KAAK,GAAG,CAAE,IAAwD,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC;QAChG,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC,KAAK,CAAyB,CAAC;QACpE,IAAI,CAAC,QAAQ;YAAE,cAAc,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;aACjD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC;YAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;IAEH,OAAO;QACL,MAAM,IAAI,GAAG,IAA8C,CAAC;QAC5D,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,KAAK,EAAE,CAAC;YAC9B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QAC1B,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAM,CAAC;IAC9B,CAAC,CAAC;AACJ,CAAC;AAED,yBAAyB;AAEzB;;;GAGG;AACH,SAAS,eAAe,CACtB,GAAM,EACN,QAAqB,EACrB,cAA2B;IAE3B,MAAM,UAAU,GAAG,IAAI,OAAO,EAAmB,CAAC;IAElD,SAAS,IAAI,CAAC,MAAe;QAC3B,IAAI,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ;YAAE,OAAO,MAAM,CAAC;QACjE,IAAI,UAAU,CAAC,GAAG,CAAC,MAAgB,CAAC;YAAE,OAAO,UAAU,CAAC,GAAG,CAAC,MAAgB,CAAC,CAAC;QAE9E,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,MAAgB,EAAE;YACxC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,QAAQ;gBAChB,gDAAgD;gBAChD,IAAI,OAAO,CAAC,KAAK,QAAQ;oBAAE,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;gBAC9D,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;gBAC1C,8EAA8E;gBAC9E,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;oBAChD,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC;gBACrB,CAAC;gBACD,OAAO,KAAK,CAAC;YACf,CAAC;YACD,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ;gBACvB,cAAc,EAAE,EAAE,CAAC;gBACnB,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;gBAClD,QAAQ,CAAC,MAAM,EAAE,CAAC;gBAClB,OAAO,MAAM,CAAC;YAChB,CAAC;YACD,cAAc,CAAC,CAAC,EAAE,CAAC;gBACjB,cAAc,EAAE,EAAE,CAAC;gBACnB,MAAM,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC5C,QAAQ,CAAC,MAAM,EAAE,CAAC;gBAClB,OAAO,MAAM,CAAC;YAChB,CAAC;SACF,CAAC,CAAC;QAEH,UAAU,CAAC,GAAG,CAAC,MAAgB,EAAE,KAAK,CAAC,CAAC;QACxC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,IAAI,CAAC,GAAG,CAAM,CAAC;AACxB,CAAC;AAED;;GAEG;AACH,SAAS,kBAAkB,CACzB,QAAW,EACX,OAAmC,EACnC,GAAW;IAEX,MAAM,SAAS,GAAG,WAAW,CAAc,SAAS,GAAG,EAAE,CAAC,CAAC;IAC3D,MAAM,MAAM,GAAG,WAAW,CAAI,eAAe,GAAG,EAAE,CAAC,CAAC;IACpD,MAAM,SAAS,GAAG,WAAW,CAAI,kBAAkB,GAAG,EAAE,CAAC,CAAC;IAC1D,MAAM,KAAK,GAAG,WAAW,CAAI,cAAc,GAAG,EAAE,CAAC,CAAC;IAElD,SAAS,SAAS,CAAC,IAAsC,EAAE,YAAe;QACxE,MAAM,CAAC,GAAG,IAAI,QAAQ,CAAI,YAAY,EAAE,OAAO,CAAC,CAAC;QACjD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACxB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC;QAC/B,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,CAAE,IAA+B,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;QAEvE,mDAAmD;QACnD,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAsD,CAAC;QAC1F,IAAI,QAAQ,EAAE,CAAC;YACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACzC,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACtB,IAAI,CAAC,CAAC,KAAK,KAAK,GAAG,EAAE,CAAC;oBACpB,CAAC,CAAC,SAAS,CAAC,CAAC,CAAI,EAAE,IAAO,EAAE,EAAE;wBAC5B,kDAAkD;wBAClD,MAAM,UAAU,GAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAmB,IAAI,IAAI,CAAC;wBAC7D,IAAI,CAAC,CAAC,CAAC,GAAG,CAAc,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;wBACzC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;oBAC9B,CAAC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAED,sBAAsB;QACtB,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAoE,CAAC;QACxG,IAAI,QAAQ,EAAE,CAAC;YACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACzC,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACtB,IAAI,CAAC,CAAC,KAAK,KAAK,GAAG;oBAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAI,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAiC,CAAC,CAAC,CAAC;YACrG,CAAC;QACH,CAAC;QAED,sEAAsE;QACtE,gEAAgE;QAChE,MAAM,WAAW,GAAG,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,GAAG,CAAC,IAAI,KAAK,CAAC;QAClE,MAAM,cAAc,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,EAAE;YACxC,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;gBAClC,IAAI,CAAC;oBACH,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC9C,CAAC;gBAAC,MAAM,CAAC;oBACP,oCAAoC;oBACpC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC7B,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAEd,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,cAAc,CAAC,CAAC;QAE/D,uCAAuC;QACvC,MAAM,SAAS,GAAG,UAAU,GAAG,EAAE,CAAC;QACjC,IAAgC,CAAC,SAAS,CAAC,GAAG,GAAG,EAAE;YAClD,MAAM,KAAK,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;YACvC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAChD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,eAAe,CAC/B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAiB,CAAC,KAAK,EAC1C,IAAI,CAAC,SAAS,CAAC,GAAG,CAAgB,EAClC,cAAc,CACf,CAAC;QACJ,CAAC,CAAC;IACJ,CAAC;IAED,OAAO;QACL,GAAG;YACD,MAAM,IAAI,GAAG,IAAmD,CAAC;YACjE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;gBACzB,MAAM,OAAO,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;gBAC1C,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC3B,CAAC;YACD,oEAAoE;YACnE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAiB,CAAC,KAAK,CAAC;YAC3C,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAM,CAAC;QAC/B,CAAC;QACD,GAAG,CAAa,GAAM;YACpB,MAAM,IAAI,GAAG,IAAmD,CAAC;YACjE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;gBACzB,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YACvB,CAAC;iBAAM,CAAC;gBACL,IAAI,CAAC,SAAS,CAAC,GAAG,CAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAE9C,sCAAsC;gBACtC,MAAM,cAAc,GAAG,GAAG,EAAE;oBAC1B,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;wBAClC,IAAI,CAAC;4BACH,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,eAAe,CAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAiB,CAAC,IAAI,EAAE,CAAC,CAAC;wBACjF,CAAC;wBAAC,MAAM,CAAC;4BACP,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAiB,CAAC,IAAI,EAAE,CAAC;wBAChE,CAAC;oBACH,CAAC;gBACH,CAAC,CAAC;gBAEF,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,eAAe,CAC/B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAiB,CAAC,KAAK,EAC1C,IAAI,CAAC,SAAS,CAAC,GAAG,CAAgB,EAClC,cAAc,CACf,CAAC;YACJ,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC;AAwCD,MAAM,UAAU,KAAK,CACnB,gBAA2D,EAC3D,gBAA0E;IAM1E,mCAAmC;IACnC,IAAI,gBAAgB,IAAI,OAAQ,gBAA2D,CAAC,IAAI,KAAK,WAAW;WAC3G,OAAQ,gBAA2D,CAAC,cAAc,KAAK,UAAU,EAAE,CAAC;QACvG,MAAM,OAAO,GAAG,gBAA0D,CAAC;QAC3E,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAEjC,qEAAqE;QACrE,+CAA+C;QAC/C,MAAM,SAAS,GAAG,WAAW,CAAc,SAAS,GAAG,EAAE,CAAC,CAAC;QAC3D,MAAM,MAAM,GAAG,WAAW,CAAI,eAAe,GAAG,EAAE,CAAC,CAAC;QACpD,MAAM,SAAS,GAAG,WAAW,CAAI,kBAAkB,GAAG,EAAE,CAAC,CAAC;QAC1D,MAAM,KAAK,GAAG,WAAW,CAAI,cAAc,GAAG,EAAE,CAAC,CAAC;QAElD,uEAAuE;QACvE,8DAA8D;QAC9D,OAAO;YACL,IAAI,CAAa,KAAQ;gBACvB,4CAA4C;gBAC5C,MAAM,IAAI,GAAG,IAAmD,CAAC;gBACjE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;gBAC7C,OAAO,KAAK,CAAC;YACf,CAAC;YACD,GAAG;gBACD,MAAM,IAAI,GAAG,IAAmD,CAAC;gBACjE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;oBACzB,6DAA6D;oBAC7D,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAM,CAAC;oBAC1C,MAAM,OAAO,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;oBAC1C,MAAM,CAAC,GAAG,IAAI,QAAQ,CAAI,OAAO,CAAC,CAAC;oBACnC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBACxB,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,CAAE,IAA+B,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;oBAEvE,cAAc;oBACd,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAsD,CAAC;oBAC1F,IAAI,QAAQ,EAAE,CAAC;wBACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;4BACzC,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;4BACtB,IAAI,CAAC,CAAC,KAAK,KAAK,GAAG,EAAE,CAAC;gCACpB,CAAC,CAAC,SAAS,CAAC,CAAC,CAAI,EAAE,IAAO,EAAE,EAAE;oCAC5B,MAAM,UAAU,GAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAmB,IAAI,IAAI,CAAC;oCAC7D,IAAI,CAAC,CAAC,CAAC,GAAG,CAAc,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;oCACzC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;gCAC9B,CAAC,CAAC,CAAC;4BACL,CAAC;wBACH,CAAC;oBACH,CAAC;oBAED,aAAa;oBACb,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAoE,CAAC;oBACxG,IAAI,QAAQ,EAAE,CAAC;wBACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;4BACzC,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;4BACtB,IAAI,CAAC,CAAC,KAAK,KAAK,GAAG;gCAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAI,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAiC,CAAC,CAAC,CAAC;wBACrG,CAAC;oBACH,CAAC;oBAED,MAAM,WAAW,GAAG,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,GAAG,CAAC,IAAI,KAAK,CAAC;oBAClE,MAAM,cAAc,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,EAAE;wBACxC,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;4BAClC,IAAI,CAAC;gCAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;4BAAC,CAAC;4BACpD,MAAM,CAAC;gCAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;4BAAC,CAAC;wBACvC,CAAC;oBACH,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;oBAEd,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,cAAc,CAAC,CAAC;oBAE/D,gBAAgB;oBACf,IAAgC,CAAC,UAAU,GAAG,EAAE,CAAC,GAAG,GAAG,EAAE;wBACxD,MAAM,KAAK,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;wBACvC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;wBAChD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,eAAe,CAC/B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAiB,CAAC,KAAK,EAC1C,IAAI,CAAC,SAAS,CAAC,GAAG,CAAgB,EAClC,cAAc,CACf,CAAC;oBACJ,CAAC,CAAC;gBACJ,CAAC;gBACA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAiB,CAAC,KAAK,CAAC;gBAC3C,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAM,CAAC;YAC/B,CAAC;YACD,GAAG,CAAa,GAAM;gBACpB,MAAM,IAAI,GAAG,IAAmD,CAAC;gBACjE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;oBACzB,mCAAmC;oBACnC,KAAM,IAAqC,CAAC,GAAG,CAAC,CAAC;gBACnD,CAAC;gBACA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAC9C,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAsD,CAAC;gBAC1F,MAAM,WAAW,GAAG,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,GAAG,CAAC,IAAI,KAAK,CAAC;gBAClE,MAAM,cAAc,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,EAAE;oBACxC,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;wBAClC,IAAI,CAAC;4BAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,eAAe,CAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAiB,CAAC,IAAI,EAAE,CAAC,CAAC;wBAAC,CAAC;wBACvF,MAAM,CAAC;4BAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAiB,CAAC,IAAI,EAAE,CAAC;wBAAC,CAAC;oBAC1E,CAAC;gBACH,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBACd,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,eAAe,CAC/B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAiB,CAAC,KAAK,EAC1C,IAAI,CAAC,SAAS,CAAC,GAAG,CAAgB,EAClC,cAAc,CACf,CAAC;YACJ,CAAC;SACF,CAAC;IACJ,CAAC;IAED,+CAA+C;IAC/C,MAAM,QAAQ,GAAG,gBAAqB,CAAC;IACvC,MAAM,OAAO,GAAG,gBAA8C,CAAC;IAE/D,OAAO,CACL,OAA+C,EAC/C,OAAgD,EACR,EAAE;QAC1C,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACjC,OAAO,kBAAkB,CAAW,QAAQ,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;IAC9D,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/store/decorators.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@ export { Reactive, CollectionStore } from "./reactive";
7
7
  export type { Subscriber, Updater, Identifiable } from "./reactive";
8
8
  export { MemoryStorage, LocalAdapter, SessionAdapter, LocalMedium, SessionMedium } from "./storage";
9
9
  export type { StorageAdapter, StorageMedium, PersistOptions } from "./storage";
10
- export { reactive, prop, computed, params, routeQuery, store } from "./decorators";
10
+ export { reactive, prop, computed, params, routeQuery, store, persist } from "./decorators";
11
11
  export { readonly } from "./readonly";
12
12
  export { watch } from "./watch";
13
13
  export { SignalState, SignalComputed, toSignal, fromSignal, signal } from "./signal";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/store/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AACvD,YAAY,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAGpE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AACpG,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAG/E,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACnF,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGtC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAGhC,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AACrF,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/store/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AACvD,YAAY,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAGpE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AACpG,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAG/E,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5F,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGtC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAGhC,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AACrF,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC"}
@@ -8,7 +8,7 @@ export { Reactive, CollectionStore } from "./reactive";
8
8
  // Storage adapters
9
9
  export { MemoryStorage, LocalAdapter, SessionAdapter, LocalMedium, SessionMedium } from "./storage";
10
10
  // Decorators
11
- export { reactive, prop, computed, params, routeQuery, store } from "./decorators";
11
+ export { reactive, prop, computed, params, routeQuery, store, persist } from "./decorators";
12
12
  export { readonly } from "./readonly";
13
13
  // Watch
14
14
  export { watch } from "./watch";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/store/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,sBAAsB;AACtB,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAGvD,mBAAmB;AACnB,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAGpG,aAAa;AACb,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACnF,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,QAAQ;AACR,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,uBAAuB;AACvB,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/store/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,sBAAsB;AACtB,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAGvD,mBAAmB;AACnB,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAGpG,aAAa;AACb,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5F,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,QAAQ;AACR,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,uBAAuB;AACvB,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@toyz/loom",
3
- "version": "0.19.7",
3
+ "version": "0.19.9",
4
4
  "type": "module",
5
5
  "description": "Decorator-driven web component framework with reactive state, DOM morphing, DI, and JSX",
6
6
  "license": "MIT",