@memoized-dom/compiler 0.0.3 → 0.0.5

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 (65) hide show
  1. package/README.md +51 -1
  2. package/dist/analysis/access-table.d.ts.map +1 -1
  3. package/dist/analysis/component-graph.d.ts.map +1 -1
  4. package/dist/analysis/instance.d.ts.map +1 -1
  5. package/dist/analysis/opaque-volatility.d.ts +7 -0
  6. package/dist/analysis/opaque-volatility.d.ts.map +1 -0
  7. package/dist/analysis.d.ts.map +1 -1
  8. package/dist/compile.d.ts +22 -0
  9. package/dist/compile.d.ts.map +1 -1
  10. package/dist/component-linker.d.ts +5 -1
  11. package/dist/component-linker.d.ts.map +1 -1
  12. package/dist/components/children.d.ts +2 -1
  13. package/dist/components/children.d.ts.map +1 -1
  14. package/dist/components/local-derived.d.ts.map +1 -1
  15. package/dist/components/manifest.d.ts +1 -1
  16. package/dist/components/manifest.d.ts.map +1 -1
  17. package/dist/components/props.d.ts +11 -0
  18. package/dist/components/props.d.ts.map +1 -1
  19. package/dist/components/render-callbacks.d.ts +2 -2
  20. package/dist/components/render-callbacks.d.ts.map +1 -1
  21. package/dist/context/ast.d.ts +8 -4
  22. package/dist/context/ast.d.ts.map +1 -1
  23. package/dist/context/model.d.ts +40 -8
  24. package/dist/context/model.d.ts.map +1 -1
  25. package/dist/diagnostics.d.ts +18 -0
  26. package/dist/diagnostics.d.ts.map +1 -0
  27. package/dist/effects.d.ts.map +1 -1
  28. package/dist/emission/component.d.ts.map +1 -1
  29. package/dist/emission/conditional-region.d.ts.map +1 -1
  30. package/dist/emission/list-region.d.ts +2 -1
  31. package/dist/emission/list-region.d.ts.map +1 -1
  32. package/dist/emission/render-callback.d.ts.map +1 -1
  33. package/dist/emission/route-region.d.ts +9 -0
  34. package/dist/emission/route-region.d.ts.map +1 -0
  35. package/dist/emission/scope.d.ts +3 -3
  36. package/dist/emission/scope.d.ts.map +1 -1
  37. package/dist/emit.d.ts.map +1 -1
  38. package/dist/handler-commits.d.ts.map +1 -1
  39. package/dist/handlers/analyze.d.ts.map +1 -1
  40. package/dist/identifiers.d.ts +2 -0
  41. package/dist/identifiers.d.ts.map +1 -1
  42. package/dist/index.d.ts +3 -2
  43. package/dist/index.d.ts.map +1 -1
  44. package/dist/index.js +1 -1
  45. package/dist/jsx/children.d.ts +2 -1
  46. package/dist/jsx/children.d.ts.map +1 -1
  47. package/dist/jsx/conditional-directives.d.ts +12 -0
  48. package/dist/jsx/conditional-directives.d.ts.map +1 -0
  49. package/dist/jsx/events.d.ts +1 -1
  50. package/dist/jsx/events.d.ts.map +1 -1
  51. package/dist/jsx-types.d.ts +39 -0
  52. package/dist/jsx-types.d.ts.map +1 -0
  53. package/dist/linker.d.ts +50 -5
  54. package/dist/linker.d.ts.map +1 -1
  55. package/dist/lists/calculated-sources.d.ts.map +1 -1
  56. package/dist/lists/map-site.d.ts +6 -4
  57. package/dist/lists/map-site.d.ts.map +1 -1
  58. package/dist/lists/source-shapes.d.ts.map +1 -1
  59. package/dist/lists.d.ts +1 -0
  60. package/dist/lists.d.ts.map +1 -1
  61. package/dist/plugin.d.ts +6 -9
  62. package/dist/plugin.d.ts.map +1 -1
  63. package/dist/router.d.ts +28 -0
  64. package/dist/router.d.ts.map +1 -0
  65. package/package.json +8 -2
package/README.md CHANGED
@@ -1,5 +1,18 @@
1
1
  # Compiler
2
2
 
3
+ Requires Node.js 24.11 or newer. The compiler uses Babel 8, whose supported
4
+ Node.js range does not include Node 20 or earlier Node 24 releases.
5
+
6
+ Public compilation APIs:
7
+
8
+ - `compile(source, options)` returns JavaScript and keeps the allocation-light
9
+ legacy path.
10
+ - `compileDetailed(source, options)` returns `{ code, map }` with authored TSX
11
+ in `sourcesContent`.
12
+ - `compileModulesDetailed(modules, options)` returns linked `output`, one map
13
+ per module in `maps`, component `metadata`, and root metadata derived from an
14
+ ordinary entry module's top-level `mount(target, Component)` call.
15
+
3
16
  The top-level files are orchestration and whole-program passes:
4
17
 
5
18
  | Path | Responsibility |
@@ -11,6 +24,7 @@ The top-level files are orchestration and whole-program passes:
11
24
  | `src/linker.ts` | Connected module-graph compilation |
12
25
  | `src/module-control-flow.ts` | Pure module if/switch computed classification |
13
26
  | `src/plugin.ts` | Babel pass ordering and final module rewrite |
27
+ | `src/router.ts` | Linked JSX route graph, directive validation, and navigation lowering |
14
28
 
15
29
  Domain folders keep related implementation details discoverable:
16
30
 
@@ -19,10 +33,46 @@ Domain folders keep related implementation details discoverable:
19
33
  | `src/analysis/` | Computeds, component paths, instance preludes, and access tables |
20
34
  | `src/components/` | Prop contracts, content/ref slots, and linker manifests |
21
35
  | `src/context/` | Compiler data model/context construction and raw AST helpers |
22
- | `src/emission/` | Component factories, generated scopes, and list/conditional regions |
36
+ | `src/emission/` | Component factories and generated list/conditional/route regions |
23
37
  | `src/handlers/` | Mutation traversal and commit-routing analysis |
24
38
  | `src/jsx/` | Ordered attributes, child classification, refs, and namespaces |
25
39
 
26
40
  The top-level analysis, context, emitter, and handler modules intentionally
27
41
  remain stable facades. Cross-domain callers use those facades; implementation
28
42
  modules within a domain import their siblings directly.
