@memoized-dom/compiler 0.0.5 → 0.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +106 -78
- package/dist/analysis/access-table.d.ts +1 -1
- package/dist/analysis/access-table.d.ts.map +1 -1
- package/dist/analysis/component-graph.d.ts +16 -1
- package/dist/analysis/component-graph.d.ts.map +1 -1
- package/dist/analysis/component-reads.d.ts +1 -1
- package/dist/analysis/component-reads.d.ts.map +1 -1
- package/dist/analysis/computed.d.ts +9 -5
- package/dist/analysis/computed.d.ts.map +1 -1
- package/dist/analysis/instance-control-flow.d.ts +1 -1
- package/dist/analysis/instance-control-flow.d.ts.map +1 -1
- package/dist/analysis/instance.d.ts +3 -4
- package/dist/analysis/instance.d.ts.map +1 -1
- package/dist/analysis/module-discovery.d.ts +27 -0
- package/dist/analysis/module-discovery.d.ts.map +1 -0
- package/dist/analysis/opaque-volatility.d.ts +1 -1
- package/dist/analysis/opaque-volatility.d.ts.map +1 -1
- package/dist/analysis/runtime-pattern.d.ts +3 -4
- package/dist/analysis/runtime-pattern.d.ts.map +1 -1
- package/dist/analysis/type-candidates.d.ts +15 -3
- package/dist/analysis/type-candidates.d.ts.map +1 -1
- package/dist/analysis.d.ts +7 -4
- package/dist/analysis.d.ts.map +1 -1
- package/dist/ast/builders.d.ts +108 -0
- package/dist/ast/builders.d.ts.map +1 -0
- package/dist/ast/compiler-types.d.ts +196 -0
- package/dist/ast/compiler-types.d.ts.map +1 -0
- package/dist/ast/factory.d.ts +139 -0
- package/dist/ast/factory.d.ts.map +1 -0
- package/dist/ast/index.d.ts +15 -0
- package/dist/ast/index.d.ts.map +1 -0
- package/dist/ast/mutate.d.ts +17 -0
- package/dist/ast/mutate.d.ts.map +1 -0
- package/dist/ast/normalize.d.ts +9 -0
- package/dist/ast/normalize.d.ts.map +1 -0
- package/dist/ast/parser.d.ts +72 -0
- package/dist/ast/parser.d.ts.map +1 -0
- package/dist/ast/printer.d.ts +23 -0
- package/dist/ast/printer.d.ts.map +1 -0
- package/dist/ast/scope.d.ts +44 -0
- package/dist/ast/scope.d.ts.map +1 -0
- package/dist/ast/strip-typescript.d.ts +9 -0
- package/dist/ast/strip-typescript.d.ts.map +1 -0
- package/dist/ast/transform.d.ts +21 -0
- package/dist/ast/transform.d.ts.map +1 -0
- package/dist/ast/tsrx/frontend.d.ts +8 -0
- package/dist/ast/tsrx/frontend.d.ts.map +1 -0
- package/dist/ast/tsrx/index.d.ts +5 -0
- package/dist/ast/tsrx/index.d.ts.map +1 -0
- package/dist/ast/tsrx/lower.d.ts +8 -0
- package/dist/ast/tsrx/lower.d.ts.map +1 -0
- package/dist/ast/tsrx/style.d.ts +8 -0
- package/dist/ast/tsrx/style.d.ts.map +1 -0
- package/dist/ast/tsrx/types.d.ts +50 -0
- package/dist/ast/tsrx/types.d.ts.map +1 -0
- package/dist/ast/types.d.ts +478 -0
- package/dist/ast/types.d.ts.map +1 -0
- package/dist/ast/walk.d.ts +22 -0
- package/dist/ast/walk.d.ts.map +1 -0
- package/dist/cells.d.ts +10 -0
- package/dist/cells.d.ts.map +1 -0
- package/dist/compile.d.ts +14 -20
- package/dist/compile.d.ts.map +1 -1
- package/dist/components/callback-props.d.ts +1 -1
- package/dist/components/callback-props.d.ts.map +1 -1
- package/dist/components/calls.d.ts +1 -1
- package/dist/components/calls.d.ts.map +1 -1
- package/dist/components/children.d.ts +3 -2
- package/dist/components/children.d.ts.map +1 -1
- package/dist/components/declarations.d.ts +10 -3
- package/dist/components/declarations.d.ts.map +1 -1
- package/dist/components/jsx-values.d.ts +2 -4
- package/dist/components/jsx-values.d.ts.map +1 -1
- package/dist/components/local-derived.d.ts +1 -1
- package/dist/components/local-derived.d.ts.map +1 -1
- package/dist/components/manifest.d.ts +2 -3
- package/dist/components/manifest.d.ts.map +1 -1
- package/dist/components/prop-effects.d.ts.map +1 -1
- package/dist/components/prop-linker.d.ts.map +1 -1
- package/dist/components/prop-origins.d.ts +2 -0
- package/dist/components/prop-origins.d.ts.map +1 -1
- package/dist/components/prop-projections.d.ts.map +1 -1
- package/dist/components/prop-shape.d.ts +11 -0
- package/dist/components/prop-shape.d.ts.map +1 -0
- package/dist/components/props.d.ts +9 -1
- package/dist/components/props.d.ts.map +1 -1
- package/dist/components/ref-props.d.ts.map +1 -1
- package/dist/components/render-callbacks.d.ts +7 -3
- package/dist/components/render-callbacks.d.ts.map +1 -1
- package/dist/components/render-functions.d.ts +1 -0
- package/dist/components/render-functions.d.ts.map +1 -1
- package/dist/components/render-prelude.d.ts +1 -1
- package/dist/components/render-prelude.d.ts.map +1 -1
- package/dist/components/return-plan.d.ts +13 -7
- package/dist/components/return-plan.d.ts.map +1 -1
- package/dist/conds.d.ts +6 -3
- package/dist/conds.d.ts.map +1 -1
- package/dist/context/ast.d.ts +11 -2
- package/dist/context/ast.d.ts.map +1 -1
- package/dist/context/model.d.ts +111 -7
- package/dist/context/model.d.ts.map +1 -1
- package/dist/data-sources.d.ts +78 -0
- package/dist/data-sources.d.ts.map +1 -0
- package/dist/diagnostics.d.ts +2 -0
- package/dist/diagnostics.d.ts.map +1 -1
- package/dist/effects.d.ts +13 -5
- package/dist/effects.d.ts.map +1 -1
- package/dist/emission/component.d.ts +3 -3
- package/dist/emission/component.d.ts.map +1 -1
- package/dist/emission/conditional-region.d.ts +6 -5
- package/dist/emission/conditional-region.d.ts.map +1 -1
- package/dist/emission/dom-template.d.ts.map +1 -1
- package/dist/emission/list-region.d.ts +5 -4
- package/dist/emission/list-region.d.ts.map +1 -1
- package/dist/emission/node-emitter.d.ts +4 -3
- package/dist/emission/node-emitter.d.ts.map +1 -1
- package/dist/emission/render-callback.d.ts +4 -3
- package/dist/emission/render-callback.d.ts.map +1 -1
- package/dist/emission/route-region.d.ts +4 -3
- package/dist/emission/route-region.d.ts.map +1 -1
- package/dist/emission/scope.d.ts +13 -1
- package/dist/emission/scope.d.ts.map +1 -1
- package/dist/emit.d.ts +5 -4
- package/dist/emit.d.ts.map +1 -1
- package/dist/errors.d.ts +15 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/handler-commits.d.ts +6 -1
- package/dist/handler-commits.d.ts.map +1 -1
- package/dist/handler-origin.d.ts +1 -1
- package/dist/handler-origin.d.ts.map +1 -1
- package/dist/handlers/analyze.d.ts +1 -1
- package/dist/handlers/analyze.d.ts.map +1 -1
- package/dist/handlers/local-calls.d.ts +2 -2
- package/dist/handlers/local-calls.d.ts.map +1 -1
- package/dist/handlers.d.ts +6 -5
- package/dist/handlers.d.ts.map +1 -1
- package/dist/helper-summaries.d.ts +2 -3
- package/dist/helper-summaries.d.ts.map +1 -1
- package/dist/identifiers.d.ts +13 -8
- package/dist/identifiers.d.ts.map +1 -1
- package/dist/index.d.ts +4 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/jsx/attributes.d.ts +1 -1
- package/dist/jsx/attributes.d.ts.map +1 -1
- package/dist/jsx/children.d.ts +1 -1
- package/dist/jsx/children.d.ts.map +1 -1
- package/dist/jsx/conditional-directives.d.ts +12 -3
- package/dist/jsx/conditional-directives.d.ts.map +1 -1
- package/dist/jsx/dom-attributes.d.ts +1 -1
- package/dist/jsx/dom-attributes.d.ts.map +1 -1
- package/dist/jsx/dynamic-tags.d.ts +9 -15
- package/dist/jsx/dynamic-tags.d.ts.map +1 -1
- package/dist/jsx/events.d.ts +2 -2
- package/dist/jsx/events.d.ts.map +1 -1
- package/dist/jsx/refs.d.ts +5 -4
- package/dist/jsx/refs.d.ts.map +1 -1
- package/dist/jsx/svg.d.ts +2 -2
- package/dist/jsx/svg.d.ts.map +1 -1
- package/dist/jsx-types.d.ts +4 -1
- package/dist/jsx-types.d.ts.map +1 -1
- package/dist/lifecycle.d.ts +10 -5
- package/dist/lifecycle.d.ts.map +1 -1
- package/dist/linker.d.ts +7 -1
- package/dist/linker.d.ts.map +1 -1
- package/dist/lists/calculated-sources.d.ts +1 -1
- package/dist/lists/calculated-sources.d.ts.map +1 -1
- package/dist/lists/map-site.d.ts +11 -5
- package/dist/lists/map-site.d.ts.map +1 -1
- package/dist/lists/source-shapes.d.ts +12 -3
- package/dist/lists/source-shapes.d.ts.map +1 -1
- package/dist/lists/static-derived.d.ts +37 -0
- package/dist/lists/static-derived.d.ts.map +1 -0
- package/dist/lists/targeted-refresh.d.ts +9 -2
- package/dist/lists/targeted-refresh.d.ts.map +1 -1
- package/dist/module-control-flow.d.ts +7 -6
- package/dist/module-control-flow.d.ts.map +1 -1
- package/dist/mutation-analysis.d.ts +22 -8
- package/dist/mutation-analysis.d.ts.map +1 -1
- package/dist/plugin.d.ts +10 -6
- package/dist/plugin.d.ts.map +1 -1
- package/dist/router.d.ts +8 -4
- package/dist/router.d.ts.map +1 -1
- package/dist/server-functions.d.ts +49 -0
- package/dist/server-functions.d.ts.map +1 -0
- package/package.json +34 -36
package/dist/context/model.d.ts
CHANGED
|
@@ -5,16 +5,27 @@
|
|
|
5
5
|
* the plugin shell in plugin.ts stays a thin visitor wiring layer. One Ctx
|
|
6
6
|
* is created per compiled module.
|
|
7
7
|
*/
|
|
8
|
-
import type
|
|
9
|
-
import
|
|
8
|
+
import type * as t from '../ast/compiler-types';
|
|
9
|
+
import type { ScopeAnalysis } from '../ast';
|
|
10
10
|
import type { ComponentPropsPlan, ControlFlowDerivation, LocalDerivation } from '../components/props';
|
|
11
11
|
import type { GeneratedIdentifiers } from '../identifiers';
|
|
12
12
|
import type { CompilerRouteDefinition, CompilerRouteElement } from '../router';
|
|
13
|
+
export declare const DEFAULT_TRANSPARENT_ASYNC_SOURCES: readonly TransparentAsyncSourceDefinition[];
|
|
13
14
|
export interface MemoDomOptions {
|
|
14
15
|
/** Module specifier compiled output imports the runtime from. */
|
|
15
16
|
runtimePath?: string;
|
|
17
|
+
/** Dev-only runtime subpath used by compiler-emitted HMR ownership. */
|
|
18
|
+
hotRuntimePath?: string;
|
|
16
19
|
/** Module specifier used by compiler-generated router integration. */
|
|
17
20
|
routerPath?: string;
|
|
21
|
+
/** Runtime helpers used by compiler-transparent async data sources. */
|
|
22
|
+
dataRuntimePath?: string;
|
|
23
|
+
/**
|
|
24
|
+
* Library declarations that participate in transparent async lowering.
|
|
25
|
+
* The default describes @memoized-dom/data without baking its local import
|
|
26
|
+
* aliases into the analysis.
|
|
27
|
+
*/
|
|
28
|
+
transparentAsyncSources?: readonly TransparentAsyncSourceDefinition[];
|
|
18
29
|
/** Emit dev-only live-component ownership used by framework HMR adapters. */
|
|
19
30
|
hot?: boolean;
|
|
20
31
|
/**
|
|
@@ -35,6 +46,36 @@ export interface MemoDomOptions {
|
|
|
35
46
|
linkedComponentPropSources?: Record<string, Record<string, LinkedComponentPropSource>>;
|
|
36
47
|
/** Linker-resolved render-slot props for declarations in this module. */
|
|
37
48
|
linkedComponentRenderProps?: Record<string, string[]>;
|
|
49
|
+
/**
|
|
50
|
+
* SSR Phase 1.3 lowering: rewrite reactive module-state bindings into
|
|
51
|
+
* request-owned state-cell operations (server builds only).
|
|
52
|
+
*/
|
|
53
|
+
moduleStateCells?: boolean;
|
|
54
|
+
}
|
|
55
|
+
export interface TransparentAsyncSourceDefinition {
|
|
56
|
+
/** Public module from which the authored intrinsics are imported. */
|
|
57
|
+
module: string;
|
|
58
|
+
/** Export that creates a transparent source value. */
|
|
59
|
+
source: string;
|
|
60
|
+
/** Export that exposes reactive request state without resolving the value. */
|
|
61
|
+
track?: string;
|
|
62
|
+
/** Export that exposes imperative operations without resolving the value. */
|
|
63
|
+
operations?: string;
|
|
64
|
+
/** Compile-time local presentation boundary and its policy declarations. */
|
|
65
|
+
group?: string;
|
|
66
|
+
pending?: string;
|
|
67
|
+
error?: string;
|
|
68
|
+
}
|
|
69
|
+
export interface TransparentPresentationPolicy {
|
|
70
|
+
pending: string | TransparentPresentationComponent;
|
|
71
|
+
error: string | TransparentPresentationComponent;
|
|
72
|
+
}
|
|
73
|
+
export interface TransparentPresentationComponent {
|
|
74
|
+
component: string;
|
|
75
|
+
props: ReadonlyArray<{
|
|
76
|
+
name: string;
|
|
77
|
+
value: t.Expression;
|
|
78
|
+
}>;
|
|
38
79
|
}
|
|
39
80
|
/** Compiler/linker-only root facts derived from an authored mount() call. */
|
|
40
81
|
export interface InternalMemoDomOptions extends MemoDomOptions {
|
|
@@ -50,6 +91,8 @@ export interface LinkedStateImport {
|
|
|
50
91
|
kind: StateKind;
|
|
51
92
|
/** Canonical root key of the defining export (`./state.ts#store`). */
|
|
52
93
|
key: string;
|
|
94
|
+
/** RFC §16.4: import carries a module transparent-source ref. */
|
|
95
|
+
transparentSource?: boolean;
|
|
53
96
|
/** Finite intrinsic-tag identities declared by a string-literal union. */
|
|
54
97
|
tagCandidates?: string[];
|
|
55
98
|
/** Finite component identities reachable through this state/registry. */
|
|
@@ -57,6 +100,10 @@ export interface LinkedStateImport {
|
|
|
57
100
|
}
|
|
58
101
|
export interface LinkedFunctionImport {
|
|
59
102
|
type: 'function';
|
|
103
|
+
/** Calling this imported function creates a compiler-transparent source. */
|
|
104
|
+
transparentSourceFactory?: boolean;
|
|
105
|
+
/** HTTP method carried by a generated server-function source factory. */
|
|
106
|
+
transparentSourceMethod?: TransparentSourceMethod;
|
|
60
107
|
/** Finite intrinsic-tag identities declared by the helper return type. */
|
|
61
108
|
tagCandidates?: string[];
|
|
62
109
|
/** Finite component identities declared by helper returns. */
|
|
@@ -71,6 +118,7 @@ export interface LinkedFunctionImport {
|
|
|
71
118
|
/** Effects may extend beyond every known root and argument. */
|
|
72
119
|
unbounded: boolean;
|
|
73
120
|
}
|
|
121
|
+
export type TransparentSourceMethod = 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE';
|
|
74
122
|
export interface LinkedComponentImport {
|
|
75
123
|
type: 'component';
|
|
76
124
|
/** Canonical declaration identity (`./Row.tsx#Row`). */
|
|
@@ -113,8 +161,13 @@ export interface LinkedComponentPropSource {
|
|
|
113
161
|
keys: string[];
|
|
114
162
|
/** At least one call site cannot be bounded to canonical module state. */
|
|
115
163
|
rootFallback: boolean;
|
|
164
|
+
/** The prop carries a compiler-transparent async source holder. */
|
|
165
|
+
transparent?: boolean;
|
|
166
|
+
}
|
|
167
|
+
export interface LinkedValueImport {
|
|
168
|
+
type: 'value';
|
|
116
169
|
}
|
|
117
|
-
export type LinkedImport = LinkedStateImport | LinkedFunctionImport | LinkedComponentImport;
|
|
170
|
+
export type LinkedImport = LinkedStateImport | LinkedFunctionImport | LinkedComponentImport | LinkedValueImport;
|
|
118
171
|
export interface ParameterWrite {
|
|
119
172
|
index: number;
|
|
120
173
|
path: string[];
|
|
@@ -177,7 +230,6 @@ export interface KeyedListMutationPlan {
|
|
|
177
230
|
keyPath: string[];
|
|
178
231
|
keysVariable: string;
|
|
179
232
|
targetedReason: string;
|
|
180
|
-
topologyReason: string;
|
|
181
233
|
structuralReason: string;
|
|
182
234
|
call: MapCallExpression;
|
|
183
235
|
}
|
|
@@ -217,25 +269,62 @@ export interface ModuleControlFlowDerivation {
|
|
|
217
269
|
sources: string[];
|
|
218
270
|
entityId: string;
|
|
219
271
|
}
|
|
220
|
-
export
|
|
272
|
+
export interface CompilerPath<TNode extends t.Node> {
|
|
273
|
+
node: TNode;
|
|
274
|
+
buildCodeFrameError(message: string, at?: t.Node): Error;
|
|
275
|
+
}
|
|
276
|
+
export type HelperPath = CompilerPath<t.FunctionDeclaration | t.ArrowFunctionExpression | t.FunctionExpression>;
|
|
221
277
|
export interface Ctx {
|
|
222
278
|
runtimePath: string;
|
|
279
|
+
hotRuntimePath: string;
|
|
223
280
|
routerPath: string;
|
|
281
|
+
dataRuntimePath: string;
|
|
282
|
+
transparentAsyncSources: readonly TransparentAsyncSourceDefinition[];
|
|
224
283
|
rootId: string;
|
|
225
284
|
rootComponent: string | null;
|
|
226
285
|
hot: boolean;
|
|
286
|
+
/** SSR Phase 1.3 lowering: lower reactive module state into request cells. */
|
|
287
|
+
moduleStateCells: boolean;
|
|
227
288
|
moduleId: string;
|
|
228
289
|
linkedRoutes: readonly CompilerRouteDefinition[] | null;
|
|
229
290
|
emitRouteManifest: boolean;
|
|
230
291
|
routeElements: WeakMap<t.JSXElement, CompilerRouteElement>;
|
|
231
292
|
localRoutes: CompilerRouteDefinition[];
|
|
232
293
|
usesRouter: boolean;
|
|
294
|
+
usesTransparentData: boolean;
|
|
295
|
+
/** Local import bindings classified by provider metadata. */
|
|
296
|
+
transparentSourceFactories: Set<string>;
|
|
297
|
+
/** Direct provider bindings (for example `$fetch`), whose arguments are request inputs. */
|
|
298
|
+
transparentProviderFactories: Set<string>;
|
|
299
|
+
/** Component-local variables assigned colorless sources inside event handlers. */
|
|
300
|
+
eventSourceSlots: Map<string, Set<string>>;
|
|
301
|
+
transparentSourceFactoryMethods: Map<string, TransparentSourceMethod>;
|
|
302
|
+
transparentTrackFactories: Set<string>;
|
|
303
|
+
transparentSourcePassthroughs: Set<string>;
|
|
304
|
+
transparentGroups: Set<string>;
|
|
305
|
+
transparentPendingPolicies: Set<string>;
|
|
306
|
+
transparentErrorPolicies: Set<string>;
|
|
307
|
+
/** Component-local source holders and track-state aliases. */
|
|
308
|
+
transparentSources: Map<string, Set<string>>;
|
|
309
|
+
transparentTrackBindings: Map<string, Map<string, readonly string[]>>;
|
|
310
|
+
/** Module-scope transparent sources: local binding name → canonical key. */
|
|
311
|
+
transparentModuleSources: Map<string, string>;
|
|
312
|
+
/** Direct prop binding -> authored prop name for transported source holders. */
|
|
313
|
+
transparentSourceProps: Map<string, Map<string, string>>;
|
|
314
|
+
/** Private factory parameter carrying inherited presentation renderers. */
|
|
315
|
+
transparentPolicyParams: Map<string, t.Identifier>;
|
|
316
|
+
/** Nearest lexical Group policies attached to component prop call sites. */
|
|
317
|
+
transparentGroupCallPolicies: WeakMap<t.JSXElement, Map<string, TransparentPresentationPolicy>>;
|
|
318
|
+
/** Parser-neutral lexical scope and parent index for the current AST shape. */
|
|
319
|
+
astAnalysis: ScopeAnalysis | null;
|
|
233
320
|
state: Map<string, StateKind>;
|
|
234
321
|
/** Local binding name -> canonical state root. */
|
|
235
322
|
stateKeys: Map<string, string>;
|
|
236
323
|
/** Finite intrinsic-tag identities proven by state type annotations. */
|
|
237
324
|
stateTagCandidates: Map<string, string[]>;
|
|
238
325
|
functionTagCandidates: Map<string, string[]>;
|
|
326
|
+
/** Finite string contracts attached to lexical binding identifiers. */
|
|
327
|
+
bindingTagCandidates: Map<string, string[]>;
|
|
239
328
|
stateComponentCandidates: Map<string, string[]>;
|
|
240
329
|
functionComponentCandidates: Map<string, string[]>;
|
|
241
330
|
linkedDynamicComponentCandidates: Map<string, LinkedDynamicComponentCandidate[]>;
|
|
@@ -244,14 +333,14 @@ export interface Ctx {
|
|
|
244
333
|
/** Linked summaries for imported functions and conservative external calls. */
|
|
245
334
|
importedFunctions: Map<string, FnSummary>;
|
|
246
335
|
importedComponents: Map<string, LinkedComponentImport>;
|
|
247
|
-
|
|
336
|
+
importedValues: Set<string>;
|
|
248
337
|
linkedComponentPaths: Map<string, string[]>;
|
|
249
338
|
/** Graph-linked keyed-row modes for declarations in this module. */
|
|
250
339
|
linkedComponentRows: Map<string, LinkedComponentRowUse[]>;
|
|
251
340
|
linkedComponentPropSources: Map<string, Map<string, LinkedComponentPropSource>>;
|
|
252
341
|
linkedComponentRenderProps: Map<string, string[]>;
|
|
253
342
|
comps: Map<string, CompInfo>;
|
|
254
|
-
compPaths: Map<string,
|
|
343
|
+
compPaths: Map<string, CompilerPath<t.FunctionDeclaration>>;
|
|
255
344
|
/** Top-level functions WITHOUT JSX — helpers, summarized for interprocedural effects. */
|
|
256
345
|
helpers: Map<string, HelperPath>;
|
|
257
346
|
/** JSX-returning functions expanded at local render call sites. */
|
|
@@ -300,6 +389,12 @@ export interface Ctx {
|
|
|
300
389
|
targetedListDependencies: WeakMap<MapCallExpression, TargetedListDependency[]>;
|
|
301
390
|
/** Components that need dirty reasons for targeted list refreshes. */
|
|
302
391
|
targetedListComponents: Set<string>;
|
|
392
|
+
/** Reactive source keys rendered by keyed list regions. */
|
|
393
|
+
listSources: Set<string>;
|
|
394
|
+
/** Components owning a keyed list updater. */
|
|
395
|
+
listComponents: Set<string>;
|
|
396
|
+
/** Component -> non-local collection sources owned by its list updaters. */
|
|
397
|
+
componentListSources: Map<string, Set<string>>;
|
|
303
398
|
/** Map call -> direct keyed-item mutation journal used by that one list. */
|
|
304
399
|
keyedListMutations: WeakMap<MapCallExpression, KeyedListMutationPlan>;
|
|
305
400
|
/** Component -> source root -> journal plan, for handler write analysis. */
|
|
@@ -358,8 +453,17 @@ export interface Ctx {
|
|
|
358
453
|
reasonConsts: Map<string, string>;
|
|
359
454
|
/** Function nodes whose handler analysis already ran (shared declarations). */
|
|
360
455
|
analyzedFunctions: WeakSet<t.Node>;
|
|
456
|
+
/** Pure callbacks synthesized and owned by compiler derivation/read helpers. */
|
|
457
|
+
compilerOwnedCallbacks: WeakSet<t.Node>;
|
|
361
458
|
/** Whether a shared handler already emits a commit in its event scope. */
|
|
362
459
|
handlerHasRootCommit: WeakMap<t.Node, boolean>;
|
|
460
|
+
/**
|
|
461
|
+
* Effects a component-local helper performs on its own parameters, keyed by
|
|
462
|
+
* the helper's function node. Callers fold these through their arguments so
|
|
463
|
+
* row-relative writes route from the call site (whose scope owns the row
|
|
464
|
+
* identifiers) instead of the helper body (which does not).
|
|
465
|
+
*/
|
|
466
|
+
localParamEffects: WeakMap<t.Node, ParameterWrite[]>;
|
|
363
467
|
/** Compiler-wide allocator initialized from the original Program scope. */
|
|
364
468
|
identifiers: GeneratedIdentifiers | null;
|
|
365
469
|
}
|
|
@@ -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":"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"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Compiler-transparent async data sources.
|
|
3
|
+
*
|
|
4
|
+
* The public binding is typed as ResolvedValue<T>, while generated code keeps
|
|
5
|
+
* the library's source holder. Reads are lowered either to a render gate or an
|
|
6
|
+
* imperative resolution guard; source transitions push the owning component
|
|
7
|
+
* through the ordinary runtime dirty queue.
|
|
8
|
+
*/
|
|
9
|
+
import type * as t from './ast/compiler-types';
|
|
10
|
+
import { type Ctx } from './context';
|
|
11
|
+
import { type EmitScope } from './emission/scope';
|
|
12
|
+
/** Resolve provider metadata to local import aliases before module analysis. */
|
|
13
|
+
export declare function scanTransparentSourceImports(ctx: Ctx, programPath: {
|
|
14
|
+
node: t.Program;
|
|
15
|
+
}): void;
|
|
16
|
+
/**
|
|
17
|
+
* Reject eager destructuring of compiler-transparent sources before any
|
|
18
|
+
* source lowering mutates the authored call or its precise source location.
|
|
19
|
+
*/
|
|
20
|
+
export declare function rejectTransparentSourceDestructuring(ctx: Ctx, programPath: {
|
|
21
|
+
node: t.Program;
|
|
22
|
+
buildCodeFrameError(message: string, at?: t.Node): Error;
|
|
23
|
+
}): void;
|
|
24
|
+
/** Base source bindings whose transition must update this emitted expression. */
|
|
25
|
+
export declare function transparentExpressionSources(ctx: Ctx, expression: t.Expression): readonly string[];
|
|
26
|
+
/** Register one exact scalar/prop sink under its smallest structural owner. */
|
|
27
|
+
export declare function registerTransparentDataSite(ctx: Ctx, scope: EmitScope, sources: readonly string[], ownerId: t.Expression, render: t.Statement): boolean;
|
|
28
|
+
/** Route a transparent expression to an already-registered structural entity. */
|
|
29
|
+
export declare function subscribeTransparentStructuralSite(ctx: Ctx, scope: EmitScope, expression: t.Expression, entityId: t.Expression): void;
|
|
30
|
+
interface TransparentPolicyRenderer {
|
|
31
|
+
renderer: t.Expression;
|
|
32
|
+
args: t.Expression[];
|
|
33
|
+
}
|
|
34
|
+
export declare function transparentPolicyRenderer(element: t.JSXElement): TransparentPolicyRenderer | null;
|
|
35
|
+
/** Normalize the exact three-child Group form into independent local sites. */
|
|
36
|
+
export declare function lowerTransparentGroups(ctx: Ctx, programPath: {
|
|
37
|
+
node: t.Program;
|
|
38
|
+
buildCodeFrameError(message: string, at?: t.Node): Error;
|
|
39
|
+
}): void;
|
|
40
|
+
/**
|
|
41
|
+
* Source holders are externally changing roots for derivation analysis, but
|
|
42
|
+
* unlike arbitrary opaque values they are push-owned and require no volatile
|
|
43
|
+
* frame polling.
|
|
44
|
+
*/
|
|
45
|
+
export declare function registerTransparentSourceRoots(ctx: Ctx): void;
|
|
46
|
+
/**
|
|
47
|
+
* RFC §16.4: lower module-scope transparent declarations into lazy
|
|
48
|
+
* descriptions + stable refs. The description never executes at module
|
|
49
|
+
* evaluation; the first read inside an ApplicationRuntime materializes a
|
|
50
|
+
* request-local instance.
|
|
51
|
+
*/
|
|
52
|
+
export declare function scanAndLowerModuleSourceDeclarations(ctx: Ctx, programPath: {
|
|
53
|
+
node: t.Program;
|
|
54
|
+
}): void;
|
|
55
|
+
/**
|
|
56
|
+
* Non-GET server functions mutate server state and therefore cannot execute
|
|
57
|
+
* while a component (or module) is being evaluated. Nested callbacks remain
|
|
58
|
+
* valid event/effect boundaries.
|
|
59
|
+
*/
|
|
60
|
+
export declare function rejectNonGetServerFunctionRenderCalls(ctx: Ctx, programPath: {
|
|
61
|
+
node: t.Program;
|
|
62
|
+
buildCodeFrameError(message: string, at?: t.Node): Error;
|
|
63
|
+
}): void;
|
|
64
|
+
/**
|
|
65
|
+
* Component-local `let` variables assigned colorless sources inside event
|
|
66
|
+
* handlers do not exist when the component mounts, so render reads through
|
|
67
|
+
* them (`$track(x)`) need a per-update subscription slot (RFC §2.1).
|
|
68
|
+
*/
|
|
69
|
+
export declare function scanEventSourceAssignments(ctx: Ctx): void;
|
|
70
|
+
/** Find direct component-local source declarations and track aliases. */
|
|
71
|
+
export declare function scanTransparentSourceBindings(ctx: Ctx): void;
|
|
72
|
+
export declare function rewriteTransparentDataReads(ctx: Ctx): void;
|
|
73
|
+
/** Private presentation argument supplied to one compiled component call. */
|
|
74
|
+
export declare function transparentCallPolicyArgument(ctx: Ctx, owner: string, element: t.JSXElement): t.ObjectExpression | null;
|
|
75
|
+
/** Component-mount statements granting disposal only to locally-created sources. */
|
|
76
|
+
export declare function transparentSourceMounts(ctx: Ctx, component: string, owner: t.Identifier): t.Statement[];
|
|
77
|
+
export {};
|
|
78
|
+
//# sourceMappingURL=data-sources.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data-sources.d.ts","sourceRoot":"","sources":["../src/data-sources.ts"],"names":[],"mappings":"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"}
|
package/dist/diagnostics.d.ts
CHANGED
|
@@ -10,6 +10,8 @@ export interface CompilerDiagnostic {
|
|
|
10
10
|
moduleId?: string;
|
|
11
11
|
line?: number;
|
|
12
12
|
column?: number;
|
|
13
|
+
endLine?: number;
|
|
14
|
+
endColumn?: number;
|
|
13
15
|
}
|
|
14
16
|
/** Convert every compiler failure into the package's stable feedback shape. */
|
|
15
17
|
export declare function toCompilerDiagnostic(value: unknown, moduleIds?: readonly string[]): CompilerDiagnostic;
|
|
@@ -1 +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;
|
|
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;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAiCD,+EAA+E;AAC/E,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,OAAO,EACd,SAAS,GAAE,SAAS,MAAM,EAAO,GAChC,kBAAkB,CAuCpB;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"}
|
package/dist/effects.d.ts
CHANGED
|
@@ -5,14 +5,21 @@
|
|
|
5
5
|
* entities execute only after render entities have drained, and own the latest
|
|
6
6
|
* teardown returned by the callback.
|
|
7
7
|
*/
|
|
8
|
-
import type
|
|
9
|
-
import
|
|
8
|
+
import type * as t from './ast/compiler-types';
|
|
9
|
+
import { type BaseNode } from './ast';
|
|
10
10
|
import { type Ctx, type EffectSite } from './context';
|
|
11
11
|
import type { EmitScope } from './emission/scope';
|
|
12
|
+
interface DiagnosticPath<TNode extends BaseNode = BaseNode> {
|
|
13
|
+
node: TNode;
|
|
14
|
+
buildCodeFrameError(message: string): Error;
|
|
15
|
+
}
|
|
16
|
+
type ProgramPath = DiagnosticPath<BaseNode & {
|
|
17
|
+
type: 'Program';
|
|
18
|
+
}>;
|
|
12
19
|
/**
|
|
13
20
|
* Discover and validate direct component-body effect statements.
|
|
14
21
|
*/
|
|
15
|
-
export declare function scanEffects(ctx: Ctx, programPath:
|
|
22
|
+
export declare function scanEffects(ctx: Ctx, programPath: ProgramPath): void;
|
|
16
23
|
/**
|
|
17
24
|
* Dirty local/prop-dependent effect entities after the owner's DOM update.
|
|
18
25
|
*/
|
|
@@ -20,7 +27,8 @@ export declare function buildLocalEffectInvalidations(ctx: Ctx, component: strin
|
|
|
20
27
|
/** Runtime registrations emitted after the owner's DOM creation statements. */
|
|
21
28
|
export declare function buildEffectRegistrations(ctx: Ctx, factoryId: string, sites: EffectSite[]): t.Statement[];
|
|
22
29
|
/** Lower direct module effects to stable singleton registrations. */
|
|
23
|
-
export declare function rewriteModuleEffects(ctx: Ctx, programPath:
|
|
30
|
+
export declare function rewriteModuleEffects(ctx: Ctx, programPath: ProgramPath): void;
|
|
24
31
|
/** Reject effect syntax that was not consumed by component emission. */
|
|
25
|
-
export declare function rejectUnownedEffects(programPath:
|
|
32
|
+
export declare function rejectUnownedEffects(ctx: Ctx, programPath: ProgramPath): void;
|
|
33
|
+
export {};
|
|
26
34
|
//# sourceMappingURL=effects.d.ts.map
|
package/dist/effects.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"effects.d.ts","sourceRoot":"","sources":["../src/effects.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"effects.d.ts","sourceRoot":"","sources":["../src/effects.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,KAAK,CAAC,MAAM,sBAAsB,CAAC;AAG/C,OAAO,EAGL,KAAK,QAAQ,EAGd,MAAM,OAAO,CAAC;AACf,OAAO,EAML,KAAK,GAAG,EACR,KAAK,UAAU,EAEhB,MAAM,WAAW,CAAC;AAInB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAElD,UAAU,cAAc,CAAC,KAAK,SAAS,QAAQ,GAAG,QAAQ;IACxD,IAAI,EAAE,KAAK,CAAC;IACZ,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,CAAC;CAC7C;AAED,KAAK,WAAW,GAAG,cAAc,CAAC,QAAQ,GAAG;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,CAAC,CAAC;AA8kBlE;;GAEG;AACH,wBAAgB,WAAW,CACzB,GAAG,EAAE,GAAG,EACR,WAAW,EAAE,WAAW,GACvB,IAAI,CAkGN;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,WAAW,GACvB,IAAI,CA0DN;AAED,wEAAwE;AACxE,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,GAAG,EACR,WAAW,EAAE,WAAW,GACvB,IAAI,CAWN"}
|
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
* replay order, lifecycle registration, and listed-row identity. DOM and
|
|
6
6
|
* structural-region creation remain in emit.ts.
|
|
7
7
|
*/
|
|
8
|
-
import type { NodePath } from '@babel/traverse';
|
|
9
|
-
import * as t from '@babel/types';
|
|
10
8
|
import { type Ctx } from '../context';
|
|
11
|
-
|
|
9
|
+
type ComponentPath = Ctx['compPaths'] extends Map<string, infer TPath> ? TPath : never;
|
|
10
|
+
export declare function transformComponent(ctx: Ctx, path: ComponentPath, name: string): void;
|
|
11
|
+
export {};
|
|
12
12
|
//# sourceMappingURL=component.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../src/emission/component.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../src/emission/component.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,OAAO,EAEL,KAAK,GAAG,EAKT,MAAM,YAAY,CAAC;AAwCpB,KAAK,aAAa,GAAG,GAAG,CAAC,WAAW,CAAC,SAAS,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,CAAC,GAClE,KAAK,GACL,KAAK,CAAC;AAkKV,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,GAAG,EACR,IAAI,EAAE,aAAa,EACnB,IAAI,EAAE,MAAM,GACX,IAAI,CA0RN"}
|
|
@@ -1,13 +1,14 @@
|
|
|
1
|
-
import type
|
|
2
|
-
import * as t from '@babel/types';
|
|
1
|
+
import type * as t from '../ast/compiler-types';
|
|
3
2
|
import { type Ctx } from '../context';
|
|
4
3
|
import type { JsxNode } from '../jsx/children';
|
|
5
4
|
import { type EmitScope } from './scope';
|
|
6
5
|
import type { NodeEmitter } from './node-emitter';
|
|
6
|
+
type ComponentPath = Ctx['compPaths'] extends Map<string, infer TPath> ? TPath : never;
|
|
7
7
|
/** Emit an anchored conditional region owned by a component or row. */
|
|
8
|
-
export declare function emitConditionalRegion(ctx: Ctx, scope: EmitScope, expression: t.ConditionalExpression | t.LogicalExpression, parentElementVariable: string, componentName: string, componentPath:
|
|
8
|
+
export declare function emitConditionalRegion(ctx: Ctx, scope: EmitScope, expression: t.ConditionalExpression | t.LogicalExpression, parentElementVariable: string, componentName: string, componentPath: ComponentPath, emitNode: NodeEmitter, inSvg?: boolean, ownerId?: t.Expression, forwardFromOwner?: boolean): void;
|
|
9
9
|
/** Build a non-entity branch factory with isolated slots and cleanup. */
|
|
10
|
-
export declare function buildConditionalBranchCreate(ctx: Ctx, jsx: JsxNode, componentName: string, componentPath:
|
|
10
|
+
export declare function buildConditionalBranchCreate(ctx: Ctx, jsx: JsxNode, componentName: string, componentPath: ComponentPath, regionId: t.Expression, emitNode: NodeEmitter, inSvg?: boolean, ownerId?: t.Expression, allowConditions?: boolean, usedConditions?: {
|
|
11
11
|
count: number;
|
|
12
|
-
}): t.ArrowFunctionExpression;
|
|
12
|
+
}, coveredTransparentSources?: readonly string[]): t.ArrowFunctionExpression;
|
|
13
|
+
export {};
|
|
13
14
|
//# sourceMappingURL=conditional-region.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conditional-region.d.ts","sourceRoot":"","sources":["../../src/emission/conditional-region.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"conditional-region.d.ts","sourceRoot":"","sources":["../../src/emission/conditional-region.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,CAAC,MAAM,uBAAuB,CAAC;AAGhD,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;AAMlD,KAAK,aAAa,GAAG,GAAG,CAAC,WAAW,CAAC,SAAS,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,CAAC,GAClE,KAAK,GACL,KAAK,CAAC;AAEV,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,aAAa,EAC5B,QAAQ,EAAE,WAAW,EACrB,KAAK,UAAQ,EACb,OAAO,GAAE,CAAC,CAAC,UAA4C,EACvD,gBAAgB,UAAQ,GACvB,IAAI,CAwFN;AAED,yEAAyE;AACzE,wBAAgB,4BAA4B,CAC1C,GAAG,EAAE,GAAG,EACR,GAAG,EAAE,OAAO,EACZ,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,aAAa,EAC5B,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,EAClC,yBAAyB,GAAE,SAAS,MAAM,EAAO,GAChD,CAAC,CAAC,uBAAuB,CA4F3B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dom-template.d.ts","sourceRoot":"","sources":["../../src/emission/dom-template.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"dom-template.d.ts","sourceRoot":"","sources":["../../src/emission/dom-template.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,EAAa,KAAK,GAAG,EAAE,MAAM,YAAY,CAAC;AAEjD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAkBzC,wBAAgB,wBAAwB,CACtC,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,SAAS,EAChB,OAAO,EAAE,MAAM,GACd,OAAO,CAqLT"}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import type
|
|
2
|
-
import * as t from '@babel/types';
|
|
1
|
+
import type * as t from '../ast/compiler-types';
|
|
3
2
|
import { type Ctx, type RowCtx } from '../context';
|
|
4
3
|
import { type MapCallExpression } from '../lists';
|
|
5
4
|
import { type JsxChild } from '../components/children';
|
|
6
5
|
import { type EmitScope } from './scope';
|
|
7
6
|
import type { NodeEmitter } from './node-emitter';
|
|
8
|
-
|
|
7
|
+
type ComponentPath = Ctx['compPaths'] extends Map<string, infer TPath> ? TPath : never;
|
|
8
|
+
export type AuthoredChildrenSlotBuilder = (ctx: Ctx, ownerScope: EmitScope, children: readonly JsxChild[], componentName: string, componentPath: ComponentPath, nestedIn: 'row' | 'cond' | null, rowContext: RowCtx | undefined, eventOriginId: t.Expression | undefined, inSvg: boolean, ownerId: t.Expression) => t.Identifier;
|
|
9
9
|
/** Emit a keyed list region and its row factory. */
|
|
10
|
-
export declare function emitListRegion(ctx: Ctx, scope: EmitScope, call: MapCallExpression, parentElementVariable: string, componentName: string, componentPath:
|
|
10
|
+
export declare function emitListRegion(ctx: Ctx, scope: EmitScope, call: MapCallExpression, parentElementVariable: string, componentName: string, componentPath: ComponentPath, emitNode: NodeEmitter, buildAuthoredChildrenSlot: AuthoredChildrenSlotBuilder, inSvg?: boolean, ownerId?: t.Expression, parentRow?: RowCtx): void;
|
|
11
|
+
export {};
|
|
11
12
|
//# 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,
|
|
1
|
+
{"version":3,"file":"list-region.d.ts","sourceRoot":"","sources":["../../src/emission/list-region.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,CAAC,MAAM,uBAAuB,CAAC;AAMhD,OAAO,EAKL,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,KAAK,aAAa,GAAG,GAAG,CAAC,WAAW,CAAC,SAAS,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,CAAC,GAClE,KAAK,GACL,KAAK,CAAC;AAEV,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,aAAa,EAC5B,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,aAAa,EAC5B,QAAQ,EAAE,WAAW,EACrB,yBAAyB,EAAE,2BAA2B,EACtD,KAAK,UAAQ,EACb,OAAO,GAAE,CAAC,CAAC,UAA4C,EACvD,SAAS,CAAC,EAAE,MAAM,GACjB,IAAI,CAiNN"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import type
|
|
2
|
-
import type * as t from '@babel/types';
|
|
1
|
+
import type * as t from '../ast/compiler-types';
|
|
3
2
|
import type { Ctx, RowCtx } from '../context';
|
|
4
3
|
import type { JsxNode } from '../jsx/children';
|
|
5
4
|
import type { EmitScope } from './scope';
|
|
5
|
+
type ComponentPath = Ctx['compPaths'] extends Map<string, infer TPath> ? TPath : never;
|
|
6
6
|
/** Shared callback shape used by structural-region emitters. */
|
|
7
|
-
export type NodeEmitter = (ctx: Ctx, scope: EmitScope, node: JsxNode, componentName: string, componentPath:
|
|
7
|
+
export type NodeEmitter = (ctx: Ctx, scope: EmitScope, node: JsxNode, componentName: string, componentPath: ComponentPath, nestedIn?: 'row' | 'cond' | null, rowContext?: RowCtx, eventOriginId?: t.Expression, inSvg?: boolean, ownerId?: t.Expression) => string;
|
|
8
|
+
export {};
|
|
8
9
|
//# sourceMappingURL=node-emitter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node-emitter.d.ts","sourceRoot":"","sources":["../../src/emission/node-emitter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"node-emitter.d.ts","sourceRoot":"","sources":["../../src/emission/node-emitter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,CAAC,MAAM,uBAAuB,CAAC;AAChD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEzC,KAAK,aAAa,GAAG,GAAG,CAAC,WAAW,CAAC,SAAS,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,CAAC,GAClE,KAAK,GACL,KAAK,CAAC;AAEV,gEAAgE;AAChE,MAAM,MAAM,WAAW,GAAG,CACxB,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,SAAS,EAChB,IAAI,EAAE,OAAO,EACb,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,aAAa,EAC5B,QAAQ,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,IAAI,EAChC,UAAU,CAAC,EAAE,MAAM,EACnB,aAAa,CAAC,EAAE,CAAC,CAAC,UAAU,EAC5B,KAAK,CAAC,EAAE,OAAO,EACf,OAAO,CAAC,EAAE,CAAC,CAAC,UAAU,KACnB,MAAM,CAAC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import type
|
|
2
|
-
import * as t from '@babel/types';
|
|
1
|
+
import type * as t from '../ast/compiler-types';
|
|
3
2
|
import { type Ctx } from '../context';
|
|
4
3
|
import { type EmitScope } from './scope';
|
|
5
4
|
import type { NodeEmitter } from './node-emitter';
|
|
5
|
+
type ComponentPath = Ctx['compPaths'] extends Map<string, infer TPath> ? TPath : never;
|
|
6
6
|
/**
|
|
7
7
|
* Compile one caller-authored render callback into a row-factory adapter.
|
|
8
8
|
*
|
|
@@ -10,5 +10,6 @@ import type { NodeEmitter } from './node-emitter';
|
|
|
10
10
|
* live row update closures remain indexed by the lexical caller so caller
|
|
11
11
|
* state can update rows mounted inside another component's list.
|
|
12
12
|
*/
|
|
13
|
-
export declare function buildRenderCallbackAdapter(ctx: Ctx, ownerScope: EmitScope, source: t.Expression, componentName: string, componentPath:
|
|
13
|
+
export declare function buildRenderCallbackAdapter(ctx: Ctx, ownerScope: EmitScope, source: t.Expression, componentName: string, componentPath: ComponentPath, emitNode: NodeEmitter, inSvg: boolean, ownerId: t.Expression): t.Identifier;
|
|
14
|
+
export {};
|
|
14
15
|
//# sourceMappingURL=render-callback.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render-callback.d.ts","sourceRoot":"","sources":["../../src/emission/render-callback.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"render-callback.d.ts","sourceRoot":"","sources":["../../src/emission/render-callback.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,CAAC,MAAM,uBAAuB,CAAC;AAQhD,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;AAGlD,KAAK,aAAa,GAAG,GAAG,CAAC,WAAW,CAAC,SAAS,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,CAAC,GAClE,KAAK,GACL,KAAK,CAAC;AAiBV;;;;;;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,aAAa,EAC5B,QAAQ,EAAE,WAAW,EACrB,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,CAAC,CAAC,UAAU,GACpB,CAAC,CAAC,UAAU,CAiPd"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
/** Anchored DOM region controlled by one compiler-generated route match ID. */
|
|
2
|
-
import type
|
|
3
|
-
import * as t from '@babel/types';
|
|
2
|
+
import type * as t from '../ast/compiler-types';
|
|
4
3
|
import type { Ctx } from '../context';
|
|
5
4
|
import type { CompilerRouteElement } from '../router';
|
|
6
5
|
import type { EmitScope } from './scope';
|
|
7
6
|
import type { NodeEmitter } from './node-emitter';
|
|
8
|
-
|
|
7
|
+
type ComponentPath = Ctx['compPaths'] extends Map<string, infer TPath> ? TPath : never;
|
|
8
|
+
export declare function emitRouteRegion(ctx: Ctx, scope: EmitScope, element: t.JSXElement, route: CompilerRouteElement, componentName: string, componentPath: ComponentPath, emitNode: NodeEmitter, inSvg: boolean, ownerId: t.Expression): string;
|
|
9
|
+
export {};
|
|
9
10
|
//# sourceMappingURL=route-region.d.ts.map
|
|
@@ -1 +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,
|
|
1
|
+
{"version":3,"file":"route-region.d.ts","sourceRoot":"","sources":["../../src/emission/route-region.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAE/E,OAAO,KAAK,KAAK,CAAC,MAAM,uBAAuB,CAAC;AAGhD,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,KAAK,aAAa,GAAG,GAAG,CAAC,WAAW,CAAC,SAAS,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,CAAC,GAClE,KAAK,GACL,KAAK,CAAC;AAEV,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,aAAa,EAC5B,QAAQ,EAAE,WAAW,EACrB,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,CAAC,CAAC,UAAU,GACpB,MAAM,CAkJR"}
|