@memoized-dom/compiler 0.0.4 → 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 -28
- 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 +7 -0
- package/dist/analysis/opaque-volatility.d.ts.map +1 -0
- 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 +30 -14
- package/dist/compile.d.ts.map +1 -1
- package/dist/component-linker.d.ts +5 -1
- package/dist/component-linker.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 +5 -3
- 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 +9 -5
- 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 +18 -5
- package/dist/context/ast.d.ts.map +1 -1
- package/dist/context/model.d.ts +146 -13
- 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 +20 -0
- package/dist/diagnostics.d.ts.map +1 -0
- 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 +6 -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 +10 -0
- package/dist/emission/route-region.d.ts.map +1 -0
- package/dist/emission/scope.d.ts +14 -2
- 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 +15 -8
- package/dist/identifiers.d.ts.map +1 -1
- package/dist/index.d.ts +6 -2
- 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 +3 -2
- package/dist/jsx/children.d.ts.map +1 -1
- package/dist/jsx/conditional-directives.d.ts +21 -0
- package/dist/jsx/conditional-directives.d.ts.map +1 -0
- 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 -3
- 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 +42 -0
- package/dist/jsx-types.d.ts.map +1 -0
- package/dist/lifecycle.d.ts +10 -5
- package/dist/lifecycle.d.ts.map +1 -1
- package/dist/linker.d.ts +56 -5
- 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 +16 -8
- 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/lists.d.ts +1 -0
- package/dist/lists.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 +15 -14
- package/dist/plugin.d.ts.map +1 -1
- package/dist/router.d.ts +32 -0
- package/dist/router.d.ts.map +1 -0
- package/dist/server-functions.d.ts +49 -0
- package/dist/server-functions.d.ts.map +1 -0
- package/package.json +34 -30
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { type EstreeFrontend, type ParsedEstree, type ParseEstreeOptions } from '../parser';
|
|
2
|
+
/** Parse TSRX and directly lower its supported extensions to standard ESTree/JSX. */
|
|
3
|
+
export declare function parseTsrxEstree(source: string, options?: ParseEstreeOptions): ParsedEstree;
|
|
4
|
+
/** Experimental direct TSRX-to-Memoized-ESTree frontend. */
|
|
5
|
+
export declare const experimentalTsrxEstreeFrontend: EstreeFrontend;
|
|
6
|
+
/** Strict default router: each supported extension selects its parser explicitly. */
|
|
7
|
+
export declare const memoizedEstreeFrontend: EstreeFrontend;
|
|
8
|
+
//# sourceMappingURL=frontend.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"frontend.d.ts","sourceRoot":"","sources":["../../../src/ast/tsrx/frontend.ts"],"names":[],"mappings":"AAEA,OAAO,EAML,KAAK,cAAc,EACnB,KAAK,YAAY,EAEjB,KAAK,kBAAkB,EACxB,MAAM,WAAW,CAAC;AA2CnB,qFAAqF;AACrF,wBAAgB,eAAe,CAC7B,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,kBAAuB,GAC/B,YAAY,CAqDd;AAED,4DAA4D;AAC5D,eAAO,MAAM,8BAA8B,EAAE,cAG5C,CAAC;AAEF,qFAAqF;AACrF,eAAO,MAAM,sBAAsB,gBAOjC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ast/tsrx/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { BaseNode } from '../types';
|
|
2
|
+
export declare class TsrxLoweringError extends SyntaxError {
|
|
3
|
+
readonly node: BaseNode;
|
|
4
|
+
constructor(message: string, node: BaseNode);
|
|
5
|
+
}
|
|
6
|
+
/** Lower the supported TSRX extension nodes to compiler-ready TS-ESTree/JSX. */
|
|
7
|
+
export declare function lowerTsrxProgram(program: BaseNode): BaseNode;
|
|
8
|
+
//# sourceMappingURL=lower.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lower.d.ts","sourceRoot":"","sources":["../../../src/ast/tsrx/lower.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAuDzC,qBAAa,iBAAkB,SAAQ,WAAW;aAG9B,IAAI,EAAE,QAAQ;IAFhC,YACE,OAAO,EAAE,MAAM,EACC,IAAI,EAAE,QAAQ,EAI/B;CACF;AAwlBD,gFAAgF;AAChF,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,QAAQ,GAAG,QAAQ,CAQ5D"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { BaseNode } from '../types';
|
|
2
|
+
export interface PreparedTsrxStyles {
|
|
3
|
+
program: BaseNode;
|
|
4
|
+
css: string;
|
|
5
|
+
}
|
|
6
|
+
/** Extract scoped CSS and annotate owned native JSX with TSRX's stable hash. */
|
|
7
|
+
export declare function prepareTsrxStyles(program: BaseNode): PreparedTsrxStyles;
|
|
8
|
+
//# sourceMappingURL=style.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"style.d.ts","sourceRoot":"","sources":["../../../src/ast/tsrx/style.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAgEzC,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,QAAQ,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,gFAAgF;AAChF,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,QAAQ,GAAG,kBAAkB,CAevE"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import type { BaseNode } from '../types';
|
|
2
|
+
export interface JSXCodeBlock extends BaseNode {
|
|
3
|
+
type: 'JSXCodeBlock';
|
|
4
|
+
body: BaseNode[];
|
|
5
|
+
render: BaseNode | null;
|
|
6
|
+
}
|
|
7
|
+
export interface JSXIfExpression extends BaseNode {
|
|
8
|
+
type: 'JSXIfExpression';
|
|
9
|
+
statementType: 'IfStatement';
|
|
10
|
+
test: BaseNode;
|
|
11
|
+
consequent: BaseNode;
|
|
12
|
+
alternate: BaseNode | null;
|
|
13
|
+
}
|
|
14
|
+
export interface JSXForExpression extends BaseNode {
|
|
15
|
+
type: 'JSXForExpression';
|
|
16
|
+
statementType: 'ForStatement' | 'ForInStatement' | 'ForOfStatement';
|
|
17
|
+
body: BaseNode;
|
|
18
|
+
init?: BaseNode | null;
|
|
19
|
+
test?: BaseNode | null;
|
|
20
|
+
update?: BaseNode | null;
|
|
21
|
+
left?: BaseNode;
|
|
22
|
+
right?: BaseNode;
|
|
23
|
+
await?: boolean;
|
|
24
|
+
index?: BaseNode | null;
|
|
25
|
+
key?: BaseNode | null;
|
|
26
|
+
empty?: BaseNode | null;
|
|
27
|
+
}
|
|
28
|
+
export interface JSXSwitchExpression extends BaseNode {
|
|
29
|
+
type: 'JSXSwitchExpression';
|
|
30
|
+
statementType: 'SwitchStatement';
|
|
31
|
+
discriminant: BaseNode;
|
|
32
|
+
cases: BaseNode[];
|
|
33
|
+
}
|
|
34
|
+
export interface JSXTryExpression extends BaseNode {
|
|
35
|
+
type: 'JSXTryExpression';
|
|
36
|
+
statementType: 'TryStatement';
|
|
37
|
+
block: BaseNode;
|
|
38
|
+
handler: BaseNode | null;
|
|
39
|
+
finalizer: BaseNode | null;
|
|
40
|
+
pending?: BaseNode | null;
|
|
41
|
+
}
|
|
42
|
+
export interface JSXStyleElement extends BaseNode {
|
|
43
|
+
type: 'JSXStyleElement';
|
|
44
|
+
openingElement: BaseNode;
|
|
45
|
+
closingElement: BaseNode | null;
|
|
46
|
+
children: BaseNode[];
|
|
47
|
+
css?: string;
|
|
48
|
+
}
|
|
49
|
+
export type TsrxExtensionNode = JSXCodeBlock | JSXIfExpression | JSXForExpression | JSXSwitchExpression | JSXTryExpression | JSXStyleElement;
|
|
50
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/ast/tsrx/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,WAAW,YAAa,SAAQ,QAAQ;IAC5C,IAAI,EAAE,cAAc,CAAC;IACrB,IAAI,EAAE,QAAQ,EAAE,CAAC;IACjB,MAAM,EAAE,QAAQ,GAAG,IAAI,CAAC;CACzB;AAED,MAAM,WAAW,eAAgB,SAAQ,QAAQ;IAC/C,IAAI,EAAE,iBAAiB,CAAC;IACxB,aAAa,EAAE,aAAa,CAAC;IAC7B,IAAI,EAAE,QAAQ,CAAC;IACf,UAAU,EAAE,QAAQ,CAAC;IACrB,SAAS,EAAE,QAAQ,GAAG,IAAI,CAAC;CAC5B;AAED,MAAM,WAAW,gBAAiB,SAAQ,QAAQ;IAChD,IAAI,EAAE,kBAAkB,CAAC;IACzB,aAAa,EAAE,cAAc,GAAG,gBAAgB,GAAG,gBAAgB,CAAC;IACpE,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC;IACvB,IAAI,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC;IACvB,MAAM,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC;IACzB,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,KAAK,CAAC,EAAE,QAAQ,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC;IACxB,GAAG,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC;IACtB,KAAK,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC;CACzB;AAED,MAAM,WAAW,mBAAoB,SAAQ,QAAQ;IACnD,IAAI,EAAE,qBAAqB,CAAC;IAC5B,aAAa,EAAE,iBAAiB,CAAC;IACjC,YAAY,EAAE,QAAQ,CAAC;IACvB,KAAK,EAAE,QAAQ,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,gBAAiB,SAAQ,QAAQ;IAChD,IAAI,EAAE,kBAAkB,CAAC;IACzB,aAAa,EAAE,cAAc,CAAC;IAC9B,KAAK,EAAE,QAAQ,CAAC;IAChB,OAAO,EAAE,QAAQ,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,QAAQ,GAAG,IAAI,CAAC;IAC3B,OAAO,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC;CAC3B;AAED,MAAM,WAAW,eAAgB,SAAQ,QAAQ;IAC/C,IAAI,EAAE,iBAAiB,CAAC;IACxB,cAAc,EAAE,QAAQ,CAAC;IACzB,cAAc,EAAE,QAAQ,GAAG,IAAI,CAAC;IAChC,QAAQ,EAAE,QAAQ,EAAE,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,MAAM,iBAAiB,GACzB,YAAY,GACZ,eAAe,GACf,gBAAgB,GAChB,mBAAmB,GACnB,gBAAgB,GAChB,eAAe,CAAC"}
|
|
@@ -0,0 +1,478 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pure ESTree specification with JSX extensions for @memoized-dom/compiler.
|
|
3
|
+
*
|
|
4
|
+
* Targets the official ESTree and JSX specifications. Coverage expands as
|
|
5
|
+
* production passes migrate onto this toolkit:
|
|
6
|
+
* https://github.com/estree/estree
|
|
7
|
+
* https://github.com/facebook/jsx/blob/main/AST.md
|
|
8
|
+
*
|
|
9
|
+
* ZERO dependencies on Babel or proprietary AST formats.
|
|
10
|
+
*/
|
|
11
|
+
export interface SourceLocation {
|
|
12
|
+
start: {
|
|
13
|
+
line: number;
|
|
14
|
+
column: number;
|
|
15
|
+
};
|
|
16
|
+
end: {
|
|
17
|
+
line: number;
|
|
18
|
+
column: number;
|
|
19
|
+
};
|
|
20
|
+
source?: string | null;
|
|
21
|
+
}
|
|
22
|
+
export interface BaseNode {
|
|
23
|
+
type: string;
|
|
24
|
+
loc?: SourceLocation | null;
|
|
25
|
+
range?: [number, number];
|
|
26
|
+
leadingComments?: unknown[] | null;
|
|
27
|
+
trailingComments?: unknown[] | null;
|
|
28
|
+
innerComments?: unknown[] | null;
|
|
29
|
+
}
|
|
30
|
+
export type ASTNode = Statement | Expression | Pattern | VariableDeclarator | Property | SpreadElement | TemplateElement | SwitchCase | CatchClause | ClassBody | MethodDefinition | ImportSpecifier | ImportDefaultSpecifier | ImportNamespaceSpecifier | ExportSpecifier | JSXChild | JSXOpeningElement | JSXClosingElement | JSXOpeningFragment | JSXClosingFragment | JSXAttribute | JSXSpreadAttribute | JSXIdentifier | JSXMemberExpression | JSXNamespacedName;
|
|
31
|
+
export interface Program extends BaseNode {
|
|
32
|
+
type: 'Program';
|
|
33
|
+
sourceType: 'script' | 'module';
|
|
34
|
+
body: Statement[];
|
|
35
|
+
}
|
|
36
|
+
export type Statement = ExpressionStatement | BlockStatement | EmptyStatement | DebuggerStatement | WithStatement | ReturnStatement | LabeledStatement | BreakStatement | ContinueStatement | IfStatement | SwitchStatement | ThrowStatement | TryStatement | WhileStatement | DoWhileStatement | ForStatement | ForInStatement | ForOfStatement | Declaration;
|
|
37
|
+
export type Declaration = FunctionDeclaration | VariableDeclaration | ClassDeclaration | ImportDeclaration | ExportNamedDeclaration | ExportDefaultDeclaration | ExportAllDeclaration;
|
|
38
|
+
export type Expression = Identifier | Literal | ThisExpression | ArrayExpression | ObjectExpression | FunctionExpression | ArrowFunctionExpression | YieldExpression | UnaryExpression | UpdateExpression | BinaryExpression | AssignmentExpression | LogicalExpression | MemberExpression | ConditionalExpression | CallExpression | NewExpression | SequenceExpression | TemplateLiteral | TaggedTemplateExpression | ClassExpression | MetaProperty | AwaitExpression | ChainExpression | ImportExpression | JSXElement | JSXFragment;
|
|
39
|
+
export interface Identifier extends BaseNode {
|
|
40
|
+
type: 'Identifier';
|
|
41
|
+
name: string;
|
|
42
|
+
typeAnnotation?: BaseNode | null;
|
|
43
|
+
}
|
|
44
|
+
export interface Literal extends BaseNode {
|
|
45
|
+
type: 'Literal';
|
|
46
|
+
value: string | number | boolean | null | RegExp | bigint;
|
|
47
|
+
raw?: string;
|
|
48
|
+
regex?: {
|
|
49
|
+
pattern: string;
|
|
50
|
+
flags: string;
|
|
51
|
+
};
|
|
52
|
+
bigint?: string;
|
|
53
|
+
}
|
|
54
|
+
export type StringLiteral = Literal & {
|
|
55
|
+
value: string;
|
|
56
|
+
};
|
|
57
|
+
export type NumericLiteral = Literal & {
|
|
58
|
+
value: number;
|
|
59
|
+
};
|
|
60
|
+
export type BooleanLiteral = Literal & {
|
|
61
|
+
value: boolean;
|
|
62
|
+
};
|
|
63
|
+
export type NullLiteral = Literal & {
|
|
64
|
+
value: null;
|
|
65
|
+
};
|
|
66
|
+
export interface ThisExpression extends BaseNode {
|
|
67
|
+
type: 'ThisExpression';
|
|
68
|
+
}
|
|
69
|
+
export interface ArrayExpression extends BaseNode {
|
|
70
|
+
type: 'ArrayExpression';
|
|
71
|
+
elements: Array<Expression | SpreadElement | null>;
|
|
72
|
+
}
|
|
73
|
+
export interface ObjectExpression extends BaseNode {
|
|
74
|
+
type: 'ObjectExpression';
|
|
75
|
+
properties: Array<Property | SpreadElement>;
|
|
76
|
+
}
|
|
77
|
+
export interface Property extends BaseNode {
|
|
78
|
+
type: 'Property';
|
|
79
|
+
key: Expression;
|
|
80
|
+
value: Expression | Pattern;
|
|
81
|
+
kind: 'init' | 'get' | 'set';
|
|
82
|
+
method: boolean;
|
|
83
|
+
shorthand: boolean;
|
|
84
|
+
computed: boolean;
|
|
85
|
+
}
|
|
86
|
+
export interface SpreadElement extends BaseNode {
|
|
87
|
+
type: 'SpreadElement';
|
|
88
|
+
argument: Expression;
|
|
89
|
+
}
|
|
90
|
+
export interface FunctionDeclaration extends BaseNode {
|
|
91
|
+
type: 'FunctionDeclaration';
|
|
92
|
+
id: Identifier | null;
|
|
93
|
+
params: Pattern[];
|
|
94
|
+
body: BlockStatement;
|
|
95
|
+
generator: boolean;
|
|
96
|
+
async: boolean;
|
|
97
|
+
returnType?: BaseNode | null;
|
|
98
|
+
typeParameters?: BaseNode | null;
|
|
99
|
+
}
|
|
100
|
+
export interface FunctionExpression extends BaseNode {
|
|
101
|
+
type: 'FunctionExpression';
|
|
102
|
+
id: Identifier | null;
|
|
103
|
+
params: Pattern[];
|
|
104
|
+
body: BlockStatement;
|
|
105
|
+
generator: boolean;
|
|
106
|
+
async: boolean;
|
|
107
|
+
returnType?: BaseNode | null;
|
|
108
|
+
typeParameters?: BaseNode | null;
|
|
109
|
+
}
|
|
110
|
+
export interface ArrowFunctionExpression extends BaseNode {
|
|
111
|
+
type: 'ArrowFunctionExpression';
|
|
112
|
+
params: Pattern[];
|
|
113
|
+
body: BlockStatement | Expression;
|
|
114
|
+
generator: boolean;
|
|
115
|
+
async: boolean;
|
|
116
|
+
expression: boolean;
|
|
117
|
+
returnType?: BaseNode | null;
|
|
118
|
+
typeParameters?: BaseNode | null;
|
|
119
|
+
}
|
|
120
|
+
export interface VariableDeclaration extends BaseNode {
|
|
121
|
+
type: 'VariableDeclaration';
|
|
122
|
+
declarations: VariableDeclarator[];
|
|
123
|
+
kind: 'var' | 'let' | 'const';
|
|
124
|
+
}
|
|
125
|
+
export interface VariableDeclarator extends BaseNode {
|
|
126
|
+
type: 'VariableDeclarator';
|
|
127
|
+
id: Pattern;
|
|
128
|
+
init: Expression | null;
|
|
129
|
+
}
|
|
130
|
+
export interface BlockStatement extends BaseNode {
|
|
131
|
+
type: 'BlockStatement';
|
|
132
|
+
body: Statement[];
|
|
133
|
+
}
|
|
134
|
+
export interface ExpressionStatement extends BaseNode {
|
|
135
|
+
type: 'ExpressionStatement';
|
|
136
|
+
expression: Expression;
|
|
137
|
+
}
|
|
138
|
+
export interface IfStatement extends BaseNode {
|
|
139
|
+
type: 'IfStatement';
|
|
140
|
+
test: Expression;
|
|
141
|
+
consequent: Statement;
|
|
142
|
+
alternate: Statement | null;
|
|
143
|
+
}
|
|
144
|
+
export interface ReturnStatement extends BaseNode {
|
|
145
|
+
type: 'ReturnStatement';
|
|
146
|
+
argument: Expression | null;
|
|
147
|
+
}
|
|
148
|
+
export interface MemberExpression extends BaseNode {
|
|
149
|
+
type: 'MemberExpression';
|
|
150
|
+
object: Expression;
|
|
151
|
+
property: Expression;
|
|
152
|
+
computed: boolean;
|
|
153
|
+
optional?: boolean;
|
|
154
|
+
}
|
|
155
|
+
export interface CallExpression extends BaseNode {
|
|
156
|
+
type: 'CallExpression';
|
|
157
|
+
callee: Expression;
|
|
158
|
+
arguments: Array<Expression | SpreadElement>;
|
|
159
|
+
optional?: boolean;
|
|
160
|
+
}
|
|
161
|
+
export interface UnaryExpression extends BaseNode {
|
|
162
|
+
type: 'UnaryExpression';
|
|
163
|
+
operator: '-' | '+' | '!' | '~' | 'typeof' | 'void' | 'delete';
|
|
164
|
+
prefix: boolean;
|
|
165
|
+
argument: Expression;
|
|
166
|
+
}
|
|
167
|
+
export interface BinaryExpression extends BaseNode {
|
|
168
|
+
type: 'BinaryExpression';
|
|
169
|
+
operator: '==' | '!=' | '===' | '!==' | '<' | '<=' | '>' | '>=' | '<<' | '>>' | '>>>' | '+' | '-' | '*' | '/' | '%' | '**' | '|' | '^' | '&' | 'in' | 'instanceof';
|
|
170
|
+
left: Expression;
|
|
171
|
+
right: Expression;
|
|
172
|
+
}
|
|
173
|
+
export interface LogicalExpression extends BaseNode {
|
|
174
|
+
type: 'LogicalExpression';
|
|
175
|
+
operator: '||' | '&&' | '??';
|
|
176
|
+
left: Expression;
|
|
177
|
+
right: Expression;
|
|
178
|
+
}
|
|
179
|
+
export interface AssignmentExpression extends BaseNode {
|
|
180
|
+
type: 'AssignmentExpression';
|
|
181
|
+
operator: string;
|
|
182
|
+
left: Pattern | MemberExpression;
|
|
183
|
+
right: Expression;
|
|
184
|
+
}
|
|
185
|
+
export interface ConditionalExpression extends BaseNode {
|
|
186
|
+
type: 'ConditionalExpression';
|
|
187
|
+
test: Expression;
|
|
188
|
+
consequent: Expression;
|
|
189
|
+
alternate: Expression;
|
|
190
|
+
}
|
|
191
|
+
export interface TemplateLiteral extends BaseNode {
|
|
192
|
+
type: 'TemplateLiteral';
|
|
193
|
+
quasis: TemplateElement[];
|
|
194
|
+
expressions: Expression[];
|
|
195
|
+
}
|
|
196
|
+
export interface TemplateElement extends BaseNode {
|
|
197
|
+
type: 'TemplateElement';
|
|
198
|
+
value: {
|
|
199
|
+
raw: string;
|
|
200
|
+
cooked?: string | null;
|
|
201
|
+
};
|
|
202
|
+
tail: boolean;
|
|
203
|
+
}
|
|
204
|
+
export interface SequenceExpression extends BaseNode {
|
|
205
|
+
type: 'SequenceExpression';
|
|
206
|
+
expressions: Expression[];
|
|
207
|
+
}
|
|
208
|
+
export interface ForOfStatement extends BaseNode {
|
|
209
|
+
type: 'ForOfStatement';
|
|
210
|
+
left: VariableDeclaration | Pattern;
|
|
211
|
+
right: Expression;
|
|
212
|
+
body: Statement;
|
|
213
|
+
await: boolean;
|
|
214
|
+
}
|
|
215
|
+
export interface NewExpression extends BaseNode {
|
|
216
|
+
type: 'NewExpression';
|
|
217
|
+
callee: Expression;
|
|
218
|
+
arguments: Array<Expression | SpreadElement>;
|
|
219
|
+
}
|
|
220
|
+
export interface EmptyStatement extends BaseNode {
|
|
221
|
+
type: 'EmptyStatement';
|
|
222
|
+
}
|
|
223
|
+
export interface DebuggerStatement extends BaseNode {
|
|
224
|
+
type: 'DebuggerStatement';
|
|
225
|
+
}
|
|
226
|
+
export interface WithStatement extends BaseNode {
|
|
227
|
+
type: 'WithStatement';
|
|
228
|
+
object: Expression;
|
|
229
|
+
body: Statement;
|
|
230
|
+
}
|
|
231
|
+
export interface LabeledStatement extends BaseNode {
|
|
232
|
+
type: 'LabeledStatement';
|
|
233
|
+
label: Identifier;
|
|
234
|
+
body: Statement;
|
|
235
|
+
}
|
|
236
|
+
export interface BreakStatement extends BaseNode {
|
|
237
|
+
type: 'BreakStatement';
|
|
238
|
+
label: Identifier | null;
|
|
239
|
+
}
|
|
240
|
+
export interface ContinueStatement extends BaseNode {
|
|
241
|
+
type: 'ContinueStatement';
|
|
242
|
+
label: Identifier | null;
|
|
243
|
+
}
|
|
244
|
+
export interface SwitchCase extends BaseNode {
|
|
245
|
+
type: 'SwitchCase';
|
|
246
|
+
test: Expression | null;
|
|
247
|
+
consequent: Statement[];
|
|
248
|
+
}
|
|
249
|
+
export interface SwitchStatement extends BaseNode {
|
|
250
|
+
type: 'SwitchStatement';
|
|
251
|
+
discriminant: Expression;
|
|
252
|
+
cases: SwitchCase[];
|
|
253
|
+
}
|
|
254
|
+
export interface ThrowStatement extends BaseNode {
|
|
255
|
+
type: 'ThrowStatement';
|
|
256
|
+
argument: Expression;
|
|
257
|
+
}
|
|
258
|
+
export interface CatchClause extends BaseNode {
|
|
259
|
+
type: 'CatchClause';
|
|
260
|
+
param: Pattern | null;
|
|
261
|
+
body: BlockStatement;
|
|
262
|
+
}
|
|
263
|
+
export interface TryStatement extends BaseNode {
|
|
264
|
+
type: 'TryStatement';
|
|
265
|
+
block: BlockStatement;
|
|
266
|
+
handler: CatchClause | null;
|
|
267
|
+
finalizer: BlockStatement | null;
|
|
268
|
+
}
|
|
269
|
+
export interface WhileStatement extends BaseNode {
|
|
270
|
+
type: 'WhileStatement';
|
|
271
|
+
test: Expression;
|
|
272
|
+
body: Statement;
|
|
273
|
+
}
|
|
274
|
+
export interface DoWhileStatement extends BaseNode {
|
|
275
|
+
type: 'DoWhileStatement';
|
|
276
|
+
body: Statement;
|
|
277
|
+
test: Expression;
|
|
278
|
+
}
|
|
279
|
+
export interface ForStatement extends BaseNode {
|
|
280
|
+
type: 'ForStatement';
|
|
281
|
+
init: VariableDeclaration | Expression | null;
|
|
282
|
+
test: Expression | null;
|
|
283
|
+
update: Expression | null;
|
|
284
|
+
body: Statement;
|
|
285
|
+
}
|
|
286
|
+
export interface ForInStatement extends BaseNode {
|
|
287
|
+
type: 'ForInStatement';
|
|
288
|
+
left: VariableDeclaration | Pattern;
|
|
289
|
+
right: Expression;
|
|
290
|
+
body: Statement;
|
|
291
|
+
}
|
|
292
|
+
export interface ClassDeclaration extends BaseNode {
|
|
293
|
+
type: 'ClassDeclaration';
|
|
294
|
+
id: Identifier | null;
|
|
295
|
+
superClass: Expression | null;
|
|
296
|
+
body: ClassBody;
|
|
297
|
+
}
|
|
298
|
+
export interface ClassExpression extends BaseNode {
|
|
299
|
+
type: 'ClassExpression';
|
|
300
|
+
id: Identifier | null;
|
|
301
|
+
superClass: Expression | null;
|
|
302
|
+
body: ClassBody;
|
|
303
|
+
}
|
|
304
|
+
export interface ClassBody extends BaseNode {
|
|
305
|
+
type: 'ClassBody';
|
|
306
|
+
body: MethodDefinition[];
|
|
307
|
+
}
|
|
308
|
+
export interface MethodDefinition extends BaseNode {
|
|
309
|
+
type: 'MethodDefinition';
|
|
310
|
+
key: Expression;
|
|
311
|
+
value: FunctionExpression;
|
|
312
|
+
kind: 'constructor' | 'method' | 'get' | 'set';
|
|
313
|
+
computed: boolean;
|
|
314
|
+
static: boolean;
|
|
315
|
+
}
|
|
316
|
+
export interface YieldExpression extends BaseNode {
|
|
317
|
+
type: 'YieldExpression';
|
|
318
|
+
argument: Expression | null;
|
|
319
|
+
delegate: boolean;
|
|
320
|
+
}
|
|
321
|
+
export interface AwaitExpression extends BaseNode {
|
|
322
|
+
type: 'AwaitExpression';
|
|
323
|
+
argument: Expression;
|
|
324
|
+
}
|
|
325
|
+
export interface UpdateExpression extends BaseNode {
|
|
326
|
+
type: 'UpdateExpression';
|
|
327
|
+
operator: '++' | '--';
|
|
328
|
+
argument: Expression;
|
|
329
|
+
prefix: boolean;
|
|
330
|
+
}
|
|
331
|
+
export interface TaggedTemplateExpression extends BaseNode {
|
|
332
|
+
type: 'TaggedTemplateExpression';
|
|
333
|
+
tag: Expression;
|
|
334
|
+
quasi: TemplateLiteral;
|
|
335
|
+
}
|
|
336
|
+
export interface MetaProperty extends BaseNode {
|
|
337
|
+
type: 'MetaProperty';
|
|
338
|
+
meta: Identifier;
|
|
339
|
+
property: Identifier;
|
|
340
|
+
}
|
|
341
|
+
export interface ChainExpression extends BaseNode {
|
|
342
|
+
type: 'ChainExpression';
|
|
343
|
+
expression: CallExpression | MemberExpression;
|
|
344
|
+
}
|
|
345
|
+
export interface ImportExpression extends BaseNode {
|
|
346
|
+
type: 'ImportExpression';
|
|
347
|
+
source: Expression;
|
|
348
|
+
}
|
|
349
|
+
export interface JSXIdentifier extends BaseNode {
|
|
350
|
+
type: 'JSXIdentifier';
|
|
351
|
+
name: string;
|
|
352
|
+
}
|
|
353
|
+
export interface JSXMemberExpression extends BaseNode {
|
|
354
|
+
type: 'JSXMemberExpression';
|
|
355
|
+
object: JSXMemberExpression | JSXIdentifier;
|
|
356
|
+
property: JSXIdentifier;
|
|
357
|
+
}
|
|
358
|
+
export interface JSXNamespacedName extends BaseNode {
|
|
359
|
+
type: 'JSXNamespacedName';
|
|
360
|
+
namespace: JSXIdentifier;
|
|
361
|
+
name: JSXIdentifier;
|
|
362
|
+
}
|
|
363
|
+
export type JSXTagName = JSXIdentifier | JSXMemberExpression | JSXNamespacedName;
|
|
364
|
+
export interface JSXAttribute extends BaseNode {
|
|
365
|
+
type: 'JSXAttribute';
|
|
366
|
+
name: JSXIdentifier | JSXNamespacedName;
|
|
367
|
+
value: Literal | JSXExpressionContainer | JSXElement | JSXFragment | null;
|
|
368
|
+
}
|
|
369
|
+
export interface JSXSpreadAttribute extends BaseNode {
|
|
370
|
+
type: 'JSXSpreadAttribute';
|
|
371
|
+
argument: Expression;
|
|
372
|
+
}
|
|
373
|
+
export interface JSXExpressionContainer extends BaseNode {
|
|
374
|
+
type: 'JSXExpressionContainer';
|
|
375
|
+
expression: Expression | JSXEmptyExpression;
|
|
376
|
+
}
|
|
377
|
+
export interface JSXEmptyExpression extends BaseNode {
|
|
378
|
+
type: 'JSXEmptyExpression';
|
|
379
|
+
}
|
|
380
|
+
export interface JSXText extends BaseNode {
|
|
381
|
+
type: 'JSXText';
|
|
382
|
+
value: string;
|
|
383
|
+
raw?: string;
|
|
384
|
+
}
|
|
385
|
+
export interface JSXOpeningElement extends BaseNode {
|
|
386
|
+
type: 'JSXOpeningElement';
|
|
387
|
+
name: JSXTagName;
|
|
388
|
+
attributes: Array<JSXAttribute | JSXSpreadAttribute>;
|
|
389
|
+
selfClosing: boolean;
|
|
390
|
+
}
|
|
391
|
+
export interface JSXClosingElement extends BaseNode {
|
|
392
|
+
type: 'JSXClosingElement';
|
|
393
|
+
name: JSXTagName;
|
|
394
|
+
}
|
|
395
|
+
export interface JSXElement extends BaseNode {
|
|
396
|
+
type: 'JSXElement';
|
|
397
|
+
openingElement: JSXOpeningElement;
|
|
398
|
+
closingElement: JSXClosingElement | null;
|
|
399
|
+
children: JSXChild[];
|
|
400
|
+
}
|
|
401
|
+
export interface JSXOpeningFragment extends BaseNode {
|
|
402
|
+
type: 'JSXOpeningFragment';
|
|
403
|
+
}
|
|
404
|
+
export interface JSXClosingFragment extends BaseNode {
|
|
405
|
+
type: 'JSXClosingFragment';
|
|
406
|
+
}
|
|
407
|
+
export interface JSXFragment extends BaseNode {
|
|
408
|
+
type: 'JSXFragment';
|
|
409
|
+
openingFragment: JSXOpeningFragment;
|
|
410
|
+
closingFragment: JSXClosingFragment;
|
|
411
|
+
children: JSXChild[];
|
|
412
|
+
}
|
|
413
|
+
export type JSXChild = JSXText | JSXExpressionContainer | JSXSpreadChild | JSXElement | JSXFragment;
|
|
414
|
+
export interface JSXSpreadChild extends BaseNode {
|
|
415
|
+
type: 'JSXSpreadChild';
|
|
416
|
+
expression: Expression;
|
|
417
|
+
}
|
|
418
|
+
export type Pattern = Identifier | ObjectPattern | ArrayPattern | RestElement | AssignmentPattern | MemberExpression;
|
|
419
|
+
export interface ObjectPattern extends BaseNode {
|
|
420
|
+
type: 'ObjectPattern';
|
|
421
|
+
properties: Array<Property | RestElement>;
|
|
422
|
+
typeAnnotation?: BaseNode | null;
|
|
423
|
+
}
|
|
424
|
+
export interface ArrayPattern extends BaseNode {
|
|
425
|
+
type: 'ArrayPattern';
|
|
426
|
+
elements: Array<Pattern | null>;
|
|
427
|
+
typeAnnotation?: BaseNode | null;
|
|
428
|
+
}
|
|
429
|
+
export interface RestElement extends BaseNode {
|
|
430
|
+
type: 'RestElement';
|
|
431
|
+
argument: Pattern;
|
|
432
|
+
}
|
|
433
|
+
export interface AssignmentPattern extends BaseNode {
|
|
434
|
+
type: 'AssignmentPattern';
|
|
435
|
+
left: Pattern;
|
|
436
|
+
right: Expression;
|
|
437
|
+
}
|
|
438
|
+
export interface ImportDeclaration extends BaseNode {
|
|
439
|
+
type: 'ImportDeclaration';
|
|
440
|
+
specifiers: Array<ImportSpecifier | ImportDefaultSpecifier | ImportNamespaceSpecifier>;
|
|
441
|
+
source: StringLiteral;
|
|
442
|
+
importKind?: 'type' | 'typeof' | 'value' | null;
|
|
443
|
+
}
|
|
444
|
+
export interface ImportSpecifier extends BaseNode {
|
|
445
|
+
type: 'ImportSpecifier';
|
|
446
|
+
imported: Identifier | StringLiteral;
|
|
447
|
+
local: Identifier;
|
|
448
|
+
importKind?: 'type' | 'typeof' | 'value' | null;
|
|
449
|
+
}
|
|
450
|
+
export interface ImportDefaultSpecifier extends BaseNode {
|
|
451
|
+
type: 'ImportDefaultSpecifier';
|
|
452
|
+
local: Identifier;
|
|
453
|
+
}
|
|
454
|
+
export interface ImportNamespaceSpecifier extends BaseNode {
|
|
455
|
+
type: 'ImportNamespaceSpecifier';
|
|
456
|
+
local: Identifier;
|
|
457
|
+
}
|
|
458
|
+
export interface ExportNamedDeclaration extends BaseNode {
|
|
459
|
+
type: 'ExportNamedDeclaration';
|
|
460
|
+
declaration: Declaration | null;
|
|
461
|
+
specifiers: ExportSpecifier[];
|
|
462
|
+
source: StringLiteral | null;
|
|
463
|
+
}
|
|
464
|
+
export interface ExportSpecifier extends BaseNode {
|
|
465
|
+
type: 'ExportSpecifier';
|
|
466
|
+
local: Identifier;
|
|
467
|
+
exported: Identifier | StringLiteral;
|
|
468
|
+
}
|
|
469
|
+
export interface ExportDefaultDeclaration extends BaseNode {
|
|
470
|
+
type: 'ExportDefaultDeclaration';
|
|
471
|
+
declaration: Declaration | Expression;
|
|
472
|
+
}
|
|
473
|
+
export interface ExportAllDeclaration extends BaseNode {
|
|
474
|
+
type: 'ExportAllDeclaration';
|
|
475
|
+
source: Literal;
|
|
476
|
+
exported: Identifier | null;
|
|
477
|
+
}
|
|
478
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/ast/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Standard ESTree AST walker for @memoized-dom/compiler.
|
|
3
|
+
*
|
|
4
|
+
* Provides fast, zero-dependency, pure AST traversal over compiler-owned nodes.
|
|
5
|
+
*/
|
|
6
|
+
import type { BaseNode } from './types';
|
|
7
|
+
/** Standard ESTree visitor keys for all JavaScript and JSX node types. */
|
|
8
|
+
export declare const ESTREE_VISITOR_KEYS: Record<string, readonly string[]>;
|
|
9
|
+
export interface ASTVisitor<TNode extends BaseNode = BaseNode> {
|
|
10
|
+
enter?: (node: TNode, parent: TNode | null, key?: string, index?: number) => boolean | void;
|
|
11
|
+
leave?: (node: TNode, parent: TNode | null, key?: string, index?: number) => void;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Recursively walk an AST node using standard visitor keys.
|
|
15
|
+
* Returning `false` from `enter` skips the node's children.
|
|
16
|
+
*/
|
|
17
|
+
export declare function walkAst<TNode extends BaseNode = BaseNode>(root: TNode, visitor: ASTVisitor<TNode>): void;
|
|
18
|
+
/** Collect all AST nodes satisfying a predicate. */
|
|
19
|
+
export declare function collectNodes<T extends BaseNode = BaseNode>(root: BaseNode, predicate: (node: BaseNode) => node is T): T[];
|
|
20
|
+
/** Find the first AST node satisfying a predicate. */
|
|
21
|
+
export declare function findNode<T extends BaseNode = BaseNode>(root: BaseNode, predicate: (node: BaseNode) => node is T): T | null;
|
|
22
|
+
//# sourceMappingURL=walk.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"walk.d.ts","sourceRoot":"","sources":["../../src/ast/walk.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAExC,0EAA0E;AAC1E,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAuGjE,CAAC;AAEF,MAAM,WAAW,UAAU,CAAC,KAAK,SAAS,QAAQ,GAAG,QAAQ;IAC3D,KAAK,CAAC,EAAE,CACN,IAAI,EAAE,KAAK,EACX,MAAM,EAAE,KAAK,GAAG,IAAI,EACpB,GAAG,CAAC,EAAE,MAAM,EACZ,KAAK,CAAC,EAAE,MAAM,KACX,OAAO,GAAG,IAAI,CAAC;IACpB,KAAK,CAAC,EAAE,CACN,IAAI,EAAE,KAAK,EACX,MAAM,EAAE,KAAK,GAAG,IAAI,EACpB,GAAG,CAAC,EAAE,MAAM,EACZ,KAAK,CAAC,EAAE,MAAM,KACX,IAAI,CAAC;CACX;AAED;;;GAGG;AACH,wBAAgB,OAAO,CAAC,KAAK,SAAS,QAAQ,GAAG,QAAQ,EACvD,IAAI,EAAE,KAAK,EACX,OAAO,EAAE,UAAU,CAAC,KAAK,CAAC,GACzB,IAAI,CAkCN;AAED,oDAAoD;AACpD,wBAAgB,YAAY,CAAC,CAAC,SAAS,QAAQ,GAAG,QAAQ,EACxD,IAAI,EAAE,QAAQ,EACd,SAAS,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,IAAI,CAAC,GACvC,CAAC,EAAE,CAUL;AAED,sDAAsD;AACtD,wBAAgB,QAAQ,CAAC,CAAC,SAAS,QAAQ,GAAG,QAAQ,EACpD,IAAI,EAAE,QAAQ,EACd,SAAS,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,IAAI,CAAC,GACvC,CAAC,GAAG,IAAI,CAYV"}
|
package/dist/cells.d.ts
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/** Request-owned module state-cell lowering for server builds. */
|
|
2
|
+
import type * as t from './ast/compiler-types';
|
|
3
|
+
import { type Ctx } from './context';
|
|
4
|
+
interface ProgramContainer {
|
|
5
|
+
node: t.Program;
|
|
6
|
+
buildCodeFrameError(message: string): Error;
|
|
7
|
+
}
|
|
8
|
+
export declare function liftModuleStateCells(ctx: Ctx, programPath: ProgramContainer): void;
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=cells.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cells.d.ts","sourceRoot":"","sources":["../src/cells.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAElE,OAAO,KAAK,KAAK,CAAC,MAAM,sBAAsB,CAAC;AAQ/C,OAAO,EAIL,KAAK,GAAG,EACT,MAAM,WAAW,CAAC;AAcnB,UAAU,gBAAgB;IACxB,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC;IAChB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,CAAC;CAC7C;AA4JD,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,GAAG,EACR,WAAW,EAAE,gBAAgB,GAC5B,IAAI,CAsON"}
|