modality-ts 0.0.9 → 0.0.11
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 +11 -7
- package/dist/check/diagnostics/bounds.d.ts +2 -1
- package/dist/check/diagnostics/bounds.d.ts.map +1 -1
- package/dist/check/diagnostics/bounds.js +3 -3
- package/dist/check/diagnostics/bounds.js.map +1 -1
- package/dist/check/engine/check-model.d.ts +3 -0
- package/dist/check/engine/check-model.d.ts.map +1 -1
- package/dist/check/engine/check-model.js +408 -43
- package/dist/check/engine/check-model.js.map +1 -1
- package/dist/check/engine/model-api.d.ts.map +1 -1
- package/dist/check/engine/model-api.js +5 -3
- package/dist/check/engine/model-api.js.map +1 -1
- package/dist/check/engine/stabilize.d.ts +2 -1
- package/dist/check/engine/stabilize.d.ts.map +1 -1
- package/dist/check/engine/stabilize.js +31 -9
- package/dist/check/engine/stabilize.js.map +1 -1
- package/dist/check/engine/state-utils.d.ts +3 -2
- package/dist/check/engine/state-utils.d.ts.map +1 -1
- package/dist/check/engine/state-utils.js +20 -7
- package/dist/check/engine/state-utils.js.map +1 -1
- package/dist/check/engine/transitions.d.ts +9 -1
- package/dist/check/engine/transitions.d.ts.map +1 -1
- package/dist/check/engine/transitions.js +32 -5
- package/dist/check/engine/transitions.js.map +1 -1
- package/dist/check/index.d.ts +1 -1
- package/dist/check/index.d.ts.map +1 -1
- package/dist/check/index.js.map +1 -1
- package/dist/check/properties/finalize.d.ts +4 -3
- package/dist/check/properties/finalize.d.ts.map +1 -1
- package/dist/check/properties/finalize.js +45 -9
- package/dist/check/properties/finalize.js.map +1 -1
- package/dist/check/properties/leads-to.d.ts.map +1 -1
- package/dist/check/properties/leads-to.js +4 -3
- package/dist/check/properties/leads-to.js.map +1 -1
- package/dist/check/properties/observe.d.ts +4 -3
- package/dist/check/properties/observe.d.ts.map +1 -1
- package/dist/check/properties/observe.js +5 -5
- package/dist/check/properties/observe.js.map +1 -1
- package/dist/check/properties/reachable-from.d.ts +4 -2
- package/dist/check/properties/reachable-from.d.ts.map +1 -1
- package/dist/check/properties/reachable-from.js +2 -2
- package/dist/check/properties/reachable-from.js.map +1 -1
- package/dist/check/slicing/slice-model.d.ts +1 -0
- package/dist/check/slicing/slice-model.d.ts.map +1 -1
- package/dist/check/slicing/slice-model.js +38 -12
- package/dist/check/slicing/slice-model.js.map +1 -1
- package/dist/check/traces/trace.d.ts +7 -2
- package/dist/check/traces/trace.d.ts.map +1 -1
- package/dist/check/traces/trace.js +9 -4
- package/dist/check/traces/trace.js.map +1 -1
- package/dist/check/types.d.ts +83 -3
- package/dist/check/types.d.ts.map +1 -1
- package/dist/cli/cli.js +134 -42
- package/dist/cli/cli.js.map +1 -1
- package/dist/cli/defaults.d.ts +13 -0
- package/dist/cli/defaults.d.ts.map +1 -0
- package/dist/cli/defaults.js +57 -0
- package/dist/cli/defaults.js.map +1 -0
- package/dist/cli/features/check/command.d.ts +7 -0
- package/dist/cli/features/check/command.d.ts.map +1 -1
- package/dist/cli/features/check/command.js +90 -13
- package/dist/cli/features/check/command.js.map +1 -1
- package/dist/cli/features/conform/command.d.ts.map +1 -1
- package/dist/cli/features/conform/command.js +3 -1
- package/dist/cli/features/conform/command.js.map +1 -1
- package/dist/cli/features/export/command.js +12 -4
- package/dist/cli/features/export/command.js.map +1 -1
- package/dist/cli/features/extract/command.d.ts +2 -1
- package/dist/cli/features/extract/command.d.ts.map +1 -1
- package/dist/cli/features/extract/command.js +375 -94
- package/dist/cli/features/extract/command.js.map +1 -1
- package/dist/cli/features/init/command.d.ts +9 -0
- package/dist/cli/features/init/command.d.ts.map +1 -0
- package/dist/cli/features/init/command.js +23 -0
- package/dist/cli/features/init/command.js.map +1 -0
- package/dist/cli/features/init/index.d.ts +3 -0
- package/dist/cli/features/init/index.d.ts.map +1 -0
- package/dist/cli/features/init/index.js +2 -0
- package/dist/cli/features/init/index.js.map +1 -0
- package/dist/cli/harness/index.d.ts.map +1 -1
- package/dist/cli/harness/index.js +17 -4
- package/dist/cli/harness/index.js.map +1 -1
- package/dist/cli/registry/index.d.ts +4 -4
- package/dist/cli/registry/index.d.ts.map +1 -1
- package/dist/cli/registry/index.js +6 -4
- package/dist/cli/registry/index.js.map +1 -1
- package/dist/core/ir/domains.d.ts +2 -0
- package/dist/core/ir/domains.d.ts.map +1 -1
- package/dist/core/ir/domains.js +71 -0
- package/dist/core/ir/domains.js.map +1 -1
- package/dist/core/ir/validator.d.ts +4 -1
- package/dist/core/ir/validator.d.ts.map +1 -1
- package/dist/core/ir/validator.js +45 -12
- package/dist/core/ir/validator.js.map +1 -1
- package/dist/core/props/index.d.ts.map +1 -1
- package/dist/core/props/index.js.map +1 -1
- package/dist/core/report/types.d.ts +68 -0
- package/dist/core/report/types.d.ts.map +1 -1
- package/dist/extract/engine/pipeline/index.d.ts +3 -1
- package/dist/extract/engine/pipeline/index.d.ts.map +1 -1
- package/dist/extract/engine/pipeline/index.js +10 -23
- package/dist/extract/engine/pipeline/index.js.map +1 -1
- package/dist/extract/engine/spi/index.d.ts +38 -7
- package/dist/extract/engine/spi/index.d.ts.map +1 -1
- package/dist/extract/engine/spi/index.js +1 -1
- package/dist/extract/engine/spi/index.js.map +1 -1
- package/dist/extract/engine/ts/domains.d.ts +1 -1
- package/dist/extract/engine/ts/domains.d.ts.map +1 -1
- package/dist/extract/engine/ts/domains.js +25 -17
- package/dist/extract/engine/ts/domains.js.map +1 -1
- package/dist/extract/engine/ts/react-source-transitions.d.ts +2 -1
- package/dist/extract/engine/ts/react-source-transitions.d.ts.map +1 -1
- package/dist/extract/engine/ts/react-source-transitions.js +17 -7
- package/dist/extract/engine/ts/react-source-transitions.js.map +1 -1
- package/dist/extract/engine/ts/routes.d.ts +2 -2
- package/dist/extract/engine/ts/routes.d.ts.map +1 -1
- package/dist/extract/engine/ts/routes.js +5 -24
- package/dist/extract/engine/ts/routes.js.map +1 -1
- package/dist/extract/engine/ts/static-navigation.d.ts +2 -1
- package/dist/extract/engine/ts/static-navigation.d.ts.map +1 -1
- package/dist/extract/engine/ts/static-navigation.js +30 -20
- package/dist/extract/engine/ts/static-navigation.js.map +1 -1
- package/dist/extract/engine/ts/transition/async.d.ts +3 -10
- package/dist/extract/engine/ts/transition/async.d.ts.map +1 -1
- package/dist/extract/engine/ts/transition/async.js +60 -59
- package/dist/extract/engine/ts/transition/async.js.map +1 -1
- package/dist/extract/engine/ts/transition/effects.d.ts +2 -23
- package/dist/extract/engine/ts/transition/effects.d.ts.map +1 -1
- package/dist/extract/engine/ts/transition/effects.js +10 -171
- package/dist/extract/engine/ts/transition/effects.js.map +1 -1
- package/dist/extract/engine/ts/transition/expressions.d.ts +1 -0
- package/dist/extract/engine/ts/transition/expressions.d.ts.map +1 -1
- package/dist/extract/engine/ts/transition/expressions.js +24 -1
- package/dist/extract/engine/ts/transition/expressions.js.map +1 -1
- package/dist/extract/engine/ts/transition/guards.d.ts.map +1 -1
- package/dist/extract/engine/ts/transition/guards.js +11 -2
- package/dist/extract/engine/ts/transition/guards.js.map +1 -1
- package/dist/extract/engine/ts/transition/handlers.d.ts +2 -23
- package/dist/extract/engine/ts/transition/handlers.d.ts.map +1 -1
- package/dist/extract/engine/ts/transition/handlers.js +46 -188
- package/dist/extract/engine/ts/transition/handlers.js.map +1 -1
- package/dist/extract/engine/ts/transition/locals.d.ts +4 -0
- package/dist/extract/engine/ts/transition/locals.d.ts.map +1 -1
- package/dist/extract/engine/ts/transition/locals.js +27 -16
- package/dist/extract/engine/ts/transition/locals.js.map +1 -1
- package/dist/extract/engine/ts/transition/navigation.d.ts +7 -5
- package/dist/extract/engine/ts/transition/navigation.d.ts.map +1 -1
- package/dist/extract/engine/ts/transition/navigation.js +85 -41
- package/dist/extract/engine/ts/transition/navigation.js.map +1 -1
- package/dist/extract/engine/ts/transition/plugin-calls.d.ts.map +1 -1
- package/dist/extract/engine/ts/transition/plugin-calls.js +1 -1
- package/dist/extract/engine/ts/transition/plugin-calls.js.map +1 -1
- package/dist/extract/engine/ts/transition/statement-summary.d.ts +34 -0
- package/dist/extract/engine/ts/transition/statement-summary.d.ts.map +1 -0
- package/dist/extract/engine/ts/transition/statement-summary.js +502 -0
- package/dist/extract/engine/ts/transition/statement-summary.js.map +1 -0
- package/dist/extract/engine/ts/transition/timers.d.ts.map +1 -1
- package/dist/extract/engine/ts/transition/timers.js +7 -17
- package/dist/extract/engine/ts/transition/timers.js.map +1 -1
- package/dist/extract/sources/jotai/domains.d.ts +2 -1
- package/dist/extract/sources/jotai/domains.d.ts.map +1 -1
- package/dist/extract/sources/jotai/domains.js +2 -164
- package/dist/extract/sources/jotai/domains.js.map +1 -1
- package/dist/extract/sources/jotai/harness.d.ts.map +1 -1
- package/dist/extract/sources/jotai/harness.js +5 -2
- package/dist/extract/sources/jotai/harness.js.map +1 -1
- package/dist/extract/sources/jotai/index.d.ts +3 -3
- package/dist/extract/sources/jotai/index.d.ts.map +1 -1
- package/dist/extract/sources/jotai/index.js +2 -18
- package/dist/extract/sources/jotai/index.js.map +1 -1
- package/dist/extract/sources/jotai/plugin.d.ts +4 -0
- package/dist/extract/sources/jotai/plugin.d.ts.map +1 -0
- package/dist/extract/sources/jotai/plugin.js +19 -0
- package/dist/extract/sources/jotai/plugin.js.map +1 -0
- package/dist/extract/sources/jotai/transitions.d.ts +15 -0
- package/dist/extract/sources/jotai/transitions.d.ts.map +1 -0
- package/dist/extract/sources/jotai/transitions.js +41 -0
- package/dist/extract/sources/jotai/transitions.js.map +1 -0
- package/dist/extract/sources/router/discover.d.ts +9 -0
- package/dist/extract/sources/router/discover.d.ts.map +1 -0
- package/dist/extract/sources/router/discover.js +135 -0
- package/dist/extract/sources/router/discover.js.map +1 -0
- package/dist/extract/sources/router/index.d.ts +7 -3
- package/dist/extract/sources/router/index.d.ts.map +1 -1
- package/dist/extract/sources/router/index.js +21 -12
- package/dist/extract/sources/router/index.js.map +1 -1
- package/dist/extract/sources/router/navigation.d.ts +3 -4
- package/dist/extract/sources/router/navigation.d.ts.map +1 -1
- package/dist/extract/sources/router/navigation.js +33 -1
- package/dist/extract/sources/router/navigation.js.map +1 -1
- package/dist/extract/sources/router/redirects.d.ts +4 -0
- package/dist/extract/sources/router/redirects.d.ts.map +1 -0
- package/dist/extract/sources/router/redirects.js +37 -0
- package/dist/extract/sources/router/redirects.js.map +1 -0
- package/dist/extract/sources/router/routes.d.ts +2 -2
- package/dist/extract/sources/router/routes.d.ts.map +1 -1
- package/dist/extract/sources/router/routes.js +24 -6
- package/dist/extract/sources/router/routes.js.map +1 -1
- package/dist/extract/sources/shared/react-transition-extract.d.ts +14 -0
- package/dist/extract/sources/shared/react-transition-extract.d.ts.map +1 -0
- package/dist/extract/sources/shared/react-transition-extract.js +23 -0
- package/dist/extract/sources/shared/react-transition-extract.js.map +1 -0
- package/dist/extract/sources/swr/domains.d.ts +3 -2
- package/dist/extract/sources/swr/domains.d.ts.map +1 -1
- package/dist/extract/sources/swr/domains.js +3 -96
- package/dist/extract/sources/swr/domains.js.map +1 -1
- package/dist/extract/sources/swr/harness.d.ts.map +1 -1
- package/dist/extract/sources/swr/harness.js +13 -6
- package/dist/extract/sources/swr/harness.js.map +1 -1
- package/dist/extract/sources/swr/index.d.ts +3 -3
- package/dist/extract/sources/swr/index.d.ts.map +1 -1
- package/dist/extract/sources/swr/index.js +2 -20
- package/dist/extract/sources/swr/index.js.map +1 -1
- package/dist/extract/sources/swr/plugin.d.ts +4 -0
- package/dist/extract/sources/swr/plugin.d.ts.map +1 -0
- package/dist/extract/sources/swr/plugin.js +21 -0
- package/dist/extract/sources/swr/plugin.js.map +1 -0
- package/dist/extract/sources/swr/template.js +1 -1
- package/dist/extract/sources/swr/template.js.map +1 -1
- package/dist/extract/sources/swr/transitions.d.ts +15 -0
- package/dist/extract/sources/swr/transitions.d.ts.map +1 -0
- package/dist/extract/sources/swr/transitions.js +43 -0
- package/dist/extract/sources/swr/transitions.js.map +1 -0
- package/dist/extract/sources/swr/writes.d.ts.map +1 -1
- package/dist/extract/sources/swr/writes.js +1 -1
- package/dist/extract/sources/swr/writes.js.map +1 -1
- package/dist/extract/sources/use-state/harness.d.ts.map +1 -1
- package/dist/extract/sources/use-state/harness.js +5 -2
- package/dist/extract/sources/use-state/harness.js.map +1 -1
- package/dist/extract/sources/use-state/index.d.ts.map +1 -1
- package/dist/extract/sources/use-state/index.js +1 -166
- package/dist/extract/sources/use-state/index.js.map +1 -1
- package/dist/extract/sources/use-state/transitions.d.ts.map +1 -1
- package/dist/extract/sources/use-state/transitions.js +17 -9
- package/dist/extract/sources/use-state/transitions.js.map +1 -1
- package/dist/extract/sources/use-state/types.d.ts +1 -0
- package/dist/extract/sources/use-state/types.d.ts.map +1 -1
- package/package.json +2 -2
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import * as ts from "typescript";
|
|
2
|
-
import { callName, lineAndColumn } from "../ast.js";
|
|
2
|
+
import { callName, lineAndColumn, literalValue } from "../ast.js";
|
|
3
3
|
import { safeId, uniqueStrings } from "../ids.js";
|
|
4
|
-
import {
|
|
4
|
+
import { normalizeRouteTarget, routeMountGuard, routeMountReads, routeTargetValue, } from "../routes.js";
|
|
5
5
|
import { effectWriteVars } from "./effects.js";
|
|
6
6
|
import { callArgumentValue } from "./plugin-calls.js";
|
|
7
|
-
export function navigationTransition(source, fileName, node, attr, component, call, _locator,
|
|
8
|
-
const navigation = navigationCall(call,
|
|
7
|
+
export function navigationTransition(source, fileName, node, attr, component, call, _locator, adapter, routePatterns = []) {
|
|
8
|
+
const navigation = navigationCall(call, adapter, routePatterns);
|
|
9
9
|
if (!navigation)
|
|
10
10
|
return undefined;
|
|
11
11
|
const routeId = navigation.to ? safeId(navigation.to) : "back";
|
|
@@ -31,67 +31,111 @@ export function navigationTransition(source, fileName, node, attr, component, ca
|
|
|
31
31
|
confidence: "exact",
|
|
32
32
|
};
|
|
33
33
|
}
|
|
34
|
-
export function navigationCall(call,
|
|
34
|
+
export function navigationCall(call, adapter, routePatterns = []) {
|
|
35
35
|
const name = callName(call.expression);
|
|
36
|
-
if (!name)
|
|
36
|
+
if (!name || !adapter)
|
|
37
37
|
return undefined;
|
|
38
|
-
const
|
|
39
|
-
if (
|
|
40
|
-
return
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
}
|
|
45
|
-
if ((name.endsWith(".push") || name.endsWith(".replace")) &&
|
|
46
|
-
call.arguments.length === 1) {
|
|
47
|
-
const to = routeTargetValue(call.arguments[0], routePatterns);
|
|
48
|
-
if (typeof to !== "string")
|
|
49
|
-
return undefined;
|
|
50
|
-
return { mode: name.endsWith(".replace") ? "replace" : "push", to };
|
|
51
|
-
}
|
|
52
|
-
if (name.endsWith(".back") && call.arguments.length === 0) {
|
|
53
|
-
return { mode: "back" };
|
|
54
|
-
}
|
|
55
|
-
return undefined;
|
|
38
|
+
const classified = adapter.classifyNavigationCall(name, call.arguments.map(callArgumentValue));
|
|
39
|
+
if (!classified || classified === "unsupported")
|
|
40
|
+
return undefined;
|
|
41
|
+
const to = classified.to !== undefined
|
|
42
|
+
? normalizeRouteTarget(classified.to, routePatterns)
|
|
43
|
+
: undefined;
|
|
44
|
+
return { mode: classified.mode, ...(to !== undefined ? { to } : {}) };
|
|
56
45
|
}
|
|
57
|
-
export function
|
|
58
|
-
if (
|
|
59
|
-
|
|
46
|
+
export function navigationJsxTransition(source, fileName, node, component, routePatterns, adapter, routePattern) {
|
|
47
|
+
if (!adapter?.classifyNavigationJsx ||
|
|
48
|
+
(!ts.isJsxOpeningElement(node) && !ts.isJsxSelfClosingElement(node)))
|
|
60
49
|
return undefined;
|
|
61
|
-
const
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
if (!
|
|
50
|
+
const tag = node.tagName.getText(source);
|
|
51
|
+
const attrs = jsxLiteralAttrs(source, node, routePatterns);
|
|
52
|
+
const classified = adapter.classifyNavigationJsx(tag, attrs);
|
|
53
|
+
if (!classified || classified === "unsupported")
|
|
65
54
|
return undefined;
|
|
66
|
-
const to =
|
|
67
|
-
|
|
55
|
+
const to = classified.to !== undefined
|
|
56
|
+
? normalizeRouteTarget(classified.to, routePatterns)
|
|
57
|
+
: undefined;
|
|
58
|
+
if (classified.mode !== "back" && !to)
|
|
68
59
|
return undefined;
|
|
60
|
+
const routeId = to ? safeId(to) : "back";
|
|
69
61
|
return {
|
|
70
|
-
id: `${component}.
|
|
62
|
+
id: `${component}.${tag}.navigate.${routeId}`,
|
|
71
63
|
cls: "nav",
|
|
72
|
-
label: {
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
64
|
+
label: {
|
|
65
|
+
kind: "navigate",
|
|
66
|
+
mode: classified.mode === "replace" ? "push" : classified.mode,
|
|
67
|
+
...(to ? { to } : {}),
|
|
68
|
+
},
|
|
69
|
+
source: [{ file: fileName, ...lineAndColumn(source, node) }],
|
|
70
|
+
guard: routeMountGuard(routePattern),
|
|
71
|
+
effect: {
|
|
72
|
+
kind: "navigate",
|
|
73
|
+
mode: classified.mode,
|
|
74
|
+
...(to ? { to: { kind: "lit", value: to } } : {}),
|
|
75
|
+
},
|
|
76
|
+
reads: routeMountReads(routePattern),
|
|
77
77
|
writes: ["sys:route", "sys:history"],
|
|
78
78
|
confidence: "exact",
|
|
79
79
|
};
|
|
80
80
|
}
|
|
81
|
+
export function isNavigationJsxTag(adapter, tag) {
|
|
82
|
+
if (!adapter?.classifyNavigationJsx)
|
|
83
|
+
return false;
|
|
84
|
+
return ["to", "href"].some((attr) => adapter.classifyNavigationJsx?.(tag, new Map([[attr, ""]])) !==
|
|
85
|
+
"unsupported");
|
|
86
|
+
}
|
|
87
|
+
export function navigationRouteJsxAttribute(adapter, tag, properties) {
|
|
88
|
+
for (const property of properties) {
|
|
89
|
+
if (!ts.isJsxAttribute(property) || !ts.isIdentifier(property.name))
|
|
90
|
+
continue;
|
|
91
|
+
const probe = new Map([[property.name.text, ""]]);
|
|
92
|
+
if (adapter.classifyNavigationJsx?.(tag, probe) !== "unsupported")
|
|
93
|
+
return property;
|
|
94
|
+
}
|
|
95
|
+
return undefined;
|
|
96
|
+
}
|
|
97
|
+
function jsxLiteralAttrs(source, node, routePatterns) {
|
|
98
|
+
const attrs = new Map();
|
|
99
|
+
for (const property of node.attributes.properties) {
|
|
100
|
+
if (!ts.isJsxAttribute(property) || !ts.isIdentifier(property.name))
|
|
101
|
+
continue;
|
|
102
|
+
const name = property.name.text;
|
|
103
|
+
if (!property.initializer) {
|
|
104
|
+
attrs.set(name, true);
|
|
105
|
+
continue;
|
|
106
|
+
}
|
|
107
|
+
if (ts.isStringLiteral(property.initializer)) {
|
|
108
|
+
attrs.set(name, property.initializer.text);
|
|
109
|
+
continue;
|
|
110
|
+
}
|
|
111
|
+
if (ts.isJsxExpression(property.initializer) &&
|
|
112
|
+
property.initializer.expression) {
|
|
113
|
+
const routeValue = routeTargetValue(property.initializer.expression, routePatterns);
|
|
114
|
+
if (routeValue !== undefined) {
|
|
115
|
+
attrs.set(name, routeValue);
|
|
116
|
+
continue;
|
|
117
|
+
}
|
|
118
|
+
const literal = literalValue(property.initializer.expression);
|
|
119
|
+
if (literal !== undefined)
|
|
120
|
+
attrs.set(name, literal);
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
return attrs;
|
|
124
|
+
}
|
|
81
125
|
export function escapedSetters(call, setters, locals = new Map()) {
|
|
82
126
|
return call.arguments
|
|
83
127
|
.filter(ts.isIdentifier)
|
|
84
128
|
.map((arg) => setters.get(arg.text) ?? locals.get(arg.text)?.setter)
|
|
85
129
|
.filter((setter) => Boolean(setter));
|
|
86
130
|
}
|
|
87
|
-
export function firstNavigationInStatements(statements, routePatterns) {
|
|
131
|
+
export function firstNavigationInStatements(statements, adapter, routePatterns) {
|
|
88
132
|
for (const statement of statements) {
|
|
89
133
|
let found;
|
|
90
134
|
const visit = (node) => {
|
|
91
135
|
if (found)
|
|
92
136
|
return;
|
|
93
137
|
if (ts.isCallExpression(node))
|
|
94
|
-
found = navigationCall(node,
|
|
138
|
+
found = navigationCall(node, adapter, routePatterns);
|
|
95
139
|
ts.forEachChild(node, visit);
|
|
96
140
|
};
|
|
97
141
|
visit(statement);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"navigation.js","sourceRoot":"","sources":["../../../../../src/extract/engine/ts/transition/navigation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"navigation.js","sourceRoot":"","sources":["../../../../../src/extract/engine/ts/transition/navigation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-calls.d.ts","sourceRoot":"","sources":["../../../../../src/extract/engine/ts/transition/plugin-calls.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"plugin-calls.d.ts","sourceRoot":"","sources":["../../../../../src/extract/engine/ts/transition/plugin-calls.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAGjC,OAAO,EAGL,KAAK,OAAO,EACZ,KAAK,UAAU,EAChB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAmB,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC7E,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAI5D,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,EAAE,CAAC,UAAU,EACrB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,EAAE,CAAC,YAAY,EACrB,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,EAAE,CAAC,cAAc,EACvB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,EACnC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,EAC9B,aAAa,EAAE,SAAS,iBAAiB,EAAE,EAC3C,OAAO,EAAE,OAAO,GAAG,SAAS,GAC3B,UAAU,GAAG,SAAS,CA6CxB;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,EAAE,CAAC,UAAU,GAAG,OAAO,CAelE;AAED,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,EAAE,CAAC,UAAU,EACrB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,EAAE,CAAC,YAAY,EACrB,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,EAAE,CAAC,cAAc,EACvB,OAAO,EAAE,OAAO,GAAG,SAAS,GAC3B,UAAU,GAAG,SAAS,CAkBxB;AAED,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,EAAE,CAAC,UAAU,EACrB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,EAAE,CAAC,YAAY,EACrB,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,EAAE,CAAC,cAAc,EACvB,OAAO,EAAE,OAAO,GAAG,SAAS,GAC3B,UAAU,GAAG,SAAS,CAcxB;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAOvD"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as ts from "typescript";
|
|
2
|
-
import { callName, lineAndColumn, literalValue, propertyName
|
|
2
|
+
import { callName, lineAndColumn, literalValue, propertyName } from "../ast.js";
|
|
3
3
|
import { safeId } from "../ids.js";
|
|
4
4
|
import { effectReads, effectWrites, } from "modality-ts/core";
|
|
5
5
|
import { stateVarForName } from "./expressions.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-calls.js","sourceRoot":"","sources":["../../../../../src/extract/engine/ts/transition/plugin-calls.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,
|
|
1
|
+
{"version":3,"file":"plugin-calls.js","sourceRoot":"","sources":["../../../../../src/extract/engine/ts/transition/plugin-calls.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { EffectIR } from "modality-ts/core";
|
|
2
|
+
import * as ts from "typescript";
|
|
3
|
+
import type { BoundExpr, EffectSummary, ExtractableHandler, SetterBinding, SetterCall } from "../types.js";
|
|
4
|
+
export interface StatementSummaryOptions {
|
|
5
|
+
handlers?: Map<string, ExtractableHandler>;
|
|
6
|
+
initialLocals?: Map<string, BoundExpr>;
|
|
7
|
+
}
|
|
8
|
+
export declare function isLoopStatement(statement: ts.Node): boolean;
|
|
9
|
+
export declare function summarizeHandlerStatements(handler: ExtractableHandler, setters: Map<string, SetterBinding>, options?: StatementSummaryOptions): EffectSummary[] | undefined;
|
|
10
|
+
export declare function summarizeStatements(statements: readonly ts.Statement[], setters: Map<string, SetterBinding>, options?: StatementSummaryOptions): EffectSummary[] | undefined;
|
|
11
|
+
export declare function summarizeAsyncSegment(statements: readonly ts.Statement[], setters: Map<string, SetterBinding>): EffectSummary[];
|
|
12
|
+
export declare function summarizeSetterStatement(statement: ts.Statement, setters: Map<string, SetterBinding>, locals?: Map<string, BoundExpr>): EffectSummary | undefined;
|
|
13
|
+
export declare function summarizeSetterCall(call: ts.CallExpression, setters: Map<string, SetterBinding>, locals?: Map<string, BoundExpr>): EffectSummary | undefined;
|
|
14
|
+
export declare function summarizeSetterWrite(setterCall: SetterCall, setters: Map<string, SetterBinding>, locals?: Map<string, BoundExpr>): EffectSummary;
|
|
15
|
+
export declare function setterCallFrom(call: ts.CallExpression, setters: Map<string, SetterBinding>): SetterCall | undefined;
|
|
16
|
+
export declare function settersWrittenIn(node: ts.Node, setters: Map<string, SetterBinding>): SetterBinding[];
|
|
17
|
+
export declare function escapedSettersInStatement(statement: ts.Statement, setters: Map<string, SetterBinding>): SetterBinding[];
|
|
18
|
+
export declare function escapedSetters(call: ts.CallExpression, setters: Map<string, SetterBinding>, locals?: Map<string, BoundExpr>): SetterBinding[];
|
|
19
|
+
export declare function uniqueSetters(setters: readonly SetterBinding[]): SetterBinding[];
|
|
20
|
+
export declare function uniqueSummariesByEffect(summaries: readonly EffectSummary[]): EffectSummary[];
|
|
21
|
+
export declare function effectWriteVars(effect: EffectIR): string[];
|
|
22
|
+
export declare function identityEffect(): Extract<EffectIR, {
|
|
23
|
+
kind: "seq";
|
|
24
|
+
}>;
|
|
25
|
+
export declare function effectFromSummaries(summaries: readonly EffectSummary[]): EffectIR;
|
|
26
|
+
export declare function singleSetterEffect(statement: ts.Statement, setters: Map<string, SetterBinding>): Extract<EffectIR, {
|
|
27
|
+
kind: "assign";
|
|
28
|
+
}> | undefined;
|
|
29
|
+
export declare function setterAssignEffect(statement: ts.Statement, setters: Map<string, {
|
|
30
|
+
varId: string;
|
|
31
|
+
}>): Extract<EffectIR, {
|
|
32
|
+
kind: "assign";
|
|
33
|
+
}> | undefined;
|
|
34
|
+
//# sourceMappingURL=statement-summary.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"statement-summary.d.ts","sourceRoot":"","sources":["../../../../../src/extract/engine/ts/transition/statement-summary.ts"],"names":[],"mappings":"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"}
|