@toyz/loom 0.8.0 → 0.10.0

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.
Files changed (46) hide show
  1. package/dist/app.d.ts +3 -2
  2. package/dist/app.d.ts.map +1 -1
  3. package/dist/app.js +6 -2
  4. package/dist/app.js.map +1 -1
  5. package/dist/element/element.d.ts +3 -0
  6. package/dist/element/element.d.ts.map +1 -1
  7. package/dist/element/element.js +21 -0
  8. package/dist/element/element.js.map +1 -1
  9. package/dist/element/form.d.ts +11 -11
  10. package/dist/element/form.d.ts.map +1 -1
  11. package/dist/element/form.js +41 -32
  12. package/dist/element/form.js.map +1 -1
  13. package/dist/index.d.ts +1 -0
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js +2 -0
  16. package/dist/index.js.map +1 -1
  17. package/dist/jsx-runtime.d.ts.map +1 -1
  18. package/dist/jsx-runtime.js +69 -5
  19. package/dist/jsx-runtime.js.map +1 -1
  20. package/dist/query/decorators.d.ts.map +1 -1
  21. package/dist/query/decorators.js +10 -2
  22. package/dist/query/decorators.js.map +1 -1
  23. package/dist/query/state.d.ts.map +1 -1
  24. package/dist/query/state.js +37 -0
  25. package/dist/query/state.js.map +1 -1
  26. package/dist/query/types.d.ts +22 -3
  27. package/dist/query/types.d.ts.map +1 -1
  28. package/dist/result.d.ts +88 -0
  29. package/dist/result.d.ts.map +1 -0
  30. package/dist/result.js +119 -0
  31. package/dist/result.js.map +1 -0
  32. package/dist/router/router.d.ts.map +1 -1
  33. package/dist/router/router.js +11 -0
  34. package/dist/router/router.js.map +1 -1
  35. package/dist/store/decorators.d.ts.map +1 -1
  36. package/dist/store/decorators.js +18 -28
  37. package/dist/store/decorators.js.map +1 -1
  38. package/dist/store/reactive.d.ts +12 -0
  39. package/dist/store/reactive.d.ts.map +1 -1
  40. package/dist/store/reactive.js +26 -0
  41. package/dist/store/reactive.js.map +1 -1
  42. package/dist/trace.d.ts +93 -0
  43. package/dist/trace.d.ts.map +1 -0
  44. package/dist/trace.js +176 -0
  45. package/dist/trace.js.map +1 -0
  46. package/package.json +1 -1
package/dist/app.d.ts CHANGED
@@ -15,6 +15,7 @@
15
15
  */
16
16
  import { type Constructor, type Handler } from "./bus";
17
17
  import type { LoomEvent } from "./event";