43
+
44
+ ## Compiler-owned routing
45
+
46
+ `route` and `route-to` are compiler properties, similar to `key`: they are
47
+ available on JSX elements but are not ordinary runtime props. Route declarations
48
+ must be static slash-prefixed fragments. The compiler composes each declaration
49
+ with its nearest route-bearing JSX ancestor, validates the connected module graph,
50
+ emits one manifest, and lowers each declaration to an anchored route-selected DOM
51
+ region.
52
+
53
+ Because the compiler sees the whole linked graph, it rejects undeclared
54
+ destinations, non-terminal catch-alls, ambiguous patterns, and missing, extra, or
55
+ duplicate route parameters. These same diagnostics are exposed through
56
+ `diagnoseModules`, Vite, and `@memoized-dom/language-service`.
57
+
58
+ Projects that do not already include the compiler's global JSX declarations can
59
+ load the published directive types with `"types": ["@memoized-dom/compiler/jsx"]`
60
+ in `tsconfig.json`. TypeScript then checks the slash-prefixed surface shape;
61
+ the compiler/language service performs the stronger application-graph checks.
62
+
63
+ ## Compiler-owned conditional branches
64
+
65
+ `if`, `else-if`, and `else` are compiler properties for readable sibling
66
+ branches. Formatting whitespace and JSX comments do not break a chain, more
67
+ than one `else-if` is allowed, and `else` is optional:
68
+
69
+ ```tsx
70
+ <p if={status === 'pending'}>Loading...</p>
71
+ <p else-if={status === 'error'}>Could not load.</p>
72
+ <StoryList else />
73
+ ```
74
+
75
+ The compiler removes the properties and lowers the chain to one stable
76
+ conditional region. An `else-if` or `else` without a preceding branch is a
77
+ compile error. The conditions stay reactive; switching branches updates only
78
+ the owned region rather than rerunning the component factory.
@@ -1 +1 @@
1
- {"version":3,"file":"access-table.d.ts","sourceRoot":"","sources":["../../src/analysis/access-table.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAClC,OAAO,EAAqB,KAAK,GAAG,EAAE,MAAM,YAAY,CAAC;AAKzD,gEAAgE;AAChE,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC,SAAS,GAAG,IAAI,CAyF7D"}
1
+ {"version":3,"file":"access-table.d.ts","sourceRoot":"","sources":["../../src/analysis/access-table.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAClC,OAAO,EAAqB,KAAK,GAAG,EAAE,MAAM,YAAY,CAAC;AAKzD,gEAAgE;AAChE,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC,SAAS,GAAG,IAAI,CA0F7D"}
@@ -1 +1 @@
1
- {"version":3,"file":"component-graph.d.ts","sourceRoot":"","sources":["../../src/analysis/component-graph.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AAItC,6EAA6E;AAC7E,wBAAgB,YAAY,CAC1B,GAAG,EAAE,GAAG,EACR,IAAI,EAAE,MAAM,EACZ,QAAQ,GAAE,GAAG,CAAC,MAAM,CAAa,GAChC,MAAM,EAAE,CAuDV;AAED,8EAA8E;AAC9E,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAuClE;AAED,sEAAsE;AACtE,wBAAgB,4BAA4B,CAC1C,GAAG,EAAE,GAAG,EACR,IAAI,EAAE,MAAM,GACX,OAAO,CAoBT;AAED,8EAA8E;AAC9E,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAgC1E"}
1
+ {"version":3,"file":"component-graph.d.ts","sourceRoot":"","sources":["../../src/analysis/component-graph.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AAItC,6EAA6E;AAC7E,wBAAgB,YAAY,CAC1B,GAAG,EAAE,GAAG,EACR,IAAI,EAAE,MAAM,EACZ,QAAQ,GAAE,GAAG,CAAC,MAAM,CAAa,GAChC,MAAM,EAAE,CAuDV;AAED,8EAA8E;AAC9E,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAuClE;AAED,sEAAsE;AACtE,wBAAgB,4BAA4B,CAC1C,GAAG,EAAE,GAAG,EACR,IAAI,EAAE,MAAM,GACX,OAAO,CAoBT;AAED,8EAA8E;AAC9E,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAoC1E"}
@@ -1 +1 @@
1
- {"version":3,"file":"instance.d.ts","sourceRoot":"","sources":["../../src/analysis/instance.ts"],"names":[],"mappings":"AAEA,OAAO,EAIL,KAAK,GAAG,EACT,MAAM,YAAY,CAAC;AAMpB,+EAA+E;AAC/E,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,CA0BhD;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,CA8LtD"}
1
+ {"version":3,"file":"instance.d.ts","sourceRoot":"","sources":["../../src/analysis/instance.ts"],"names":[],"mappings":"AAEA,OAAO,EAIL,KAAK,GAAG,EACT,MAAM,YAAY,CAAC;AA4LpB,+EAA+E;AAC/E,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,CA0BhD;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,CAoQtD"}
@@ -0,0 +1,7 @@
1
+ import type { Ctx } from '../context';
2
+ /**
3
+ * Mark owners whose render output pulls from state that may continue changing
4
+ * after control escaped into compiler-invisible code.
5
+ */
6
+ export declare function scanOpaqueVolatility(ctx: Ctx): void;
7
+ //# sourceMappingURL=opaque-volatility.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"opaque-volatility.d.ts","sourceRoot":"","sources":["../../src/analysis/opaque-volatility.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AA2NtC;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,CA+FnD"}
@@ -1 +1 @@
1
- {"version":3,"file":"analysis.d.ts","sourceRoot":"","sources":["../src/analysis.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAClC,OAAO,EAWL,KAAK,GAAG,EACT,MAAM,WAAW,CAAC;AAyCnB,OAAO,EACL,4BAA4B,EAC5B,0BAA0B,GAC3B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAgxC3D;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI,CA6C5E"}
1
+ {"version":3,"file":"analysis.d.ts","sourceRoot":"","sources":["../src/analysis.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAClC,OAAO,EAWL,KAAK,GAAG,EACT,MAAM,WAAW,CAAC;AA0CnB,OAAO,EACL,4BAA4B,EAC5B,0BAA0B,GAC3B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAyzC3D;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI,CA8C5E"}
package/dist/compile.d.ts CHANGED
@@ -11,7 +11,29 @@
11
11
  * The transform is written against standard ESTree nodes via @babel/types so
12
12
  * frontend #2 (oxc) can reuse the emission logic later.
13
13
  */
14
+ import * as t from '@babel/types';
14
15
  import { type MemoDomOptions } from './plugin';
16
+ import type { InternalMemoDomOptions } from './context';
15
17
  export type { MemoDomOptions };
18
+ export interface CompilerSourceMap {
19
+ version: 3;
20
+ file?: string;
21
+ sourceRoot?: string;
22
+ sources: string[];
23
+ sourcesContent?: Array<string | null>;
24
+ names: string[];
25
+ mappings: string;
26
+ }
27
+ export interface CompiledSource {
28
+ code: string;
29
+ map: CompilerSourceMap;
30
+ }
31
+ /** Compile source while preserving the historical string-only API. */
16
32
  export declare function compile(source: string, opts?: MemoDomOptions): string;
33
+ /** Internal linked-graph path that reuses an AST without producing a map. */
34
+ export declare function compileAst(source: string, opts: InternalMemoDomOptions, ast?: t.File): string;
35
+ /** Compile source and return a source map back to the authored TSX module. */
36
+ export declare function compileDetailed(source: string, opts?: MemoDomOptions): CompiledSource;
37
+ /** Internal linked-graph path that reuses a cached parsed module AST. */
38
+ export declare function compileAstDetailed(source: string, opts: InternalMemoDomOptions, ast?: t.File): CompiledSource;
17
39
  //# sourceMappingURL=compile.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"compile.d.ts","sourceRoot":"","sources":["../src/compile.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAKH,OAAsB,EAAE,KAAK,cAAc,EAAE,MAAM,UAAU,CAAC;AAE9D,YAAY,EAAE,cAAc,EAAE,CAAC;AAE/B,wBAAgB,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,GAAE,cAAmB,GAAG,MAAM,CAezE"}
1
+ {"version":3,"file":"compile.d.ts","sourceRoot":"","sources":["../src/compile.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AASH,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAClC,OAAsB,EAAE,KAAK,cAAc,EAAE,MAAM,UAAU,CAAC;AAC9D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AAExD,YAAY,EAAE,cAAc,EAAE,CAAC;AAE/B,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,CAAC,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,cAAc,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACtC,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,iBAAiB,CAAC;CACxB;AA0BD,sEAAsE;AACtE,wBAAgB,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,GAAE,cAAmB,GAAG,MAAM,CAEzE;AAED,6EAA6E;AAC7E,wBAAgB,UAAU,CACxB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,sBAAsB,EAC5B,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GACX,MAAM,CAMR;AAED,8EAA8E;AAC9E,wBAAgB,eAAe,CAC7B,MAAM,EAAE,MAAM,EACd,IAAI,GAAE,cAAmB,GACxB,cAAc,CAEhB;AAED,yEAAyE;AACzE,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,sBAAsB,EAC5B,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GACX,cAAc,CAShB"}
@@ -22,11 +22,15 @@ export interface ComponentGraphNode {
22
22
  local: string;
23
23
  edges: ComponentGraphEdge[];
24
24
  }
25
+ export interface ApplicationRootPlacement {
26
+ key: string;
27
+ rootId: string;
28
+ }
25
29
  export interface LinkedComponentGraph {
26
30
  paths: Map<string, string[]>;
27
31
  rows: Map<string, LinkedComponentRowUse[]>;
28
32
  propSources: Map<string, Map<string, LinkedComponentPropSource>>;
29
33
  }
30
34
  /** Compute every declaration's caller-derived paths and keyed-row metadata. */
31
- export declare function linkComponentGraph(declarations: readonly ComponentGraphNode[], rootId: string): LinkedComponentGraph;
35
+ export declare function linkComponentGraph(declarations: readonly ComponentGraphNode[], applicationRoot?: ApplicationRootPlacement): LinkedComponentGraph;
32
36
  //# sourceMappingURL=component-linker.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"component-linker.d.ts","sourceRoot":"","sources":["../src/component-linker.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,yBAAyB,EACzB,qBAAqB,EACtB,MAAM,WAAW,CAAC;AACnB,OAAO,KAAK,EACV,uBAAuB,EACxB,MAAM,2BAA2B,CAAC;AAGnC,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,QAAQ,GAAG,KAAK,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,uBAAuB,CAAC;CACvC;AAED,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,kBAAkB,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC7B,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,qBAAqB,EAAE,CAAC,CAAC;IAC3C,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAC,CAAC;CAClE;AAoBD,+EAA+E;AAC/E,wBAAgB,kBAAkB,CAChC,YAAY,EAAE,SAAS,kBAAkB,EAAE,EAC3C,MAAM,EAAE,MAAM,GACb,oBAAoB,CAiEtB"}
1
+ {"version":3,"file":"component-linker.d.ts","sourceRoot":"","sources":["../src/component-linker.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,yBAAyB,EACzB,qBAAqB,EACtB,MAAM,WAAW,CAAC;AACnB,OAAO,KAAK,EACV,uBAAuB,EACxB,MAAM,2BAA2B,CAAC;AAGnC,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,QAAQ,GAAG,KAAK,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,uBAAuB,CAAC;CACvC;AAED,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,kBAAkB,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,wBAAwB;IACvC,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC7B,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,qBAAqB,EAAE,CAAC,CAAC;IAC3C,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAC,CAAC;CAClE;AAoBD,+EAA+E;AAC/E,wBAAgB,kBAAkB,CAChC,YAAY,EAAE,SAAS,kBAAkB,EAAE,EAC3C,eAAe,CAAC,EAAE,wBAAwB,GACzC,oBAAoB,CA8EtB"}
@@ -8,12 +8,13 @@
8
8
  import * as t from '@babel/types';
9
9
  import { type Ctx } from '../context';
10
10
  import { type EmitScope } from '../emission/scope';
11
+ import { type MapCallExpression } from '../lists';
11
12
  export type EmitChildSlot = (scope: EmitScope, parentNode: t.Identifier, ownerId: t.Identifier) => void;
12
13
  export type JsxChild = t.JSXElement['children'][number];
13
14
  export interface ChildContentEmitters {
14
15
  emitText(expression: t.Expression): string;
15
16
  emitNode(node: t.JSXElement | t.JSXFragment): string;
16
- emitList(call: t.CallExpression, parentVar: string): void;
17
+ emitList(call: MapCallExpression, parentVar: string): void;
17
18
  emitCondition(expression: t.ConditionalExpression | t.LogicalExpression, parentVar: string): void;
18
19
  isForwarded(expression: t.Expression): boolean;
19
20
  emitForwarded(expression: t.Expression, parentVar: string): void;
@@ -1 +1 @@
1
- {"version":3,"file":"children.d.ts","sourceRoot":"","sources":["../../src/components/children.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAClC,OAAO,EAAc,KAAK,GAAG,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAIL,KAAK,SAAS,EACf,MAAM,mBAAmB,CAAC;AAS3B,MAAM,MAAM,aAAa,GAAG,CAC1B,KAAK,EAAE,SAAS,EAChB,UAAU,EAAE,CAAC,CAAC,UAAU,EACxB,OAAO,EAAE,CAAC,CAAC,UAAU,KAClB,IAAI,CAAC;AACV,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;AAExD,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC,UAAU,GAAG,MAAM,CAAC;IAC3C,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,WAAW,GAAG,MAAM,CAAC;IACrD,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,cAAc,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1D,aAAa,CACX,UAAU,EAAE,CAAC,CAAC,qBAAqB,GAAG,CAAC,CAAC,iBAAiB,EACzD,SAAS,EAAE,MAAM,GAChB,IAAI,CAAC;IACR,WAAW,CAAC,UAAU,EAAE,CAAC,CAAC,UAAU,GAAG,OAAO,CAAC;IAC/C,aAAa,CAAC,UAAU,EAAE,CAAC,CAAC,UAAU,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACjE,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,CAAC;CAC9B;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAKpD;AAED,0EAA0E;AAC1E,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,SAAS,QAAQ,EAAE,GAAG,OAAO,CAI3E;AAED,iFAAiF;AACjF,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,GAAG,EACR,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,CAAC,CAAC,UAAU,GACvB,MAAM,GAAG,IAAI,CAwBf;AAED,4EAA4E;AAC5E,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,GAAG,EACR,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,CAAC,CAAC,UAAU,GACvB,OAAO,CAMT;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,GAAG,EACR,UAAU,EAAE,SAAS,EACrB,aAAa,EAAE,CAAC,CAAC,UAAU,EAC3B,IAAI,EAAE,aAAa,GAClB,CAAC,CAAC,UAAU,CAuOd;AAED,kFAAkF;AAClF,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,SAAS,EAChB,UAAU,EAAE,CAAC,CAAC,UAAU,EACxB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,CAAC,CAAC,UAAU,GACpB,IAAI,CAwBN;AAED,0EAA0E;AAC1E,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,SAAS,QAAQ,EAAE,EAC7B,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,oBAAoB,GAC7B,IAAI,CAyDN"}
1
+ {"version":3,"file":"children.d.ts","sourceRoot":"","sources":["../../src/components/children.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAClC,OAAO,EAAc,KAAK,GAAG,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAIL,KAAK,SAAS,EACf,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAgB,KAAK,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAOhE,MAAM,MAAM,aAAa,GAAG,CAC1B,KAAK,EAAE,SAAS,EAChB,UAAU,EAAE,CAAC,CAAC,UAAU,EACxB,OAAO,EAAE,CAAC,CAAC,UAAU,KAClB,IAAI,CAAC;AACV,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;AAExD,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC,UAAU,GAAG,MAAM,CAAC;IAC3C,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,WAAW,GAAG,MAAM,CAAC;IACrD,QAAQ,CAAC,IAAI,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3D,aAAa,CACX,UAAU,EAAE,CAAC,CAAC,qBAAqB,GAAG,CAAC,CAAC,iBAAiB,EACzD,SAAS,EAAE,MAAM,GAChB,IAAI,CAAC;IACR,WAAW,CAAC,UAAU,EAAE,CAAC,CAAC,UAAU,GAAG,OAAO,CAAC;IAC/C,aAAa,CAAC,UAAU,EAAE,CAAC,CAAC,UAAU,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACjE,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,CAAC;CAC9B;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAKpD;AAED,0EAA0E;AAC1E,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,SAAS,QAAQ,EAAE,GAAG,OAAO,CAI3E;AAED,iFAAiF;AACjF,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,GAAG,EACR,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,CAAC,CAAC,UAAU,GACvB,MAAM,GAAG,IAAI,CAwBf;AAED,4EAA4E;AAC5E,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,GAAG,EACR,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,CAAC,CAAC,UAAU,GACvB,OAAO,CAMT;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,GAAG,EACR,UAAU,EAAE,SAAS,EACrB,aAAa,EAAE,CAAC,CAAC,UAAU,EAC3B,IAAI,EAAE,aAAa,GAClB,CAAC,CAAC,UAAU,CAuOd;AAED,kFAAkF;AAClF,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,SAAS,EAChB,UAAU,EAAE,CAAC,CAAC,UAAU,EACxB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,CAAC,CAAC,UAAU,GACpB,IAAI,CAwBN;AAED,0EAA0E;AAC1E,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,SAAS,QAAQ,EAAE,EAC7B,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,oBAAoB,GAC7B,IAAI,CAyDN"}
@@ -1 +1 @@
1
- {"version":3,"file":"local-derived.d.ts","sourceRoot":"","sources":["../../src/components/local-derived.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAQlC,wBAAgB,eAAe,CAC7B,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EAAE,GAChB,CAAC,CAAC,UAAU,CA4Bd"}
1
+ {"version":3,"file":"local-derived.d.ts","sourceRoot":"","sources":["../../src/components/local-derived.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAQlC,wBAAgB,eAAe,CAC7B,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EAAE,GAChB,CAAC,CAAC,UAAU,CAgDd"}
@@ -16,7 +16,7 @@ export interface ComponentExportInfo {
16
16
  acceptsUnknownProps: boolean;
17
17
  hasWholeDefault: boolean;
18
18
  listLightweight: boolean;
19
- delegatedEvents: boolean;
19
+ delegatedEvents: string[];
20
20
  renderProps: string[];
21
21
  renderCallbacks: string[];
22
22
  refProps: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../src/components/manifest.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAElC,OAAO,EAGL,KAAK,GAAG,EACT,MAAM,YAAY,CAAC;AACpB,OAAO,EAEL,KAAK,kBAAkB,EACxB,MAAM,qBAAqB,CAAC;AAS7B,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,WAAW,EAAE,OAAO,CAAC;IACrB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,eAAe,EAAE,OAAO,CAAC;IACzB,eAAe,EAAE,OAAO,CAAC;IACzB,eAAe,EAAE,OAAO,CAAC;IACzB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,+EAA+E;AAC/E,wBAAgB,wBAAwB,CACtC,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,EAChC,QAAQ,EAAE,MAAM,GACf,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,CA8BlC;AAED,gEAAgE;AAChE,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,GAAG,EACR,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,GACZ,mBAAmB,CAiBrB;AAMD,8EAA8E;AAC9E,wBAAgB,6BAA6B,CAC3C,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,GAAG,GACP,kBAAkB,EAAE,CA0EtB"}
1
+ {"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../src/components/manifest.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAElC,OAAO,EAGL,KAAK,GAAG,EACT,MAAM,YAAY,CAAC;AACpB,OAAO,EAEL,KAAK,kBAAkB,EACxB,MAAM,qBAAqB,CAAC;AAS7B,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,WAAW,EAAE,OAAO,CAAC;IACrB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,eAAe,EAAE,OAAO,CAAC;IACzB,eAAe,EAAE,OAAO,CAAC;IACzB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,+EAA+E;AAC/E,wBAAgB,wBAAwB,CACtC,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,EAChC,QAAQ,EAAE,MAAM,GACf,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,CA8BlC;AAED,gEAAgE;AAChE,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,GAAG,EACR,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,GACZ,mBAAmB,CAiBrB;AAMD,8EAA8E;AAC9E,wBAAgB,6BAA6B,CAC3C,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,GAAG,GACP,kBAAkB,EAAE,CA0EtB"}
@@ -27,6 +27,17 @@ export interface ComponentPropsPlan {
27
27
  /** Props consumed as DOM ref adapters and forwarded without reading a sink. */
28
28
  refProps: string[];
29
29
  }
30
+ export interface SimpleObjectPropBinding {
31
+ name: string;
32
+ local: string;
33
+ }
34
+ /**
35
+ * Closed `{ item, selected }`-style contracts can use positional arguments in
36
+ * compiler-private lightweight row factories. Defaults, nested patterns,
37
+ * rest properties, and generic `props` bindings retain the object
38
+ * envelope so their authored JavaScript semantics stay exact.
39
+ */
40
+ export declare function simpleObjectPropBindings(plan: ComponentPropsPlan): SimpleObjectPropBinding[] | null;
30
41
  export interface LocalDerivation {
31
42
  /** Declaration converted from const to let by component emission. */
32
43
  declaration: t.VariableDeclaration;
@@ -1 +1 @@
1
- {"version":3,"file":"props.d.ts","sourceRoot":"","sources":["../../src/components/props.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"props.d.ts","sourceRoot":"","sources":["../../src/components/props.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import type { NodePath } from '@babel/traverse';
2
2
  import * as t from '@babel/types';
3
- import type { Ctx } from '../context';
3
+ import type { Ctx, MapCallExpression } from '../context';
4
4
  export interface RenderCallbackInvocation {
5
5
  propName: string;
6
6
  target: t.Expression;
@@ -9,7 +9,7 @@ export interface RenderCallbackInvocation {
9
9
  /** Is this JSX element the returned root of a declared callback prop value? */
10
10
  export declare function isRenderCallbackJsxRoot(ctx: Ctx, element: NodePath<t.JSXElement>): boolean;
11
11
  /** Match `items.map((item, index) => renderItem(item, index))`. */
12
- export declare function matchRenderCallbackMap(ctx: Ctx, componentName: string, call: t.CallExpression): RenderCallbackInvocation | null;
12
+ export declare function matchRenderCallbackMap(ctx: Ctx, componentName: string, call: MapCallExpression): RenderCallbackInvocation | null;
13
13
  /**
14
14
  * Discover structural callback props before map-site analysis. No callback
15
15
  * method names or runtime JSX values are involved: the callee declares the
@@ -1 +1 @@
1
- {"version":3,"file":"render-callbacks.d.ts","sourceRoot":"","sources":["../../src/components/render-callbacks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAClC,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AAOtC,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,CAAC,CAAC,UAAU,CAAC;IACrB,SAAS,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC;CAC3B;AAED,+EAA+E;AAC/E,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,GAC9B,OAAO,CA2CT;AAoDD,mEAAmE;AACnE,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,GAAG,EACR,aAAa,EAAE,MAAM,EACrB,IAAI,EAAE,CAAC,CAAC,cAAc,GACrB,wBAAwB,GAAG,IAAI,CA4BjC;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,CAmBlD"}
1
+ {"version":3,"file":"render-callbacks.d.ts","sourceRoot":"","sources":["../../src/components/render-callbacks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAClC,OAAO,KAAK,EAAE,GAAG,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAOzD,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,CAAC,CAAC,UAAU,CAAC;IACrB,SAAS,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC;CAC3B;AAED,+EAA+E;AAC/E,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,GAC9B,OAAO,CA2CT;AAqDD,mEAAmE;AACnE,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,GAAG,EACR,aAAa,EAAE,MAAM,EACrB,IAAI,EAAE,iBAAiB,GACtB,wBAAwB,GAAG,IAAI,CA4BjC;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,CAuBlD"}
@@ -1,5 +1,7 @@
1
1
  import * as t from '@babel/types';
2
2
  import type { Ctx, StateKind } from './model';
3
+ /** Remove TypeScript-only wrappers without changing runtime semantics. */
4
+ export declare function unwrapTypeExpression(expression: t.Expression): t.Expression;
3
5
  /** Register a state binding while preserving a linker-provided import entry. */
4
6
  export declare function registerState(ctx: Ctx, name: string, kind: StateKind): void;
5
7
  /** Convert a binding-relative analysis key to its defining module identity. */
@@ -8,8 +10,9 @@ export declare function canonicalStateKey(ctx: Ctx, key: string): string;
8
10
  export declare function freshWriteConst(ctx: Ctx, writes: readonly string[]): t.Identifier;
9
11
  /** Hoist and dedupe a sorted array used to batch local dirty reasons. */
10
12
  export declare function freshReasonConst(ctx: Ctx, reasons: readonly number[]): t.Identifier;
11
- /** Static property-path key for `a.b.c`, or null for a dynamic path. */
12
- export declare function memberKey(node: t.MemberExpression): string | null;
13
+ type MemberLike = t.MemberExpression | t.OptionalMemberExpression;
14
+ /** Static property-path key for `a.b.c`, including optional member chains. */
15
+ export declare function memberKey(node: MemberLike): string | null;
13
16
  /** Reactive list-row context used during event-handler analysis. */
14
17
  export interface RowCtx {
15
18
  itemParam: string;
@@ -30,8 +33,8 @@ export interface ComputedAnalysis {
30
33
  impure: boolean;
31
34
  reason?: string;
32
35
  }
33
- /** Root identifier of a member chain, including dynamic member segments. */
34
- export declare function memberRootName(node: t.MemberExpression): string | null;
36
+ /** Root identifier of a member chain, including optional member segments. */
37
+ export declare function memberRootName(node: MemberLike): string | null;
35
38
  /** Whether an initializer is a statically-shaped plain object store. */
36
39
  export declare function isStoreObject(init: t.Expression | null | undefined): boolean;
37
40
  /** Whether a const initializer creates a mutable object root. */
@@ -48,4 +51,5 @@ export declare function walkNodes(root: t.Node, visit: (node: t.Node, parent: t.
48
51
  export declare function nodeHasJsx(root: t.Node): boolean;
49
52
  /** Root state identifiers referenced by a raw AST subtree. */
50
53
  export declare function collectStateIds(ctx: Ctx, root: t.Node): Set<string>;
54
+ export {};
51
55
  //# sourceMappingURL=ast.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ast.d.ts","sourceRoot":"","sources":["../../src/context/ast.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ast.d.ts","sourceRoot":"","sources":["../../src/context/ast.ts"],"names":[],"mappings":"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"}
@@ -9,11 +9,14 @@ import type { NodePath } from '@babel/traverse';
9
9
  import * as t from '@babel/types';
10
10
  import type { ComponentPropsPlan, ControlFlowDerivation, LocalDerivation } from '../components/props';
11
11
  import type { GeneratedIdentifiers } from '../identifiers';
12
+ import type { CompilerRouteDefinition, CompilerRouteElement } from '../router';
12
13
  export interface MemoDomOptions {
13
14
  /** Module specifier compiled output imports the runtime from. */
14
15
  runtimePath?: string;
15
- /** Entity id of the root component. */
16
- rootId?: string;
16
+ /** Module specifier used by compiler-generated router integration. */
17
+ routerPath?: string;
18
+ /** Emit dev-only live-component ownership used by framework HMR adapters. */
19
+ hot?: boolean;
17
20
  /**
18
21
  * Stable identity for this source module. Defaults to `./component.tsx`.
19
22
  * Module-state keys are always `<moduleId>#<binding>[.<path>]`.
@@ -33,6 +36,15 @@ export interface MemoDomOptions {
33
36
  /** Linker-resolved render-slot props for declarations in this module. */
34
37
  linkedComponentRenderProps?: Record<string, string[]>;
35
38
  }
39
+ /** Compiler/linker-only root facts derived from an authored mount() call. */
40
+ export interface InternalMemoDomOptions extends MemoDomOptions {
41
+ rootId?: string;
42
+ rootComponent?: string;
43
+ /** Application-wide route graph supplied by compileModules(). */
44
+ linkedRoutes?: readonly CompilerRouteDefinition[];
45
+ /** Emit and install the application manifest from this module. */
46
+ emitRouteManifest?: boolean;
47
+ }
36
48
  export interface LinkedStateImport {
37
49
  type: 'state';
38
50
  kind: StateKind;
@@ -71,8 +83,8 @@ export interface LinkedComponentImport {
71
83
  hasWholeDefault: boolean;
72
84
  /** Whether keyed-row compilation can use the allocation-free row ABI. */
73
85
  listLightweight: boolean;
74
- /** Host event attributes can use a caller-owned delegated list root. */
75
- delegatedEvents?: boolean;
86
+ /** Host JSX event names prebound once by a keyed-list caller. */
87
+ delegatedEvents?: string[];
76
88
  /** Props consumed as compiler-owned mount slots. */
77
89
  renderProps?: string[];
78
90
  /** Props consumed as caller-owned structural row factories. */
@@ -147,6 +159,11 @@ export interface FnSummary {
147
159
  /** True when effects cannot be bounded to known roots or arguments. */
148
160
  unbounded: boolean;
149
161
  }
162
+ /**
163
+ * A `.map(...)` call, including optional-chained forms such as
164
+ * `items?.map(...)` or `resource.data?.map(...)`.
165
+ */
166
+ export type MapCallExpression = t.CallExpression | t.OptionalCallExpression;
150
167
  /** One owner-local list dependency addressable directly by its row key. */
151
168
  export interface TargetedListDependency {
152
169
  /** Instance-owned collection root whose writes require reconciliation. */
@@ -160,8 +177,9 @@ export interface KeyedListMutationPlan {
160
177
  keyPath: string[];
161
178
  keysVariable: string;
162
179
  targetedReason: string;
180
+ topologyReason: string;
163
181
  structuralReason: string;
164
- call: t.CallExpression;
182
+ call: MapCallExpression;
165
183
  }
166
184
  /** One compiler-owned reactive side effect declared in a component body. */
167
185
  export interface EffectSite {
@@ -202,8 +220,16 @@ export interface ModuleControlFlowDerivation {
202
220
  export type HelperPath = NodePath<t.FunctionDeclaration | t.ArrowFunctionExpression | t.FunctionExpression>;
203
221
  export interface Ctx {
204
222
  runtimePath: string;
223
+ routerPath: string;
205
224
  rootId: string;
225
+ rootComponent: string | null;
226
+ hot: boolean;
206
227
  moduleId: string;
228
+ linkedRoutes: readonly CompilerRouteDefinition[] | null;
229
+ emitRouteManifest: boolean;
230
+ routeElements: WeakMap<t.JSXElement, CompilerRouteElement>;
231
+ localRoutes: CompilerRouteDefinition[];
232
+ usesRouter: boolean;
207
233
  state: Map<string, StateKind>;
208
234
  /** Local binding name -> canonical state root. */
209
235
  stateKeys: Map<string, string>;
@@ -248,6 +274,8 @@ export interface Ctx {
248
274
  listedSites: Map<string, SiteRef[]>;
249
275
  /** Local declarations containing one or more host JSX event attributes. */
250
276
  componentsWithHostEvents: Set<string>;
277
+ /** Immutable event names captured before component AST emission mutates JSX. */
278
+ componentHostEvents: Map<string, string[]>;
251
279
  /** Components mounted lexically inside conditional branch factories. */
252
280
  conditionalComponentSites: Map<string, SiteRef[]>;
253
281
  /** Components mounted beneath keyed inline host-row factories. */
@@ -269,11 +297,11 @@ export interface Ctx {
269
297
  vars: Set<string>;
270
298
  }>;
271
299
  /** Map call → owner-local values whose changes affect only old/new keyed rows. */
272
- targetedListDependencies: WeakMap<t.CallExpression, TargetedListDependency[]>;
300
+ targetedListDependencies: WeakMap<MapCallExpression, TargetedListDependency[]>;
273
301
  /** Components that need dirty reasons for targeted list refreshes. */
274
302
  targetedListComponents: Set<string>;
275
303
  /** Map call -> direct keyed-item mutation journal used by that one list. */
276
- keyedListMutations: WeakMap<t.CallExpression, KeyedListMutationPlan>;
304
+ keyedListMutations: WeakMap<MapCallExpression, KeyedListMutationPlan>;
277
305
  /** Component -> source root -> journal plan, for handler write analysis. */
278
306
  keyedListMutationSources: Map<string, Map<string, KeyedListMutationPlan>>;
279
307
  /** Sources used by multiple list sites deliberately keep full reconciliation. */
@@ -298,6 +326,10 @@ export interface Ctx {
298
326
  instanceReasonIds: Map<string, Map<string, number>>;
299
327
  /** Components whose local dependency graph has skippable work. */
300
328
  selectiveDerivationComponents: Set<string>;
329
+ /** Components whose rendered output reads state controlled by opaque code. */
330
+ volatileComponents: Set<string>;
331
+ /** Component-local/module bindings whose current value is owned by opaque code. */
332
+ opaqueBindings: Map<string, Set<string>>;
301
333
  /** Compiler-owned reactive effects, in source order per component. */
302
334
  effects: Map<string, EffectSite[]>;
303
335
  /** Module-owned singleton effects, in source order. */
@@ -331,5 +363,5 @@ export interface Ctx {
331
363
  /** Compiler-wide allocator initialized from the original Program scope. */
332
364
  identifiers: GeneratedIdentifiers | null;
333
365
  }
334
- export declare function createCtx(opts?: MemoDomOptions): Ctx;
366
+ export declare function createCtx(opts?: InternalMemoDomOptions): Ctx;
335
367
  //# sourceMappingURL=model.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../src/context/model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../src/context/model.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAClC,OAAO,KAAK,EACV,kBAAkB,EAClB,qBAAqB,EACrB,eAAe,EAChB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,KAAK,EACV,uBAAuB,EACvB,oBAAoB,EACrB,MAAM,WAAW,CAAC;AAEnB,MAAM,WAAW,cAAc;IAC7B,iEAAiE;IACjE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sEAAsE;IACtE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,6EAA6E;IAC7E,GAAG,CAAC,EAAE,OAAO,CAAC;IACd;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAC7C,8EAA8E;IAC9E,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAChD,sEAAsE;IACtE,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,EAAE,CAAC,CAAC;IAC9D,2EAA2E;IAC3E,0BAA0B,CAAC,EAAE,MAAM,CACjC,MAAM,EACN,MAAM,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAC1C,CAAC;IACF,yEAAyE;IACzE,0BAA0B,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;CACvD;AAED,6EAA6E;AAC7E,MAAM,WAAW,sBAAuB,SAAQ,cAAc;IAC5D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iEAAiE;IACjE,YAAY,CAAC,EAAE,SAAS,uBAAuB,EAAE,CAAC;IAClD,kEAAkE;IAClE,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,SAAS,CAAC;IAChB,sEAAsE;IACtE,GAAG,EAAE,MAAM,CAAC;IACZ,0EAA0E;IAC1E,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,yEAAyE;IACzE,mBAAmB,CAAC,EAAE,+BAA+B,EAAE,CAAC;CACzD;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,UAAU,CAAC;IACjB,0EAA0E;IAC1E,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,8DAA8D;IAC9D,mBAAmB,CAAC,EAAE,+BAA+B,EAAE,CAAC;IACxD,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,oCAAoC;IACpC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,8DAA8D;IAC9D,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,0EAA0E;IAC1E,eAAe,EAAE,cAAc,EAAE,CAAC;IAClC,+DAA+D;IAC/D,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,WAAW,CAAC;IAClB,wDAAwD;IACxD,GAAG,EAAE,MAAM,CAAC;IACZ,yEAAyE;IACzE,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,WAAW,EAAE,OAAO,CAAC;IACrB,4EAA4E;IAC5E,mBAAmB,EAAE,OAAO,CAAC;IAC7B,eAAe,EAAE,OAAO,CAAC;IACzB,yEAAyE;IACzE,eAAe,EAAE,OAAO,CAAC;IACzB,iEAAiE;IACjE,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,oDAAoD;IACpD,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,+DAA+D;IAC/D,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,4EAA4E;IAC5E,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,+BACf,SAAQ,IAAI,CAAC,qBAAqB,EAAE,MAAM,CAAC;IAC3C,8DAA8D;IAC9D,MAAM,EAAE,MAAM,CAAC;IACf,2CAA2C;IAC3C,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,qBAAqB;IACpC,gEAAgE;IAChE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACzB,2EAA2E;IAC3E,SAAS,EAAE,MAAM,CAAC;IAClB,+EAA+E;IAC/E,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,yBAAyB;IACxC,4DAA4D;IAC5D,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,0EAA0E;IAC1E,YAAY,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,MAAM,YAAY,GACpB,iBAAiB,GACjB,oBAAoB,GACpB,qBAAqB,CAAC;AAE1B,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAED;;;;;;GAMG;AACH,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,OAAO,GAAG,OAAO,GAAG,UAAU,CAAC;AAE/D,MAAM,WAAW,QAAQ;IACvB;;;OAGG;IACH,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACrB,sEAAsE;IACtE,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,sFAAsF;AACtF,MAAM,WAAW,OAAO;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,0EAA0E;IAC1E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+EAA+E;IAC/E,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,4EAA4E;AAC5E,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACnB,oCAAoC;IACpC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACpB,0DAA0D;IAC1D,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC3B,0EAA0E;IAC1E,eAAe,EAAE,cAAc,EAAE,CAAC;IAClC,uEAAuE;IACvE,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,cAAc,GAAG,CAAC,CAAC,sBAAsB,CAAC;AAE5E,2EAA2E;AAC3E,MAAM,WAAW,sBAAsB;IACrC,0EAA0E;IAC1E,MAAM,EAAE,MAAM,CAAC;IACf,wEAAwE;IACxE,KAAK,EAAE,MAAM,CAAC;CACf;AAED,gFAAgF;AAChF,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,IAAI,EAAE,iBAAiB,CAAC;CACzB;AAED,4EAA4E;AAC5E,MAAM,WAAW,UAAU;IACzB,8DAA8D;IAC9D,KAAK,EAAE,MAAM,CAAC;IACd,qEAAqE;IACrE,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC;IACvB,+DAA+D;IAC/D,QAAQ,EAAE,CAAC,CAAC,UAAU,CAAC;IACvB,uEAAuE;IACvE,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACzB,uEAAuE;IACvE,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACxB,uDAAuD;IACvD,oBAAoB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAClC,yDAAyD;IACzD,SAAS,EAAE,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC;IAC/B,oBAAoB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAClC,mBAAmB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACjC,6BAA6B,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CAC5C;AAED,uEAAuE;AACvE,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC;IACvB,QAAQ,EAAE,CAAC,CAAC,UAAU,CAAC;IACvB,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACzB,SAAS,EAAE,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC;IAC/B,oBAAoB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAClC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,2BAA2B;IAC1C,SAAS,EAAE,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,eAAe,CAAC;IAC7C,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,UAAU,GAAG,QAAQ,CAC/B,CAAC,CAAC,mBAAmB,GAAG,CAAC,CAAC,uBAAuB,GAAG,CAAC,CAAC,kBAAkB,CACzE,CAAC;AAEF,MAAM,WAAW,GAAG;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,GAAG,EAAE,OAAO,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,SAAS,uBAAuB,EAAE,GAAG,IAAI,CAAC;IACxD,iBAAiB,EAAE,OAAO,CAAC;IAC3B,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC,UAAU,EAAE,oBAAoB,CAAC,CAAC;IAC3D,WAAW,EAAE,uBAAuB,EAAE,CAAC;IACvC,UAAU,EAAE,OAAO,CAAC;IAGpB,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC9B,kDAAkD;IAClD,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,wEAAwE;IACxE,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC1C,qBAAqB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC7C,wBAAwB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAChD,2BAA2B,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACnD,gCAAgC,EAAE,GAAG,CACnC,MAAM,EACN,+BAA+B,EAAE,CAClC,CAAC;IACF,iFAAiF;IACjF,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC3B,+EAA+E;IAC/E,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC1C,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;IACvD,+DAA+D;IAC/D,oBAAoB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC5C,oEAAoE;IACpE,mBAAmB,EAAE,GAAG,CAAC,MAAM,EAAE,qBAAqB,EAAE,CAAC,CAAC;IAC1D,0BAA0B,EAAE,GAAG,CAC7B,MAAM,EACN,GAAG,CAAC,MAAM,EAAE,yBAAyB,CAAC,CACvC,CAAC;IACF,0BAA0B,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAClD,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC7B,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC;IACxD,yFAAyF;IACzF,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACjC,mEAAmE;IACnE,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACpC,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACxC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IACpC,kEAAkE;IAClE,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACjD;;;;OAIG;IACH,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC9B;;;;OAIG;IACH,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IACpC,2EAA2E;IAC3E,wBAAwB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACtC,gFAAgF;IAChF,mBAAmB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC3C,wEAAwE;IACxE,yBAAyB,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IAClD,kEAAkE;IAClE,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IAC1C,mFAAmF;IACnF,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAChD,+FAA+F;IAC/F,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,oFAAoF;IACpF,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;KAAE,CAAC,CAAC;IAC5E,iGAAiG;IACjG,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;KAAE,CAAC,CAAC;IAC7E,kFAAkF;IAClF,wBAAwB,EAAE,OAAO,CAAC,iBAAiB,EAAE,sBAAsB,EAAE,CAAC,CAAC;IAC/E,sEAAsE;IACtE,sBAAsB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACpC,4EAA4E;IAC5E,kBAAkB,EAAE,OAAO,CAAC,iBAAiB,EAAE,qBAAqB,CAAC,CAAC;IACtE,4EAA4E;IAC5E,wBAAwB,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC,CAAC;IAC1E,iFAAiF;IACjF,gCAAgC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC9C;;;;;;;;OAQG;IACH,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IACxC,8EAA8E;IAC9E,mBAAmB,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,EAAE,CAAC,CAAC;IACpD,sEAAsE;IACtE,mBAAmB,EAAE,GAAG,CAAC,MAAM,EAAE,qBAAqB,EAAE,CAAC,CAAC;IAC1D,6EAA6E;IAC7E,uBAAuB,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAClD,yDAAyD;IACzD,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACpD,kEAAkE;IAClE,6BAA6B,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC3C,8EAA8E;IAC9E,kBAAkB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAChC,mFAAmF;IACnF,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IACzC,sEAAsE;IACtE,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;IACnC,uDAAuD;IACvD,aAAa,EAAE,gBAAgB,EAAE,CAAC;IAClC;;;;;;;;OAQG;IACH,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;KAAE,CAAC,CAAC;IAC/C,2DAA2D;IAC3D,iBAAiB,EAAE,2BAA2B,EAAE,CAAC;IAGjD,MAAM,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC;IACtB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAClC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,6EAA6E;IAC7E,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,oDAAoD;IACpD,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,+EAA+E;IAC/E,iBAAiB,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACnC,0EAA0E;IAC1E,oBAAoB,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC/C,2EAA2E;IAC3E,WAAW,EAAE,oBAAoB,GAAG,IAAI,CAAC;CAC1C;AAED,wBAAgB,SAAS,CAAC,IAAI,GAAE,sBAA2B,GAAG,GAAG,CA+KhE"}
@@ -0,0 +1,18 @@
1
+ import { type MemoDomOptions } from './compile';
2
+ import { type CompileModulesOptions } from './linker';
3
+ export declare const compilerDiagnosticCode = 98000;
4
+ export declare const compilerDiagnosticSource = "memoized-dom";
5
+ export interface CompilerDiagnostic {
6
+ code: typeof compilerDiagnosticCode;
7
+ source: typeof compilerDiagnosticSource;
8
+ severity: 'error';
9
+ message: string;
10
+ moduleId?: string;
11
+ line?: number;
12
+ column?: number;
13
+ }
14
+ /** Convert every compiler failure into the package's stable feedback shape. */
15
+ export declare function toCompilerDiagnostic(value: unknown, moduleIds?: readonly string[]): CompilerDiagnostic;
16
+ export declare function diagnose(source: string, options?: MemoDomOptions): CompilerDiagnostic[];
17
+ export declare function diagnoseModules(modules: Readonly<Record<string, string>>, options?: CompileModulesOptions): CompilerDiagnostic[];
18
+ //# sourceMappingURL=diagnostics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../src/diagnostics.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,KAAK,cAAc,EAAE,MAAM,WAAW,CAAC;AACzD,OAAO,EAEL,KAAK,qBAAqB,EAC3B,MAAM,UAAU,CAAC;AAElB,eAAO,MAAM,sBAAsB,QAAQ,CAAC;AAC5C,eAAO,MAAM,wBAAwB,iBAAiB,CAAC;AAEvD,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,OAAO,sBAAsB,CAAC;IACpC,MAAM,EAAE,OAAO,wBAAwB,CAAC;IACxC,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AA2BD,+EAA+E;AAC/E,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,OAAO,EACd,SAAS,GAAE,SAAS,MAAM,EAAO,GAChC,kBAAkB,CAkCpB;AAED,wBAAgB,QAAQ,CACtB,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,cAAmB,GAC3B,kBAAkB,EAAE,CAStB;AAED,wBAAgB,eAAe,CAC7B,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EACzC,OAAO,GAAE,qBAA0B,GAClC,kBAAkB,EAAE,CAOtB"}
@@ -1 +1 @@
1
- {"version":3,"file":"effects.d.ts","sourceRoot":"","sources":["../src/effects.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAClC,OAAO,EAIL,KAAK,GAAG,EACR,KAAK,UAAU,EAEhB,MAAM,WAAW,CAAC;AAInB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AA6flD;;GAEG;AACH,wBAAgB,WAAW,CACzB,GAAG,EAAE,GAAG,EACR,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,GAC/B,IAAI,CAuFN;AAoDD;;GAEG;AACH,wBAAgB,6BAA6B,CAC3C,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,KAAK,EAAE,UAAU,EAAE,EACnB,KAAK,CAAC,EAAE,SAAS,GAChB,CAAC,CAAC,SAAS,CAkGb;AAED,+EAA+E;AAC/E,wBAAgB,wBAAwB,CACtC,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,UAAU,EAAE,GAClB,CAAC,CAAC,SAAS,EAAE,CA0Bf;AASD,qEAAqE;AACrE,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,GAAG,EACR,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,GAC/B,IAAI,CA+DN;AAED,wEAAwE;AACxE,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,GAC/B,IAAI,CAUN"}
1
+ {"version":3,"file":"effects.d.ts","sourceRoot":"","sources":["../src/effects.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAClC,OAAO,EAIL,KAAK,GAAG,EACR,KAAK,UAAU,EAEhB,MAAM,WAAW,CAAC;AAInB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AA6flD;;GAEG;AACH,wBAAgB,WAAW,CACzB,GAAG,EAAE,GAAG,EACR,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,GAC/B,IAAI,CAuFN;AAqFD;;GAEG;AACH,wBAAgB,6BAA6B,CAC3C,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,KAAK,EAAE,UAAU,EAAE,EACnB,KAAK,CAAC,EAAE,SAAS,GAChB,CAAC,CAAC,SAAS,CAsGb;AAED,+EAA+E;AAC/E,wBAAgB,wBAAwB,CACtC,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,UAAU,EAAE,GAClB,CAAC,CAAC,SAAS,EAAE,CA0Bf;AASD,qEAAqE;AACrE,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,GAAG,EACR,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,GAC/B,IAAI,CA+DN;AAED,wEAAwE;AACxE,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,GAC/B,IAAI,CAUN"}
@@ -1 +1 @@
1
- {"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../src/emission/component.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAElC,OAAO,EAEL,KAAK,GAAG,EAET,MAAM,YAAY,CAAC;AAgCpB,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,GAAG,EACR,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,mBAAmB,CAAC,EACrC,IAAI,EAAE,MAAM,GACX,IAAI,CAgSN"}
1
+ {"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../src/emission/component.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAElC,OAAO,EAEL,KAAK,GAAG,EAKT,MAAM,YAAY,CAAC;AA+LpB,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,GAAG,EACR,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,mBAAmB,CAAC,EACrC,IAAI,EAAE,MAAM,GACX,IAAI,CA8NN"}
@@ -1 +1 @@
1
- {"version":3,"file":"conditional-region.d.ts","sourceRoot":"","sources":["../../src/emission/conditional-region.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAClC,OAAO,EAEL,KAAK,GAAG,EACT,MAAM,YAAY,CAAC;AAGpB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAKL,KAAK,SAAS,EACf,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAElD,uEAAuE;AACvE,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,SAAS,EAChB,UAAU,EAAE,CAAC,CAAC,qBAAqB,GAAG,CAAC,CAAC,iBAAiB,EACzD,qBAAqB,EAAE,MAAM,EAC7B,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC,mBAAmB,CAAC,EAC9C,QAAQ,EAAE,WAAW,EACrB,KAAK,UAAQ,EACb,OAAO,GAAE,CAAC,CAAC,UAA4C,EACvD,gBAAgB,UAAQ,GACvB,IAAI,CA+EN;AAED,yEAAyE;AACzE,wBAAgB,4BAA4B,CAC1C,GAAG,EAAE,GAAG,EACR,GAAG,EAAE,OAAO,EACZ,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC,mBAAmB,CAAC,EAC9C,QAAQ,EAAE,CAAC,CAAC,UAAU,EACtB,QAAQ,EAAE,WAAW,EACrB,KAAK,UAAQ,EACb,OAAO,GAAE,CAAC,CAAC,UAAqB,EAChC,eAAe,UAAQ,EACvB,cAAc,CAAC,EAAE;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,GACjC,CAAC,CAAC,uBAAuB,CAwF3B"}
1
+ {"version":3,"file":"conditional-region.d.ts","sourceRoot":"","sources":["../../src/emission/conditional-region.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAClC,OAAO,EAEL,KAAK,GAAG,EACT,MAAM,YAAY,CAAC;AAGpB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAKL,KAAK,SAAS,EACf,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAElD,uEAAuE;AACvE,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,SAAS,EAChB,UAAU,EAAE,CAAC,CAAC,qBAAqB,GAAG,CAAC,CAAC,iBAAiB,EACzD,qBAAqB,EAAE,MAAM,EAC7B,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC,mBAAmB,CAAC,EAC9C,QAAQ,EAAE,WAAW,EACrB,KAAK,UAAQ,EACb,OAAO,GAAE,CAAC,CAAC,UAA4C,EACvD,gBAAgB,UAAQ,GACvB,IAAI,CAgFN;AAED,yEAAyE;AACzE,wBAAgB,4BAA4B,CAC1C,GAAG,EAAE,GAAG,EACR,GAAG,EAAE,OAAO,EACZ,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC,mBAAmB,CAAC,EAC9C,QAAQ,EAAE,CAAC,CAAC,UAAU,EACtB,QAAQ,EAAE,WAAW,EACrB,KAAK,UAAQ,EACb,OAAO,GAAE,CAAC,CAAC,UAAqB,EAChC,eAAe,UAAQ,EACvB,cAAc,CAAC,EAAE;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,GACjC,CAAC,CAAC,uBAAuB,CAwF3B"}
@@ -1,10 +1,11 @@
1
1
  import type { NodePath } from '@babel/traverse';
2
2
  import * as t from '@babel/types';
3
3
  import { type Ctx, type RowCtx } from '../context';
4
+ import { type MapCallExpression } from '../lists';
4
5
  import { type JsxChild } from '../components/children';
5
6
  import { type EmitScope } from './scope';
6
7
  import type { NodeEmitter } from './node-emitter';
7
8
  export type AuthoredChildrenSlotBuilder = (ctx: Ctx, ownerScope: EmitScope, children: readonly JsxChild[], componentName: string, componentPath: NodePath<t.FunctionDeclaration>, nestedIn: 'row' | 'cond' | null, rowContext: RowCtx | undefined, eventOriginId: t.Expression | undefined, inSvg: boolean, ownerId: t.Expression) => t.Identifier;
8
9
  /** Emit a keyed list region and its row factory. */
9
- export declare function emitListRegion(ctx: Ctx, scope: EmitScope, call: t.CallExpression, parentElementVariable: string, componentName: string, componentPath: NodePath<t.FunctionDeclaration>, emitNode: NodeEmitter, buildAuthoredChildrenSlot: AuthoredChildrenSlotBuilder, inSvg?: boolean, ownerId?: t.Expression, parentRow?: RowCtx): void;
10
+ export declare function emitListRegion(ctx: Ctx, scope: EmitScope, call: MapCallExpression, parentElementVariable: string, componentName: string, componentPath: NodePath<t.FunctionDeclaration>, emitNode: NodeEmitter, buildAuthoredChildrenSlot: AuthoredChildrenSlotBuilder, inSvg?: boolean, ownerId?: t.Expression, parentRow?: RowCtx): void;
10
11
  //# sourceMappingURL=list-region.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"list-region.d.ts","sourceRoot":"","sources":["../../src/emission/list-region.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAClC,OAAO,EAIL,KAAK,GAAG,EACR,KAAK,MAAM,EACZ,MAAM,YAAY,CAAC;AAQpB,OAAO,EAGL,KAAK,QAAQ,EACd,MAAM,wBAAwB,CAAC;AAahC,OAAO,EAKL,KAAK,SAAS,EACf,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAYlD,MAAM,MAAM,2BAA2B,GAAG,CACxC,GAAG,EAAE,GAAG,EACR,UAAU,EAAE,SAAS,EACrB,QAAQ,EAAE,SAAS,QAAQ,EAAE,EAC7B,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC,mBAAmB,CAAC,EAC9C,QAAQ,EAAE,KAAK,GAAG,MAAM,GAAG,IAAI,EAC/B,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,aAAa,EAAE,CAAC,CAAC,UAAU,GAAG,SAAS,EACvC,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,CAAC,CAAC,UAAU,KAClB,CAAC,CAAC,UAAU,CAAC;AAElB,oDAAoD;AACpD,wBAAgB,cAAc,CAC5B,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,SAAS,EAChB,IAAI,EAAE,CAAC,CAAC,cAAc,EACtB,qBAAqB,EAAE,MAAM,EAC7B,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC,mBAAmB,CAAC,EAC9C,QAAQ,EAAE,WAAW,EACrB,yBAAyB,EAAE,2BAA2B,EACtD,KAAK,UAAQ,EACb,OAAO,GAAE,CAAC,CAAC,UAA4C,EACvD,SAAS,CAAC,EAAE,MAAM,GACjB,IAAI,CAgKN"}
1
+ {"version":3,"file":"list-region.d.ts","sourceRoot":"","sources":["../../src/emission/list-region.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAClC,OAAO,EAIL,KAAK,GAAG,EACR,KAAK,MAAM,EACZ,MAAM,YAAY,CAAC;AAMpB,OAAO,EAAkB,KAAK,iBAAiB,EAAgB,MAAM,UAAU,CAAC;AAEhF,OAAO,EAGL,KAAK,QAAQ,EACd,MAAM,wBAAwB,CAAC;AAchC,OAAO,EAKL,KAAK,SAAS,EACf,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAalD,MAAM,MAAM,2BAA2B,GAAG,CACxC,GAAG,EAAE,GAAG,EACR,UAAU,EAAE,SAAS,EACrB,QAAQ,EAAE,SAAS,QAAQ,EAAE,EAC7B,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC,mBAAmB,CAAC,EAC9C,QAAQ,EAAE,KAAK,GAAG,MAAM,GAAG,IAAI,EAC/B,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,aAAa,EAAE,CAAC,CAAC,UAAU,GAAG,SAAS,EACvC,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,CAAC,CAAC,UAAU,KAClB,CAAC,CAAC,UAAU,CAAC;AAYlB,oDAAoD;AACpD,wBAAgB,cAAc,CAC5B,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,SAAS,EAChB,IAAI,EAAE,iBAAiB,EACvB,qBAAqB,EAAE,MAAM,EAC7B,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC,mBAAmB,CAAC,EAC9C,QAAQ,EAAE,WAAW,EACrB,yBAAyB,EAAE,2BAA2B,EACtD,KAAK,UAAQ,EACb,OAAO,GAAE,CAAC,CAAC,UAA4C,EACvD,SAAS,CAAC,EAAE,MAAM,GACjB,IAAI,CAiMN"}
@@ -1 +1 @@
1
- {"version":3,"file":"render-callback.d.ts","sourceRoot":"","sources":["../../src/emission/render-callback.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAElC,OAAO,EAGL,KAAK,GAAG,EAET,MAAM,YAAY,CAAC;AAEpB,OAAO,EAKL,KAAK,SAAS,EACf,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAkBlD;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CACxC,GAAG,EAAE,GAAG,EACR,UAAU,EAAE,SAAS,EACrB,MAAM,EAAE,CAAC,CAAC,UAAU,EACpB,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC,mBAAmB,CAAC,EAC9C,QAAQ,EAAE,WAAW,EACrB,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,CAAC,CAAC,UAAU,GACpB,CAAC,CAAC,UAAU,CAiPd"}
1
+ {"version":3,"file":"render-callback.d.ts","sourceRoot":"","sources":["../../src/emission/render-callback.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAElC,OAAO,EAGL,KAAK,GAAG,EAET,MAAM,YAAY,CAAC;AAEpB,OAAO,EAKL,KAAK,SAAS,EACf,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAkBlD;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CACxC,GAAG,EAAE,GAAG,EACR,UAAU,EAAE,SAAS,EACrB,MAAM,EAAE,CAAC,CAAC,UAAU,EACpB,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC,mBAAmB,CAAC,EAC9C,QAAQ,EAAE,WAAW,EACrB,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,CAAC,CAAC,UAAU,GACpB,CAAC,CAAC,UAAU,CA8Od"}
@@ -0,0 +1,9 @@
1
+ /** Anchored DOM region controlled by one compiler-generated route match ID. */
2
+ import type { NodePath } from '@babel/traverse';
3
+ import * as t from '@babel/types';
4
+ import type { Ctx } from '../context';
5
+ import type { CompilerRouteElement } from '../router';
6
+ import type { EmitScope } from './scope';
7
+ import type { NodeEmitter } from './node-emitter';
8
+ export declare function emitRouteRegion(ctx: Ctx, scope: EmitScope, element: t.JSXElement, route: CompilerRouteElement, componentName: string, componentPath: NodePath<t.FunctionDeclaration>, emitNode: NodeEmitter, inSvg: boolean, ownerId: t.Expression): string;
9
+ //# sourceMappingURL=route-region.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"route-region.d.ts","sourceRoot":"","sources":["../../src/emission/route-region.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAE/E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAClC,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACtD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEzC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAGlD,wBAAgB,eAAe,CAC7B,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,SAAS,EAChB,OAAO,EAAE,CAAC,CAAC,UAAU,EACrB,KAAK,EAAE,oBAAoB,EAC3B,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC,mBAAmB,CAAC,EAC9C,QAAQ,EAAE,WAAW,EACrB,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,CAAC,CAAC,UAAU,GACpB,MAAM,CAkJR"}