18
+ import { LoomResult } from "./result";
18
19
  declare class LoomApp {
19
20
  private providers;
20
21
  private services;
@@ -50,8 +51,8 @@ declare class LoomApp {
50
51
  register(tag: string, ctor: CustomElementConstructor): void;
51
52
  /** Retrieve a provider/service by key. Throws if missing. */
52
53
  get<T = any>(key: any): T;
53
- /** Retrieve a provider/service, or undefined if not registered. */
54
- maybe<T = any>(key: any): T | undefined;
54
+ /** Retrieve a provider/service returns LoomResult instead of undefined. */
55
+ maybe<T = any>(key: any): LoomResult<T, Error>;
55
56
  /** Resolve @inject parameter metadata for a constructor or method. */
56
57
  private resolveParams;
57
58
  /**
package/dist/app.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,EAAO,KAAK,WAAW,EAAE,KAAK,OAAO,EAAE,MAAM,OAAO,CAAC;AAC5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAQzC,cAAM,OAAO;IACX,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,QAAQ,CAAa;IAC7B,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,UAAU,CAAyD;IAC3E,OAAO,CAAC,QAAQ,CAAS;IAIzB,gEAAgE;IAChE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI;IAE5D,2CAA2C;IAC3C,IAAI,CAAC,CAAC,SAAS,SAAS,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI;IAEzC,uCAAuC;IACvC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI;IAIvD;;;;;;;;;OASG;IACH,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI;IAC5B,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI;IAuBzC,+DAA+D;IAC/D,eAAe,CAAC,IAAI,EAAE,GAAG,GAAG,IAAI;IAIhC,wDAAwD;IACxD,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,QAAQ,CAAA;KAAE,GAAG,IAAI;IAIvE,gEAAgE;IAChE,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,wBAAwB,GAAG,IAAI;IAW3D,6DAA6D;IAC7D,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC;IAQzB,mEAAmE;IACnE,KAAK,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,GAAG,SAAS;IAIvC,sEAAsE;IACtE,OAAO,CAAC,aAAa;IAWrB;;;;;;OAMG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA2C5B,mCAAmC;IACnC,IAAI,IAAI,IAAI;IAKZ,uCAAuC;IACvC,IAAI,OAAO,IAAI,OAAO,CAErB;CACF;AAED,qDAAqD;AACrD,eAAO,MAAM,GAAG,SAAgB,CAAC;AACjC,YAAY,EAAE,OAAO,EAAE,CAAC"}
1
+ {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,EAAO,KAAK,WAAW,EAAE,KAAK,OAAO,EAAE,MAAM,OAAO,CAAC;AAC5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAQtC,cAAM,OAAO;IACX,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,QAAQ,CAAa;IAC7B,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,UAAU,CAAyD;IAC3E,OAAO,CAAC,QAAQ,CAAS;IAIzB,gEAAgE;IAChE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI;IAE5D,2CAA2C;IAC3C,IAAI,CAAC,CAAC,SAAS,SAAS,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI;IAEzC,uCAAuC;IACvC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI;IAIvD;;;;;;;;;OASG;IACH,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI;IAC5B,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI;IAuBzC,+DAA+D;IAC/D,eAAe,CAAC,IAAI,EAAE,GAAG,GAAG,IAAI;IAIhC,wDAAwD;IACxD,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,QAAQ,CAAA;KAAE,GAAG,IAAI;IAIvE,gEAAgE;IAChE,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,wBAAwB,GAAG,IAAI;IAW3D,6DAA6D;IAC7D,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC;IAQzB,6EAA6E;IAC7E,KAAK,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,UAAU,CAAC,CAAC,EAAE,KAAK,CAAC;IAM9C,sEAAsE;IACtE,OAAO,CAAC,aAAa;IAWrB;;;;;;OAMG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA2C5B,mCAAmC;IACnC,IAAI,IAAI,IAAI;IAKZ,uCAAuC;IACvC,IAAI,OAAO,IAAI,OAAO,CAErB;CACF;AAED,qDAAqD;AACrD,eAAO,MAAM,GAAG,SAAgB,CAAC;AACjC,YAAY,EAAE,OAAO,EAAE,CAAC"}
package/dist/app.js CHANGED
@@ -16,6 +16,7 @@
16
16
  import { renderLoop } from "./render-loop";
17
17
  import { INJECT_PARAMS, ON_HANDLERS } from "./decorators/symbols";
18
18
  import { bus } from "./bus";
19
+ import { LoomResult } from "./result";
19
20
  class LoomApp {
20
21
  providers = new Map();
21
22
  services = [];
@@ -78,9 +79,12 @@ class LoomApp {
78
79
  }
79
80
  return v;
80
81
  }
81
- /** Retrieve a provider/service, or undefined if not registered. */
82
+ /** Retrieve a provider/service returns LoomResult instead of undefined. */
82
83
  maybe(key) {
83
- return this.providers.get(key);
84
+ const v = this.providers.get(key);
85
+ if (v !== undefined)
86
+ return LoomResult.ok(v);
87
+ return LoomResult.err(new Error(`[loom] no provider for ${key?.name ?? key}`));
84
88
  }
85
89
  /** Resolve @inject parameter metadata for a constructor or method. */
86
90
  resolveParams(proto, method) {
package/dist/app.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,14 @@
1
1
  import { type Constructor, type Handler } from "../bus";
2
2
  import { type LoomEvent } from "../event";
3
3
  import { type CSSValue } from "../css";
4
+ import { type TraceDeps } from "../trace";
4
5
  export declare abstract class LoomElement extends HTMLElement {
5
6
  /** Access the LoomApp instance for inline provider resolution */
6
7
  protected get app(): import("..").LoomApp;
7
8
  protected shadow: ShadowRoot;
8
9
  private cleanups;
10
+ /** @internal — dependency tracking for traced template projection */
11
+ __traceDeps: TraceDeps | null;
9
12
  constructor();
10
13
  /** Adopt styles — supports both tagged template and string */
11
14
  protected css(text: string): void;
@@ -1 +1 @@
1
- {"version":3,"file":"element.d.ts","sourceRoot":"","sources":["../../src/element/element.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,WAAW,EAAE,KAAK,OAAO,EAAE,MAAM,QAAQ,CAAC;AAC7D,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,KAAK,QAAQ,EAAY,MAAM,QAAQ,CAAC;AAKjD,8BAAsB,WAAY,SAAQ,WAAW;IACnD,iEAAiE;IACjE,SAAS,KAAK,GAAG,yBAAkB;IAEnC,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC;IAC7B,OAAO,CAAC,QAAQ,CAAsB;;IAStC,8DAA8D;IAC9D,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IACjC,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,oBAAoB,EAAE,GAAG,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI;IAQzE;;;;OAIG;IACH,WAAW,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,IAAI;IAU1C,8DAA8D;IAC9D,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI;IAMtE,yBAAyB;IACzB,SAAS,CAAC,IAAI,CAAC,CAAC,SAAS,SAAS,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI;IAMnD,sDAAsD;IACtD,KAAK,CAAC,KAAK,EAAE,MAAM,IAAI,GAAG,IAAI;IAM9B,uCAAuC;IACvC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,OAAO,GAAG,WAAW,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI;IAInE,0CAA0C;IAC1C,SAAS,CAAC,EAAE,CAAC,CAAC,SAAS,OAAO,GAAG,WAAW,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,EAAE;IAM/D,iBAAiB,IAAI,IAAI;IAazB,oBAAoB,IAAI,IAAI;IAQ5B;;;OAGG;IACH,MAAM,IAAI,IAAI,GAAG,IAAI,EAAE,GAAG,IAAI;IAE9B;;;OAGG;IACH,YAAY,IAAI,IAAI;IAEpB;;;OAGG;IACH,YAAY,IAAI,OAAO;IAMvB,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,WAAW,CAAS;IAE5B,0DAA0D;IAC1D,cAAc,IAAI,IAAI;IA4BtB;;;OAGG;IACH,KAAK,IAAI,IAAI;CAKd"}
1
+ {"version":3,"file":"element.d.ts","sourceRoot":"","sources":["../../src/element/element.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,WAAW,EAAE,KAAK,OAAO,EAAE,MAAM,QAAQ,CAAC;AAC7D,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,KAAK,QAAQ,EAAY,MAAM,QAAQ,CAAC;AAIjD,OAAO,EAAqF,KAAK,SAAS,EAAE,MAAM,UAAU,CAAC;AAE7H,8BAAsB,WAAY,SAAQ,WAAW;IACnD,iEAAiE;IACjE,SAAS,KAAK,GAAG,yBAAkB;IAEnC,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC;IAC7B,OAAO,CAAC,QAAQ,CAAsB;IACtC,qEAAqE;IACrE,WAAW,EAAE,SAAS,GAAG,IAAI,CAAQ;;IASrC,8DAA8D;IAC9D,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IACjC,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,oBAAoB,EAAE,GAAG,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI;IAQzE;;;;OAIG;IACH,WAAW,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,IAAI;IAU1C,8DAA8D;IAC9D,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI;IAMtE,yBAAyB;IACzB,SAAS,CAAC,IAAI,CAAC,CAAC,SAAS,SAAS,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI;IAMnD,sDAAsD;IACtD,KAAK,CAAC,KAAK,EAAE,MAAM,IAAI,GAAG,IAAI;IAM9B,uCAAuC;IACvC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,OAAO,GAAG,WAAW,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI;IAInE,0CAA0C;IAC1C,SAAS,CAAC,EAAE,CAAC,CAAC,SAAS,OAAO,GAAG,WAAW,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,EAAE;IAM/D,iBAAiB,IAAI,IAAI;IAazB,oBAAoB,IAAI,IAAI;IAQ5B;;;OAGG;IACH,MAAM,IAAI,IAAI,GAAG,IAAI,EAAE,GAAG,IAAI;IAE9B;;;OAGG;IACH,YAAY,IAAI,IAAI;IAEpB;;;OAGG;IACH,YAAY,IAAI,OAAO;IAMvB,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,WAAW,CAAS;IAE5B,0DAA0D;IAC1D,cAAc,IAAI,IAAI;IAoDtB;;;OAGG;IACH,KAAK,IAAI,IAAI;CAKd"}
@@ -3,11 +3,14 @@ import { adoptCSS } from "../css";
3
3
  import { COMPUTED_DIRTY, REACTIVES, CONNECT_HOOKS, FIRST_UPDATED_HOOKS } from "../decorators/symbols";
4
4
  import { morph } from "../morph";
5
5
  import { app } from "../app";
6
+ import { startTrace, endTrace, hasDirtyDeps, canFastPatch, applyBindings, refreshSnapshots } from "../trace";
6
7
  export class LoomElement extends HTMLElement {
7
8
  /** Access the LoomApp instance for inline provider resolution */
8
9
  get app() { return app; }
9
10
  shadow;
10
11
  cleanups = [];
12
+ /** @internal — dependency tracking for traced template projection */
13
+ __traceDeps = null;
11
14
  constructor() {
12
15
  super();
13
16
  this.shadow = this.attachShadow({ mode: "open" });
@@ -101,15 +104,33 @@ export class LoomElement extends HTMLElement {
101
104
  this._updateScheduled = false;
102
105
  if (!this.shouldUpdate())
103
106
  return;
107
+ // Tier 1 — SKIP: no traced dependency changed
108
+ if (this.__traceDeps && !hasDirtyDeps(this.__traceDeps))
109
+ return;
110
+ // Tier 2 — FAST PATCH: all dirty deps have bindings
111
+ if (this.__traceDeps && canFastPatch(this.__traceDeps)) {
112
+ // Dirty @computed caches (they may depend on a fast-patched reactive)
113
+ for (const dirtyKey of this[COMPUTED_DIRTY] ?? []) {
114
+ this[dirtyKey] = true;
115
+ }
116
+ applyBindings(this.__traceDeps);
117
+ refreshSnapshots(this.__traceDeps);
118
+ return;
119
+ }
120
+ // Tier 3 — FULL MORPH: structural change or first render
104
121
  // Dirty all @computed caches
105
122
  for (const dirtyKey of this[COMPUTED_DIRTY] ?? []) {
106
123
  this[dirtyKey] = true;
107
124
  }
125
+ // Trace reactive reads during update()
126
+ startTrace();
108
127
  const result = this.update();
109
128
  // Auto-morph if update() returned DOM nodes
110
129
  if (result != null) {
111
130
  morph(this.shadow, result);
112
131
  }
132
+ // Capture/refresh dependency tracking + bindings
133
+ this.__traceDeps = endTrace();
113
134
  if (!this._hasUpdated) {
114
135
  this._hasUpdated = true;
115
136
  this.firstUpdated();
@@ -1 +1 @@
1
- {"version":3,"file":"element.js","sourceRoot":"","sources":["../../src/element/element.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"element.js","sourceRoot":"","sources":["../../src/element/element.ts"],"names":[],"mappings":"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"}
@@ -13,17 +13,15 @@
13
13
  * accessor login!: FormState<LoginForm>;
14
14
  *
15
15
  * update() {
16
- * const f = this.login;
17
- * return (
18
- * <form>
19
- * <input value={f.data.email} onInput={f.bind("email")} />
20
- * <input value={f.data.password} onInput={f.bind("password")} />
21
- * <button disabled={!f.valid}>Submit</button>
22
- * </form>
23
- * );
16
+ * const result = this.login.validate();
17
+ * result.match({
18
+ * ok: (data) => submit(data),
19
+ * err: (errors) => showErrors(errors),
20
+ * });
24
21
  * }
25
22
  * ```
26
23
  */
24
+ import { LoomResult } from "../result";
27
25
  export interface FieldSchema<V = unknown> {
28
26
  /** Transform raw string value before storing (reuses @transform functions) */
29
27
  transform?: (raw: string) => V;
@@ -44,13 +42,15 @@ export interface FormState<T> {
44
42
  readonly dirty: boolean;
45
43
  /** Reset all fields to their initial values */
46
44
  reset(): void;
47
- /** Manually trigger validation on all fields, returns validity */
48
- validate(): boolean;
45
+ /** Manually trigger validation returns LoomResult<T, errors> */
46
+ validate(): LoomResult<T, Partial<Record<keyof T, string>>>;
49
47
  /** Returns an onInput event handler bound to a specific field */
50
48
  bind(field: keyof T): (e: Event) => void;
51
49
  }
52
50
  /**
53
- * Create a FormState<T> instance — pure reactive data, no DOM dependency.
51
+ * Create a FormState<T> instance — backed by Reactive primitives.
52
+ * All state reads go through Reactive.value (traceable),
53
+ * all mutations go through Reactive.set()/notify() (fires subscribers).
54
54
  */
55
55
  export declare function createFormState<T extends object>(schema: FormSchema<T>, scheduleUpdate: () => void): FormState<T>;
56
56
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"form.d.ts","sourceRoot":"","sources":["../../src/element/form.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAIH,MAAM,WAAW,WAAW,CAAC,CAAC,GAAG,OAAO;IACtC,8EAA8E;IAC9E,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,CAAC,CAAC;IAC/B,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,GAAG,MAAM,CAAC;CACxC;AAED,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI;KACzB,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CACnC,CAAC;AAEF,MAAM,WAAW,SAAS,CAAC,CAAC;IAC1B,iCAAiC;IACjC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IACjB,gEAAgE;IAChE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IAClD,0CAA0C;IAC1C,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,0DAA0D;IAC1D,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,+CAA+C;IAC/C,KAAK,IAAI,IAAI,CAAC;IACd,kEAAkE;IAClE,QAAQ,IAAI,OAAO,CAAC;IACpB,iEAAiE;IACjE,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,KAAK,IAAI,CAAC;CAC1C;AAgBD;;GAEG;AACH,wBAAgB,eAAe,CAAC,CAAC,SAAS,MAAM,EAC9C,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,EACrB,cAAc,EAAE,MAAM,IAAI,GACzB,SAAS,CAAC,CAAC,CAAC,CAyGd;AAID;;;;;GAKG;AACH,wBAAgB,IAAI,CAAC,CAAC,SAAS,MAAM,EACnC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,IAEb,IAAI,SAAS,MAAM,EACzB,SAAS,4BAA4B,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,EACzD,SAAS,6BAA6B,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,KACzD,4BAA4B,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAgBpD"}
1
+ {"version":3,"file":"form.d.ts","sourceRoot":"","sources":["../../src/element/form.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAMvC,MAAM,WAAW,WAAW,CAAC,CAAC,GAAG,OAAO;IACtC,8EAA8E;IAC9E,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,CAAC,CAAC;IAC/B,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,GAAG,MAAM,CAAC;CACxC;AAED,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI;KACzB,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CACnC,CAAC;AAEF,MAAM,WAAW,SAAS,CAAC,CAAC;IAC1B,iCAAiC;IACjC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IACjB,gEAAgE;IAChE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IAClD,0CAA0C;IAC1C,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,0DAA0D;IAC1D,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,+CAA+C;IAC/C,KAAK,IAAI,IAAI,CAAC;IACd,kEAAkE;IAClE,QAAQ,IAAI,UAAU,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IAC5D,iEAAiE;IACjE,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,KAAK,IAAI,CAAC;CAC1C;AAgBD;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,CAAC,SAAS,MAAM,EAC9C,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,EACrB,cAAc,EAAE,MAAM,IAAI,GACzB,SAAS,CAAC,CAAC,CAAC,CAgHd;AAID;;;;;GAKG;AACH,wBAAgB,IAAI,CAAC,CAAC,SAAS,MAAM,EACnC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,IAEb,IAAI,SAAS,MAAM,EACzB,SAAS,4BAA4B,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,EACzD,SAAS,6BAA6B,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,KACzD,4BAA4B,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAgBpD"}
@@ -13,17 +13,16 @@
13
13
  * accessor login!: FormState<LoginForm>;
14
14
  *
15
15
  * update() {
16
- * const f = this.login;
17
- * return (
18
- * <form>
19
- * <input value={f.data.email} onInput={f.bind("email")} />
20
- * <input value={f.data.password} onInput={f.bind("password")} />
21
- * <button disabled={!f.valid}>Submit</button>
22
- * </form>
23
- * );
16
+ * const result = this.login.validate();
17
+ * result.match({
18
+ * ok: (data) => submit(data),
19
+ * err: (errors) => showErrors(errors),
20
+ * });
24
21
  * }
25
22
  * ```
26
23
  */
24
+ import { LoomResult } from "../result";
25
+ import { Reactive } from "../store/reactive";
27
26
  // ── Helpers ──
28
27
  /**
29
28
  * Read a form element's value, handling checkboxes.
@@ -36,67 +35,77 @@ function readInputValue(input) {
36
35
  }
37
36
  // ── Core ──
38
37
  /**
39
- * Create a FormState<T> instance — pure reactive data, no DOM dependency.
38
+ * Create a FormState<T> instance — backed by Reactive primitives.
39
+ * All state reads go through Reactive.value (traceable),
40
+ * all mutations go through Reactive.set()/notify() (fires subscribers).
40
41
  */
41
42
  export function createFormState(schema, scheduleUpdate) {
42
43
  // Initialize all fields to empty string (or transform of empty)
43
44
  const initial = {};
44
- const current = {};
45
- const errors = {};
46
- const touched = new Set();
47
- let validatedAll = false;
45
+ const initData = {};
48
46
  for (const key of Object.keys(schema)) {
49
47
  const fieldSchema = schema[key];
50
48
  const raw = "";
51
49
  const transformed = fieldSchema?.transform ? fieldSchema.transform(raw) : raw;
52
50
  initial[key] = transformed;
53
- current[key] = transformed;
51
+ initData[key] = transformed;
54
52
  }
55
- let isValid = true;
53
+ // Reactive-backed state
54
+ const currentR = new Reactive({ ...initData });
55
+ const errorsR = new Reactive({});
56
+ const validR = new Reactive(true);
57
+ const touched = new Set();
58
+ let validatedAll = false;
56
59
  // Compute initial validity (without surfacing errors)
60
+ let initValid = true;
57
61
  for (const key of Object.keys(schema)) {
58
62
  const fieldSchema = schema[key];
59
63
  if (fieldSchema?.validate) {
60
- const result = fieldSchema.validate(current[key]);
64
+ const result = fieldSchema.validate(initData[key]);
61
65
  if (result !== true)
62
- isValid = false;
66
+ initValid = false;
63
67
  }
64
68
  }
69
+ validR.set(initValid);
65
70
  // Validation — only surfaces errors for touched fields (or all if validate() was called)
66
71
  function runValidation() {
72
+ const current = currentR.value;
73
+ const newErrors = {};
67
74
  let allValid = true;
68
75
  for (const key of Object.keys(schema)) {
69
76
  const fieldSchema = schema[key];
70
77
  if (fieldSchema?.validate) {
71
78
  const result = fieldSchema.validate(current[key]);
72
79
  if (result === true) {
73
- delete errors[key];
80
+ // valid — no error
74
81
  }
75
82
  else {
76
83
  allValid = false;
77
84
  // Only surface error if field was touched or validate() was called
78
85
  if (touched.has(key) || validatedAll) {
79
- errors[key] = result;
86
+ newErrors[key] = result;
80
87
  }
81
88
  }
82
89
  }
83
90
  }
84
- isValid = allValid;
91
+ errorsR.set(newErrors);
92
+ validR.set(allValid);
85
93
  return allValid;
86
94
  }
87
95
  // Bind handlers cache
88
96
  const bindCache = new Map();
89
97
  const state = {
90
98
  get data() {
91
- return current;
99
+ return currentR.value;
92
100
  },
93
101
  get errors() {
94
- return errors;
102
+ return errorsR.value;
95
103
  },
96
104
  get valid() {
97
- return isValid;
105
+ return validR.value;
98
106
  },
99
107
  get dirty() {
108
+ const current = currentR.value;
100
109
  for (const key of Object.keys(schema)) {
101
110
  if (current[key] !== initial[key])
102
111
  return true;
@@ -104,22 +113,20 @@ export function createFormState(schema, scheduleUpdate) {
104
113
  return false;
105
114
  },
106
115
  reset() {
107
- for (const key of Object.keys(schema)) {
108
- current[key] = initial[key];
109
- }
116
+ currentR.set({ ...initial });
110
117
  touched.clear();
111
118
  validatedAll = false;
112
- // Clear all errors on reset
113
- for (const key of Object.keys(errors)) {
114
- delete errors[key];
115
- }
119
+ errorsR.set({});
120
+ validR.set(true);
116
121
  scheduleUpdate();
117
122
  },
118
123
  validate() {
119
124
  validatedAll = true;
120
- const result = runValidation();
125
+ const valid = runValidation();
121
126
  scheduleUpdate();
122
- return result;
127
+ if (valid)
128
+ return LoomResult.ok(currentR.value);
129
+ return LoomResult.err({ ...errorsR.value });
123
130
  },
124
131
  bind(field) {
125
132
  const key = field;
@@ -129,7 +136,9 @@ export function createFormState(schema, scheduleUpdate) {
129
136
  const raw = readInputValue(input);
130
137
  const fieldSchema = schema[field];
131
138
  const transformed = fieldSchema?.transform ? fieldSchema.transform(raw) : raw;
139
+ const current = currentR.value;
132
140
  current[key] = transformed;
141
+ currentR.notify();
133
142
  touched.add(key);
134
143
  runValidation();
135
144
  scheduleUpdate();
@@ -1 +1 @@
1
- {"version":3,"file":"form.js","sourceRoot":"","sources":["../../src/element/form.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"form.js","sourceRoot":"","sources":["../../src/element/form.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -29,4 +29,5 @@ export { LoomRouter, RouteChanged, route, guard, group, matchRoute, routes, Loom
29
29
  export type { RouterMode, RouterOptions, RouteInfo, RouteEntry, GroupMeta } from "./router";
30
30
  export { api, intercept, createApiState } from "./query";
31
31
  export type { ApiCtx, ApiState, ApiOptions, InterceptOptions } from "./query";
32
+ export { LoomResult } from "./result";
32
33
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;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;AAKhD,OAAO,EACL,QAAQ,EAAE,eAAe,EACzB,aAAa,EAAE,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,aAAa,EACvE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAC5C,KAAK,EACL,KAAK,GACN,MAAM,SAAS,CAAC;AACjB,YAAY,EACV,UAAU,EAAE,OAAO,EAAE,YAAY,EACjC,cAAc,EAAE,aAAa,EAAE,cAAc,GAC9C,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAChD,uGAAuG;AACvG,OAAO,EAAE,KAAK,IAAI,YAAY,EAAE,MAAM,MAAM,CAAC;AAG7C,OAAO,EACL,WAAW,EACX,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAClC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAC/B,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,EACrD,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,GAC7B,MAAM,WAAW,CAAC;AACnB,YAAY,EAAE,kBAAkB,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAGxH,OAAO,EACL,SAAS,EAAE,eAAe,EAC1B,KAAK,EAAE,gBAAgB,EACvB,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,GAC/D,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAGnD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAGzD,OAAO,EACL,UAAU,EACV,YAAY,EACZ,KAAK,EACL,KAAK,EACL,KAAK,EACL,UAAU,EACV,MAAM,EACN,UAAU,EACV,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,YAAY,GACb,MAAM,UAAU,CAAC;AAClB,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAG5F,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACzD,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;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;AAKhD,OAAO,EACL,QAAQ,EAAE,eAAe,EACzB,aAAa,EAAE,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,aAAa,EACvE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAC5C,KAAK,EACL,KAAK,GACN,MAAM,SAAS,CAAC;AACjB,YAAY,EACV,UAAU,EAAE,OAAO,EAAE,YAAY,EACjC,cAAc,EAAE,aAAa,EAAE,cAAc,GAC9C,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAChD,uGAAuG;AACvG,OAAO,EAAE,KAAK,IAAI,YAAY,EAAE,MAAM,MAAM,CAAC;AAG7C,OAAO,EACL,WAAW,EACX,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAClC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAC/B,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,EACrD,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,GAC7B,MAAM,WAAW,CAAC;AACnB,YAAY,EAAE,kBAAkB,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAGxH,OAAO,EACL,SAAS,EAAE,eAAe,EAC1B,KAAK,EAAE,gBAAgB,EACvB,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,GAC/D,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAGnD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAGzD,OAAO,EACL,UAAU,EACV,YAAY,EACZ,KAAK,EACL,KAAK,EACL,KAAK,EACL,UAAU,EACV,MAAM,EACN,UAAU,EACV,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,YAAY,GACb,MAAM,UAAU,CAAC;AAClB,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAG5F,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACzD,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAG9E,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC"}
package/dist/index.js CHANGED
@@ -34,4 +34,6 @@ export { on, emit, createDecorator } from "./decorators";
34
34
  export { LoomRouter, RouteChanged, route, guard, group, matchRoute, routes, LoomOutlet, LoomLink, HashMode, HistoryMode, onRouteEnter, onRouteLeave, } from "./router";
35
35
  // Query: @api data fetching + @intercept middleware
36
36
  export { api, intercept, createApiState } from "./query";
37
+ // Result type
38
+ export { LoomResult } from "./result";
37
39
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;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,0BAA0B;AAE1B,qCAAqC;AACrC,OAAO,EACL,QAAQ,EAAE,eAAe,EACzB,aAAa,EAAE,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,aAAa,EACvE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAC5C,KAAK,EACL,KAAK,GACN,MAAM,SAAS,CAAC;AAMjB,mCAAmC;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAChD,uGAAuG;AACvG,OAAO,EAAE,KAAK,IAAI,YAAY,EAAE,MAAM,MAAM,CAAC;AAE7C,0CAA0C;AAC1C,OAAO,EACL,WAAW,EACX,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAClC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAC/B,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,EACrD,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,GAC7B,MAAM,WAAW,CAAC;AAGnB,8BAA8B;AAC9B,OAAO,EACL,SAAS,EAAE,eAAe,EAC1B,KAAK,EAAE,gBAAgB,EACvB,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,GAC/D,MAAM,aAAa,CAAC;AAGrB,yCAAyC;AACzC,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEzD,SAAS;AACT,OAAO,EACL,UAAU,EACV,YAAY,EACZ,KAAK,EACL,KAAK,EACL,KAAK,EACL,UAAU,EACV,MAAM,EACN,UAAU,EACV,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,YAAY,GACb,MAAM,UAAU,CAAC;AAGlB,oDAAoD;AACpD,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;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,0BAA0B;AAE1B,qCAAqC;AACrC,OAAO,EACL,QAAQ,EAAE,eAAe,EACzB,aAAa,EAAE,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,aAAa,EACvE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAC5C,KAAK,EACL,KAAK,GACN,MAAM,SAAS,CAAC;AAMjB,mCAAmC;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAChD,uGAAuG;AACvG,OAAO,EAAE,KAAK,IAAI,YAAY,EAAE,MAAM,MAAM,CAAC;AAE7C,0CAA0C;AAC1C,OAAO,EACL,WAAW,EACX,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAClC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAC/B,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,EACrD,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,GAC7B,MAAM,WAAW,CAAC;AAGnB,8BAA8B;AAC9B,OAAO,EACL,SAAS,EAAE,eAAe,EAC1B,KAAK,EAAE,gBAAgB,EACvB,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,GAC/D,MAAM,aAAa,CAAC;AAGrB,yCAAyC;AACzC,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEzD,SAAS;AACT,OAAO,EACL,UAAU,EACV,YAAY,EACZ,KAAK,EACL,KAAK,EACL,KAAK,EACL,UAAU,EACV,MAAM,EACN,UAAU,EACV,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,YAAY,GACb,MAAM,UAAU,CAAC;AAGlB,oDAAoD;AACpD,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAGzD,cAAc;AACd,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"jsx-runtime.d.ts","sourceRoot":"","sources":["../src/jsx-runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"jsx-runtime.d.ts","sourceRoot":"","sources":["../src/jsx-runtime.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@
5
5
  * Configure via tsconfig: "jsxImportSource": "loom"
6
6
  */
7
7
  import { LOOM_EVENTS } from "./morph";
8
+ import { startSubTrace, endSubTrace, addBinding } from "./trace";
8
9
  const SVG_NS = "http://www.w3.org/2000/svg";
9
10
  const SVG_TAGS = new Set([
10
11
  "svg", "path", "circle", "rect", "line", "polyline", "polygon",
@@ -42,11 +43,38 @@ export function jsx(tag, props) {
42
43
  Object.assign(el.style, val);
43
44
  }
44
45
  else if (key === "className" || key === "class") {
45
- if (isSVG) {
46
- el.setAttribute("class", val);
46
+ if (typeof val === "function") {
47
+ // Closure binding for class
48
+ startSubTrace();
49
+ try {
50
+ const res = val();
51
+ if (isSVG)
52
+ el.setAttribute("class", String(res));
53
+ else
54
+ el.className = String(res);
55
+ const deps = endSubTrace();
56
+ if (deps.size > 0) {
57
+ addBinding(deps, el, () => {
58
+ const v = val();
59
+ if (isSVG)
60
+ el.setAttribute("class", String(v));
61
+ else
62
+ el.className = String(v);
63
+ });
64
+ }
65
+ }
66
+ catch (e) {
67
+ console.error("Loom: Error executing class binding", e);
68
+ endSubTrace();
69
+ }
47
70
  }
48
71
  else {
49
- el.className = val;
72
+ if (isSVG) {
73
+ el.setAttribute("class", val);
74
+ }
75
+ else {
76
+ el.className = val;
77
+ }
50
78
  }
51
79
  }
52
80
  else if (key === "htmlFor") {
@@ -67,8 +95,23 @@ export function jsx(tag, props) {
67
95
  el[key] = val;
68
96
  }
69
97
  else {
70
- if (isSVG) {
71
- el.setAttribute(key, String(val));
98
+ // Check for closure binding: class={() => this.theme}
99
+ if (typeof val === "function") {
100
+ startSubTrace();
101
+ try {
102
+ const res = val();
103
+ el.setAttribute(key, String(res));
104
+ const deps = endSubTrace();
105
+ if (deps.size > 0) {
106
+ addBinding(deps, el, () => el.setAttribute(key, String(val())));
107
+ }
108
+ }
109
+ catch (e) {
110
+ // Fallback or error handling for failed binding execution
111
+ console.error(`Loom: Error executing binding for attribute '${key}'`, e);
112
+ el.setAttribute(key, "");
113
+ endSubTrace(); // Ensure trace stack is popped
114
+ }
72
115
  }
73
116
  else {
74
117
  el.setAttribute(key, String(val));
@@ -94,6 +137,27 @@ function appendChildren(parent, children) {
94
137
  else if (children instanceof Node) {
95
138
  parent.appendChild(children);
96
139
  }
140
+ else if (typeof children === "function") {
141
+ // Phase 2: Closure binding for text — {() => this.count}
142
+ const textNode = document.createTextNode("");
143
+ parent.appendChild(textNode);
144
+ startSubTrace();
145
+ try {
146
+ const res = children();
147
+ textNode.textContent = String(res);
148
+ const deps = endSubTrace();
149
+ if (deps.size > 0) {
150
+ // Create binding with the closure itself as the patcher
151
+ addBinding(deps, textNode, () => {
152
+ textNode.textContent = String(children());
153
+ });
154
+ }
155
+ }
156
+ catch (e) {
157
+ console.error("Loom: Error executing text binding", e);
158
+ endSubTrace();
159
+ }
160
+ }
97
161
  else {
98
162
  parent.appendChild(document.createTextNode(String(children)));
99
163
  }
@@ -1 +1 @@
1
- {"version":3,"file":"jsx-runtime.js","sourceRoot":"","sources":["../src/jsx-runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"jsx-runtime.js","sourceRoot":"","sources":["../src/jsx-runtime.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,WAAW,EAAqB,MAAM,SAAS,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAEjE,MAAM,MAAM,GAAG,4BAA4B,CAAC;AAC5C,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC;IACvB,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS;IAC9D,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ;IACxD,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,EAAE,eAAe;IAC3D,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO;CAC3D,CAAC,CAAC;AAEH,wEAAwE;AACxE,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC;AAE7E,MAAM,UAAU,GAAG,CACjB,GAAsB,EACtB,KAA0B;IAE1B,IAAI,OAAO,GAAG,KAAK,UAAU;QAAE,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;IAEjD,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAChC,MAAM,EAAE,GAAG,KAAK;QACd,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,MAAM,EAAE,GAAG,CAAC;QACvC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IAEhC,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC;QACrD,IAAI,GAAG,KAAK,UAAU;YAAE,SAAS;QACjC,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,OAAO,GAAG,KAAK,UAAU,EAAE,CAAC;YACtD,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;YAC7C,EAAE,CAAC,gBAAgB,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;YACpC,0BAA0B;YAC1B,IAAI,MAAM,GAAkB,EAAU,CAAC,WAAW,CAAC,CAAC;YACpD,IAAI,CAAC,MAAM,EAAE,CAAC;gBAAC,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;gBAAE,EAAU,CAAC,WAAW,CAAC,GAAG,MAAM,CAAC;YAAC,CAAC;YACvE,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QAC7B,CAAC;aAAM,IAAI,GAAG,KAAK,KAAK,IAAI,OAAO,GAAG,KAAK,UAAU,EAAE,CAAC;YACtD,GAAG,CAAC,EAAE,CAAC,CAAC;QACV,CAAC;aAAM,IAAI,GAAG,KAAK,OAAO,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YACtD,MAAM,CAAC,MAAM,CAAE,EAAkB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAChD,CAAC;aAAM,IAAI,GAAG,KAAK,WAAW,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;YAClD,IAAI,OAAO,GAAG,KAAK,UAAU,EAAE,CAAC;gBAC9B,4BAA4B;gBAC5B,aAAa,EAAE,CAAC;gBAChB,IAAI,CAAC;oBACH,MAAM,GAAG,GAAG,GAAG,EAAE,CAAC;oBAClB,IAAI,KAAK;wBAAE,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;;wBAC3C,EAAkB,CAAC,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;oBAEjD,MAAM,IAAI,GAAG,WAAW,EAAE,CAAC;oBAC3B,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;wBAClB,UAAU,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE;4BACxB,MAAM,CAAC,GAAG,GAAG,EAAE,CAAC;4BAChB,IAAI,KAAK;gCAAE,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;;gCACzC,EAAkB,CAAC,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;wBACjD,CAAC,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,OAAO,CAAC,KAAK,CAAC,qCAAqC,EAAE,CAAC,CAAC,CAAC;oBACxD,WAAW,EAAE,CAAC;gBAChB,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,IAAI,KAAK,EAAE,CAAC;oBACV,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;gBAChC,CAAC;qBAAM,CAAC;oBACL,EAAkB,CAAC,SAAS,GAAG,GAAG,CAAC;gBACtC,CAAC;YACH,CAAC;QACH,CAAC;aAAM,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YAC7B,EAAE,CAAC,YAAY,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC9B,CAAC;aAAM,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,WAAW,EAAE,CAAC;YACpD,EAAE,CAAC,SAAS,GAAG,GAAG,CAAC;YAClB,EAAU,CAAC,aAAa,GAAG,IAAI,CAAC;QACnC,CAAC;aAAM,IAAI,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7B,EAAU,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;QACzB,CAAC;aAAM,IAAI,OAAO,GAAG,KAAK,SAAS,EAAE,CAAC;YACpC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;QAC3D,CAAC;aAAM,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,OAAO,GAAG,KAAK,UAAU,EAAE,CAAC;YAChE,8DAA8D;YAC7D,EAAU,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;QACzB,CAAC;aAAM,CAAC;YACN,sDAAsD;YACtD,IAAI,OAAO,GAAG,KAAK,UAAU,EAAE,CAAC;gBAC9B,aAAa,EAAE,CAAC;gBAChB,IAAI,CAAC;oBACH,MAAM,GAAG,GAAG,GAAG,EAAE,CAAC;oBAClB,EAAE,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;oBAClC,MAAM,IAAI,GAAG,WAAW,EAAE,CAAC;oBAC3B,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;wBAClB,UAAU,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;oBAClE,CAAC;gBACH,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,0DAA0D;oBAC1D,OAAO,CAAC,KAAK,CAAC,gDAAgD,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC;oBACzE,EAAE,CAAC,YAAY,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;oBACzB,WAAW,EAAE,CAAC,CAAC,+BAA+B;gBAChD,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,EAAE,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YACpC,CAAC;QACH,CAAC;IACH,CAAC;IAED,cAAc,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;IACpC,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,yDAAyD;AACzD,MAAM,CAAC,MAAM,IAAI,GAAG,GAAG,CAAC;AAExB,MAAM,UAAU,QAAQ,CAAC,KAAyB;IAChD,MAAM,IAAI,GAAG,QAAQ,CAAC,sBAAsB,EAAE,CAAC;IAC/C,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;IACtC,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,cAAc,CAAC,MAAY,EAAE,QAAa;IACjD,IAAI,QAAQ,IAAI,IAAI,IAAI,QAAQ,KAAK,KAAK;QAAE,OAAO;IACnD,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5B,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;IACrD,CAAC;SAAM,IAAI,QAAQ,YAAY,IAAI,EAAE,CAAC;QACpC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC/B,CAAC;SAAM,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE,CAAC;QAC1C,yDAAyD;QACzD,MAAM,QAAQ,GAAG,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QAC7C,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAE7B,aAAa,EAAE,CAAC;QAChB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,QAAQ,EAAE,CAAC;YACvB,QAAQ,CAAC,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YACnC,MAAM,IAAI,GAAG,WAAW,EAAE,CAAC;YAE3B,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;gBAClB,wDAAwD;gBACxD,UAAU,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE;oBAC9B,QAAQ,CAAC,WAAW,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAC5C,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,oCAAoC,EAAE,CAAC,CAAC,CAAC;YACvD,WAAW,EAAE,CAAC;QAChB,CAAC;IACH,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAChE,CAAC;AACH,CAAC"}