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.
Files changed (238) hide show
  1. package/README.md +11 -7
  2. package/dist/check/diagnostics/bounds.d.ts +2 -1
  3. package/dist/check/diagnostics/bounds.d.ts.map +1 -1
  4. package/dist/check/diagnostics/bounds.js +3 -3
  5. package/dist/check/diagnostics/bounds.js.map +1 -1
  6. package/dist/check/engine/check-model.d.ts +3 -0
  7. package/dist/check/engine/check-model.d.ts.map +1 -1
  8. package/dist/check/engine/check-model.js +408 -43
  9. package/dist/check/engine/check-model.js.map +1 -1
  10. package/dist/check/engine/model-api.d.ts.map +1 -1
  11. package/dist/check/engine/model-api.js +5 -3
  12. package/dist/check/engine/model-api.js.map +1 -1
  13. package/dist/check/engine/stabilize.d.ts +2 -1
  14. package/dist/check/engine/stabilize.d.ts.map +1 -1
  15. package/dist/check/engine/stabilize.js +31 -9
  16. package/dist/check/engine/stabilize.js.map +1 -1
  17. package/dist/check/engine/state-utils.d.ts +3 -2
  18. package/dist/check/engine/state-utils.d.ts.map +1 -1
  19. package/dist/check/engine/state-utils.js +20 -7
  20. package/dist/check/engine/state-utils.js.map +1 -1
  21. package/dist/check/engine/transitions.d.ts +9 -1
  22. package/dist/check/engine/transitions.d.ts.map +1 -1
  23. package/dist/check/engine/transitions.js +32 -5
  24. package/dist/check/engine/transitions.js.map +1 -1
  25. package/dist/check/index.d.ts +1 -1
  26. package/dist/check/index.d.ts.map +1 -1
  27. package/dist/check/index.js.map +1 -1
  28. package/dist/check/properties/finalize.d.ts +4 -3
  29. package/dist/check/properties/finalize.d.ts.map +1 -1
  30. package/dist/check/properties/finalize.js +45 -9
  31. package/dist/check/properties/finalize.js.map +1 -1
  32. package/dist/check/properties/leads-to.d.ts.map +1 -1
  33. package/dist/check/properties/leads-to.js +4 -3
  34. package/dist/check/properties/leads-to.js.map +1 -1
  35. package/dist/check/properties/observe.d.ts +4 -3
  36. package/dist/check/properties/observe.d.ts.map +1 -1
  37. package/dist/check/properties/observe.js +5 -5
  38. package/dist/check/properties/observe.js.map +1 -1
  39. package/dist/check/properties/reachable-from.d.ts +4 -2
  40. package/dist/check/properties/reachable-from.d.ts.map +1 -1
  41. package/dist/check/properties/reachable-from.js +2 -2
  42. package/dist/check/properties/reachable-from.js.map +1 -1
  43. package/dist/check/slicing/slice-model.d.ts +1 -0
  44. package/dist/check/slicing/slice-model.d.ts.map +1 -1
  45. package/dist/check/slicing/slice-model.js +38 -12
  46. package/dist/check/slicing/slice-model.js.map +1 -1
  47. package/dist/check/traces/trace.d.ts +7 -2
  48. package/dist/check/traces/trace.d.ts.map +1 -1
  49. package/dist/check/traces/trace.js +9 -4
  50. package/dist/check/traces/trace.js.map +1 -1
  51. package/dist/check/types.d.ts +83 -3
  52. package/dist/check/types.d.ts.map +1 -1
  53. package/dist/cli/cli.js +134 -42
  54. package/dist/cli/cli.js.map +1 -1
  55. package/dist/cli/defaults.d.ts +13 -0
  56. package/dist/cli/defaults.d.ts.map +1 -0
  57. package/dist/cli/defaults.js +57 -0
  58. package/dist/cli/defaults.js.map +1 -0
  59. package/dist/cli/features/check/command.d.ts +7 -0
  60. package/dist/cli/features/check/command.d.ts.map +1 -1
  61. package/dist/cli/features/check/command.js +90 -13
  62. package/dist/cli/features/check/command.js.map +1 -1
  63. package/dist/cli/features/conform/command.d.ts.map +1 -1
  64. package/dist/cli/features/conform/command.js +3 -1
  65. package/dist/cli/features/conform/command.js.map +1 -1
  66. package/dist/cli/features/export/command.js +12 -4
  67. package/dist/cli/features/export/command.js.map +1 -1
  68. package/dist/cli/features/extract/command.d.ts +2 -1
  69. package/dist/cli/features/extract/command.d.ts.map +1 -1
  70. package/dist/cli/features/extract/command.js +375 -94
  71. package/dist/cli/features/extract/command.js.map +1 -1
  72. package/dist/cli/features/init/command.d.ts +9 -0
  73. package/dist/cli/features/init/command.d.ts.map +1 -0
  74. package/dist/cli/features/init/command.js +23 -0
  75. package/dist/cli/features/init/command.js.map +1 -0
  76. package/dist/cli/features/init/index.d.ts +3 -0
  77. package/dist/cli/features/init/index.d.ts.map +1 -0
  78. package/dist/cli/features/init/index.js +2 -0
  79. package/dist/cli/features/init/index.js.map +1 -0
  80. package/dist/cli/harness/index.d.ts.map +1 -1
  81. package/dist/cli/harness/index.js +17 -4
  82. package/dist/cli/harness/index.js.map +1 -1
  83. package/dist/cli/registry/index.d.ts +4 -4
  84. package/dist/cli/registry/index.d.ts.map +1 -1
  85. package/dist/cli/registry/index.js +6 -4
  86. package/dist/cli/registry/index.js.map +1 -1
  87. package/dist/core/ir/domains.d.ts +2 -0
  88. package/dist/core/ir/domains.d.ts.map +1 -1
  89. package/dist/core/ir/domains.js +71 -0
  90. package/dist/core/ir/domains.js.map +1 -1
  91. package/dist/core/ir/validator.d.ts +4 -1
  92. package/dist/core/ir/validator.d.ts.map +1 -1
  93. package/dist/core/ir/validator.js +45 -12
  94. package/dist/core/ir/validator.js.map +1 -1
  95. package/dist/core/props/index.d.ts.map +1 -1
  96. package/dist/core/props/index.js.map +1 -1
  97. package/dist/core/report/types.d.ts +68 -0
  98. package/dist/core/report/types.d.ts.map +1 -1
  99. package/dist/extract/engine/pipeline/index.d.ts +3 -1
  100. package/dist/extract/engine/pipeline/index.d.ts.map +1 -1
  101. package/dist/extract/engine/pipeline/index.js +10 -23
  102. package/dist/extract/engine/pipeline/index.js.map +1 -1
  103. package/dist/extract/engine/spi/index.d.ts +38 -7
  104. package/dist/extract/engine/spi/index.d.ts.map +1 -1
  105. package/dist/extract/engine/spi/index.js +1 -1
  106. package/dist/extract/engine/spi/index.js.map +1 -1
  107. package/dist/extract/engine/ts/domains.d.ts +1 -1
  108. package/dist/extract/engine/ts/domains.d.ts.map +1 -1
  109. package/dist/extract/engine/ts/domains.js +25 -17
  110. package/dist/extract/engine/ts/domains.js.map +1 -1
  111. package/dist/extract/engine/ts/react-source-transitions.d.ts +2 -1
  112. package/dist/extract/engine/ts/react-source-transitions.d.ts.map +1 -1
  113. package/dist/extract/engine/ts/react-source-transitions.js +17 -7
  114. package/dist/extract/engine/ts/react-source-transitions.js.map +1 -1
  115. package/dist/extract/engine/ts/routes.d.ts +2 -2
  116. package/dist/extract/engine/ts/routes.d.ts.map +1 -1
  117. package/dist/extract/engine/ts/routes.js +5 -24
  118. package/dist/extract/engine/ts/routes.js.map +1 -1
  119. package/dist/extract/engine/ts/static-navigation.d.ts +2 -1
  120. package/dist/extract/engine/ts/static-navigation.d.ts.map +1 -1
  121. package/dist/extract/engine/ts/static-navigation.js +30 -20
  122. package/dist/extract/engine/ts/static-navigation.js.map +1 -1
  123. package/dist/extract/engine/ts/transition/async.d.ts +3 -10
  124. package/dist/extract/engine/ts/transition/async.d.ts.map +1 -1
  125. package/dist/extract/engine/ts/transition/async.js +60 -59
  126. package/dist/extract/engine/ts/transition/async.js.map +1 -1
  127. package/dist/extract/engine/ts/transition/effects.d.ts +2 -23
  128. package/dist/extract/engine/ts/transition/effects.d.ts.map +1 -1
  129. package/dist/extract/engine/ts/transition/effects.js +10 -171
  130. package/dist/extract/engine/ts/transition/effects.js.map +1 -1
  131. package/dist/extract/engine/ts/transition/expressions.d.ts +1 -0
  132. package/dist/extract/engine/ts/transition/expressions.d.ts.map +1 -1
  133. package/dist/extract/engine/ts/transition/expressions.js +24 -1
  134. package/dist/extract/engine/ts/transition/expressions.js.map +1 -1
  135. package/dist/extract/engine/ts/transition/guards.d.ts.map +1 -1
  136. package/dist/extract/engine/ts/transition/guards.js +11 -2
  137. package/dist/extract/engine/ts/transition/guards.js.map +1 -1
  138. package/dist/extract/engine/ts/transition/handlers.d.ts +2 -23
  139. package/dist/extract/engine/ts/transition/handlers.d.ts.map +1 -1
  140. package/dist/extract/engine/ts/transition/handlers.js +46 -188
  141. package/dist/extract/engine/ts/transition/handlers.js.map +1 -1
  142. package/dist/extract/engine/ts/transition/locals.d.ts +4 -0
  143. package/dist/extract/engine/ts/transition/locals.d.ts.map +1 -1
  144. package/dist/extract/engine/ts/transition/locals.js +27 -16
  145. package/dist/extract/engine/ts/transition/locals.js.map +1 -1
  146. package/dist/extract/engine/ts/transition/navigation.d.ts +7 -5
  147. package/dist/extract/engine/ts/transition/navigation.d.ts.map +1 -1
  148. package/dist/extract/engine/ts/transition/navigation.js +85 -41
  149. package/dist/extract/engine/ts/transition/navigation.js.map +1 -1
  150. package/dist/extract/engine/ts/transition/plugin-calls.d.ts.map +1 -1
  151. package/dist/extract/engine/ts/transition/plugin-calls.js +1 -1
  152. package/dist/extract/engine/ts/transition/plugin-calls.js.map +1 -1
  153. package/dist/extract/engine/ts/transition/statement-summary.d.ts +34 -0
  154. package/dist/extract/engine/ts/transition/statement-summary.d.ts.map +1 -0
  155. package/dist/extract/engine/ts/transition/statement-summary.js +502 -0
  156. package/dist/extract/engine/ts/transition/statement-summary.js.map +1 -0
  157. package/dist/extract/engine/ts/transition/timers.d.ts.map +1 -1
  158. package/dist/extract/engine/ts/transition/timers.js +7 -17
  159. package/dist/extract/engine/ts/transition/timers.js.map +1 -1
  160. package/dist/extract/sources/jotai/domains.d.ts +2 -1
  161. package/dist/extract/sources/jotai/domains.d.ts.map +1 -1
  162. package/dist/extract/sources/jotai/domains.js +2 -164
  163. package/dist/extract/sources/jotai/domains.js.map +1 -1
  164. package/dist/extract/sources/jotai/harness.d.ts.map +1 -1
  165. package/dist/extract/sources/jotai/harness.js +5 -2
  166. package/dist/extract/sources/jotai/harness.js.map +1 -1
  167. package/dist/extract/sources/jotai/index.d.ts +3 -3
  168. package/dist/extract/sources/jotai/index.d.ts.map +1 -1
  169. package/dist/extract/sources/jotai/index.js +2 -18
  170. package/dist/extract/sources/jotai/index.js.map +1 -1
  171. package/dist/extract/sources/jotai/plugin.d.ts +4 -0
  172. package/dist/extract/sources/jotai/plugin.d.ts.map +1 -0
  173. package/dist/extract/sources/jotai/plugin.js +19 -0
  174. package/dist/extract/sources/jotai/plugin.js.map +1 -0
  175. package/dist/extract/sources/jotai/transitions.d.ts +15 -0
  176. package/dist/extract/sources/jotai/transitions.d.ts.map +1 -0
  177. package/dist/extract/sources/jotai/transitions.js +41 -0
  178. package/dist/extract/sources/jotai/transitions.js.map +1 -0
  179. package/dist/extract/sources/router/discover.d.ts +9 -0
  180. package/dist/extract/sources/router/discover.d.ts.map +1 -0
  181. package/dist/extract/sources/router/discover.js +135 -0
  182. package/dist/extract/sources/router/discover.js.map +1 -0
  183. package/dist/extract/sources/router/index.d.ts +7 -3
  184. package/dist/extract/sources/router/index.d.ts.map +1 -1
  185. package/dist/extract/sources/router/index.js +21 -12
  186. package/dist/extract/sources/router/index.js.map +1 -1
  187. package/dist/extract/sources/router/navigation.d.ts +3 -4
  188. package/dist/extract/sources/router/navigation.d.ts.map +1 -1
  189. package/dist/extract/sources/router/navigation.js +33 -1
  190. package/dist/extract/sources/router/navigation.js.map +1 -1
  191. package/dist/extract/sources/router/redirects.d.ts +4 -0
  192. package/dist/extract/sources/router/redirects.d.ts.map +1 -0
  193. package/dist/extract/sources/router/redirects.js +37 -0
  194. package/dist/extract/sources/router/redirects.js.map +1 -0
  195. package/dist/extract/sources/router/routes.d.ts +2 -2
  196. package/dist/extract/sources/router/routes.d.ts.map +1 -1
  197. package/dist/extract/sources/router/routes.js +24 -6
  198. package/dist/extract/sources/router/routes.js.map +1 -1
  199. package/dist/extract/sources/shared/react-transition-extract.d.ts +14 -0
  200. package/dist/extract/sources/shared/react-transition-extract.d.ts.map +1 -0
  201. package/dist/extract/sources/shared/react-transition-extract.js +23 -0
  202. package/dist/extract/sources/shared/react-transition-extract.js.map +1 -0
  203. package/dist/extract/sources/swr/domains.d.ts +3 -2
  204. package/dist/extract/sources/swr/domains.d.ts.map +1 -1
  205. package/dist/extract/sources/swr/domains.js +3 -96
  206. package/dist/extract/sources/swr/domains.js.map +1 -1
  207. package/dist/extract/sources/swr/harness.d.ts.map +1 -1
  208. package/dist/extract/sources/swr/harness.js +13 -6
  209. package/dist/extract/sources/swr/harness.js.map +1 -1
  210. package/dist/extract/sources/swr/index.d.ts +3 -3
  211. package/dist/extract/sources/swr/index.d.ts.map +1 -1
  212. package/dist/extract/sources/swr/index.js +2 -20
  213. package/dist/extract/sources/swr/index.js.map +1 -1
  214. package/dist/extract/sources/swr/plugin.d.ts +4 -0
  215. package/dist/extract/sources/swr/plugin.d.ts.map +1 -0
  216. package/dist/extract/sources/swr/plugin.js +21 -0
  217. package/dist/extract/sources/swr/plugin.js.map +1 -0
  218. package/dist/extract/sources/swr/template.js +1 -1
  219. package/dist/extract/sources/swr/template.js.map +1 -1
  220. package/dist/extract/sources/swr/transitions.d.ts +15 -0
  221. package/dist/extract/sources/swr/transitions.d.ts.map +1 -0
  222. package/dist/extract/sources/swr/transitions.js +43 -0
  223. package/dist/extract/sources/swr/transitions.js.map +1 -0
  224. package/dist/extract/sources/swr/writes.d.ts.map +1 -1
  225. package/dist/extract/sources/swr/writes.js +1 -1
  226. package/dist/extract/sources/swr/writes.js.map +1 -1
  227. package/dist/extract/sources/use-state/harness.d.ts.map +1 -1
  228. package/dist/extract/sources/use-state/harness.js +5 -2
  229. package/dist/extract/sources/use-state/harness.js.map +1 -1
  230. package/dist/extract/sources/use-state/index.d.ts.map +1 -1
  231. package/dist/extract/sources/use-state/index.js +1 -166
  232. package/dist/extract/sources/use-state/index.js.map +1 -1
  233. package/dist/extract/sources/use-state/transitions.d.ts.map +1 -1
  234. package/dist/extract/sources/use-state/transitions.js +17 -9
  235. package/dist/extract/sources/use-state/transitions.js.map +1 -1
  236. package/dist/extract/sources/use-state/types.d.ts +1 -0
  237. package/dist/extract/sources/use-state/types.d.ts.map +1 -1
  238. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"routes.js","sourceRoot":"","sources":["../../../../src/extract/engine/ts/routes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"routes.js","sourceRoot":"","sources":["../../../../src/extract/engine/ts/routes.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import * as ts from "typescript";
2
2
  import type { Transition } from "modality-ts/core";
3
+ import type { NavigationAdapter, RouteInventory } from "../spi/index.js";
3
4
  import type { ComponentDecl } from "./types.js";
4
- export declare function staticNavigationTransitions(source: ts.SourceFile, fileName: string, routePatterns: readonly string[], components: ReadonlyMap<string, ComponentDecl>): Transition[];
5
+ export declare function staticNavigationTransitions(source: ts.SourceFile, fileName: string, routePatterns: readonly string[], components: ReadonlyMap<string, ComponentDecl>, adapter?: NavigationAdapter, inventory?: RouteInventory): Transition[];
5
6
  //# sourceMappingURL=static-navigation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"static-navigation.d.ts","sourceRoot":"","sources":["../../../../src/extract/engine/ts/static-navigation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAenD,OAAO,KAAK,EACV,aAAa,EAId,MAAM,YAAY,CAAC;AAEpB,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,EAAE,CAAC,UAAU,EACrB,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,SAAS,MAAM,EAAE,EAChC,UAAU,EAAE,WAAW,CAAC,MAAM,EAAE,aAAa,CAAC,GAC7C,UAAU,EAAE,CAuHd"}
1
+ {"version":3,"file":"static-navigation.d.ts","sourceRoot":"","sources":["../../../../src/extract/engine/ts/static-navigation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAmBnD,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACzE,OAAO,KAAK,EACV,aAAa,EAId,MAAM,YAAY,CAAC;AAEpB,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,EAAE,CAAC,UAAU,EACrB,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,SAAS,MAAM,EAAE,EAChC,UAAU,EAAE,WAAW,CAAC,MAAM,EAAE,aAAa,CAAC,EAC9C,OAAO,CAAC,EAAE,iBAAiB,EAC3B,SAAS,CAAC,EAAE,cAAc,GACzB,UAAU,EAAE,CA+Hd"}
@@ -1,7 +1,8 @@
1
1
  import * as ts from "typescript";
2
2
  import { isPropertyAccessLike, lineAndColumn, literalValue, propertyName, startsUppercase, } from "./ast.js";
3
3
  import { jsxRouteTarget, normalizeRouteTarget, routeMountGuard, routeMountReads, templateRoutePattern, } from "./routes.js";
4
- export function staticNavigationTransitions(source, fileName, routePatterns, components) {
4
+ import { isNavigationJsxTag, navigationRouteJsxAttribute, } from "./transition/navigation.js";
5
+ export function staticNavigationTransitions(source, fileName, routePatterns, components, adapter, inventory) {
5
6
  const transitions = [];
6
7
  const topEnv = topLevelStaticEnv(source);
7
8
  const visit = (node, component, env, depth) => {
@@ -9,8 +10,9 @@ export function staticNavigationTransitions(source, fileName, routePatterns, com
9
10
  return;
10
11
  if (ts.isJsxOpeningElement(node) || ts.isJsxSelfClosingElement(node)) {
11
12
  const tag = node.tagName.getText(source);
12
- if (tag === "Link") {
13
- const extracted = staticLinkTransitions(source, fileName, node, component, env, routePatterns);
13
+ if (isNavigationJsxTag(adapter, tag)) {
14
+ const routePattern = adapter?.routeForComponent?.(component, inventory ?? { routes: [] });
15
+ const extracted = staticNavigationJsxTransitions(source, fileName, node, tag, component, env, routePatterns, adapter, routePattern);
14
16
  transitions.push(...extracted);
15
17
  }
16
18
  else if (startsUppercase(tag)) {
@@ -63,6 +65,8 @@ export function staticNavigationTransitions(source, fileName, routePatterns, com
63
65
  if (map) {
64
66
  for (let index = 0; index < map.items.length; index += 1) {
65
67
  const item = map.items[index];
68
+ if (item === undefined)
69
+ continue;
66
70
  const callbackEnv = new Map(env);
67
71
  const [itemParam, indexParam] = map.callback.parameters;
68
72
  if (itemParam && ts.isIdentifier(itemParam.name))
@@ -96,10 +100,10 @@ function uniqueStaticTransitions(transitions) {
96
100
  }
97
101
  return unique;
98
102
  }
99
- function staticLinkTransitions(source, fileName, node, component, env, routePatterns) {
100
- const toAttr = node.attributes.properties.find((property) => ts.isJsxAttribute(property) &&
101
- ts.isIdentifier(property.name) &&
102
- property.name.text === "to");
103
+ function staticNavigationJsxTransitions(source, fileName, node, tag, component, env, routePatterns, adapter, routePattern) {
104
+ if (!adapter)
105
+ return [];
106
+ const toAttr = navigationRouteJsxAttribute(adapter, tag, node.attributes.properties);
103
107
  if (!toAttr)
104
108
  return [];
105
109
  const legacyTarget = jsxRouteTarget(toAttr, routePatterns);
@@ -107,7 +111,7 @@ function staticLinkTransitions(source, fileName, node, component, env, routePatt
107
111
  return targets
108
112
  .filter((target) => target.to !== legacyTarget)
109
113
  .map((target) => ({
110
- id: `${component}.Link.navigate.${safeId(target.to)}`,
114
+ id: `${component}.${tag}.navigate.${safeId(target.to)}`,
111
115
  cls: "nav",
112
116
  label: {
113
117
  kind: "navigate",
@@ -115,13 +119,13 @@ function staticLinkTransitions(source, fileName, node, component, env, routePatt
115
119
  to: target.to,
116
120
  },
117
121
  source: [{ file: fileName, ...lineAndColumn(source, toAttr) }],
118
- guard: routeMountGuard(component, routePatterns),
122
+ guard: routeMountGuard(routePattern),
119
123
  effect: {
120
124
  kind: "navigate",
121
125
  mode: "push",
122
126
  to: { kind: "lit", value: target.to },
123
127
  },
124
- reads: routeMountReads(component, routePatterns),
128
+ reads: routeMountReads(routePattern),
125
129
  writes: ["sys:route", "sys:history"],
126
130
  confidence: target.confidence,
127
131
  __stableIdKey: `${component}:${toAttr.getText(source)}:${target.to}`,
@@ -345,17 +349,20 @@ function staticValues(expression, env) {
345
349
  return [literal];
346
350
  if (ts.isNoSubstitutionTemplateLiteral(expression))
347
351
  return [expression.text];
348
- if (ts.isIdentifier(expression))
349
- return env.get(expression.text)
350
- ? [...env.get(expression.text)]
351
- : undefined;
352
+ if (ts.isIdentifier(expression)) {
353
+ const bound = env.get(expression.text);
354
+ return bound ? [...bound] : undefined;
355
+ }
352
356
  if (ts.isArrayLiteralExpression(expression)) {
353
357
  const items = [];
354
358
  for (const element of expression.elements) {
355
359
  const values = staticValues(element, env);
356
- if (!values || values.length !== 1)
360
+ if (values?.length !== 1)
357
361
  return undefined;
358
- items.push(values[0]);
362
+ const [single] = values;
363
+ if (single === undefined)
364
+ return undefined;
365
+ items.push(single);
359
366
  }
360
367
  return [items];
361
368
  }
@@ -365,7 +372,7 @@ function staticValues(expression, env) {
365
372
  if (ts.isShorthandPropertyAssignment(property)) {
366
373
  const values = env.get(property.name.text);
367
374
  object[property.name.text] =
368
- values && values.length === 1 ? values[0] : null;
375
+ values?.length === 1 ? (values[0] ?? null) : null;
369
376
  continue;
370
377
  }
371
378
  if (!ts.isPropertyAssignment(property))
@@ -374,7 +381,7 @@ function staticValues(expression, env) {
374
381
  if (!name)
375
382
  return undefined;
376
383
  const values = staticValues(property.initializer, env);
377
- object[name] = values && values.length === 1 ? values[0] : null;
384
+ object[name] = values?.length === 1 ? (values[0] ?? null) : null;
378
385
  }
379
386
  return [object];
380
387
  }
@@ -386,8 +393,11 @@ function staticValues(expression, env) {
386
393
  for (const value of baseValues) {
387
394
  if (!isStaticObject(value))
388
395
  continue;
389
- if (Object.hasOwn(value, expression.name.text))
390
- out.push(value[expression.name.text]);
396
+ if (Object.hasOwn(value, expression.name.text)) {
397
+ const field = value[expression.name.text];
398
+ if (field !== undefined)
399
+ out.push(field);
400
+ }
391
401
  }
392
402
  return out.length > 0 ? out : undefined;
393
403
  }
@@ -1 +1 @@
1
- {"version":3,"file":"static-navigation.js","sourceRoot":"","sources":["../../../../src/extract/engine/ts/static-navigation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"static-navigation.js","sourceRoot":"","sources":["../../../../src/extract/engine/ts/static-navigation.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,12 @@
1
1
  import * as ts from "typescript";
2
2
  import type { EffectIR, ExprIR, Locator, Transition, Value } from "modality-ts/core";
3
+ import type { NavigationAdapter } from "../../spi/index.js";
3
4
  import type { BoundExpr, ExtractableHandler, ExtractionWarning, EffectSummary, SetterBinding } from "../types.js";
4
5
  export declare function transitionsFromAsyncHandler(source: ts.SourceFile, fileName: string, attr: string, expression: ExtractableHandler, setters: Map<string, SetterBinding>, component: string, effectApis: Set<string>, asyncOutcomes: Record<string, {
5
6
  success: Value;
6
7
  error?: Value;
7
- }>, locator: Locator | undefined, routePatterns: readonly string[], warnings: ExtractionWarning[]): Transition[];
8
+ }>, locator: Locator | undefined, adapter: NavigationAdapter | undefined, routePatterns: readonly string[], warnings: ExtractionWarning[]): Transition[];
9
+ export declare function containsAwaitInLoop(node: ts.Node): boolean;
8
10
  export declare function transitionsFromSequentialAwait(source: ts.SourceFile, fileName: string, attr: string, expression: ExtractableHandler, firstAwait: ts.Statement, firstOp: string, preSummaries: readonly EffectSummary[], successStatements: readonly ts.Statement[], setters: Map<string, SetterBinding>, effectApis: Set<string>, component: string, locator: Locator | undefined, warnings: ExtractionWarning[]): Transition[];
9
11
  export declare function promiseAllGuard(ops: readonly string[]): ExprIR;
10
12
  export declare function confidenceForEffects(effects: readonly EffectIR[]): Transition["confidence"];
@@ -25,15 +27,6 @@ export declare function effectOpForCall(name: string, call: ts.CallExpression):
25
27
  export declare function fetchUrl(argument: ts.Expression | undefined): string | undefined;
26
28
  export declare function normalizeFetchUrl(value: string): string;
27
29
  export declare function fetchMethod(argument: ts.Expression | undefined): string | undefined;
28
- export declare function firstNavigationInStatements(statements: readonly ts.Statement[], routePatterns: readonly string[]): {
29
- mode: "push" | "replace" | "back";
30
- to?: string;
31
- } | undefined;
32
- export declare function navigationEffect(navigation: {
33
- mode: "push" | "replace" | "back";
34
- to?: string;
35
- }): EffectIR;
36
- export declare function appendEffect(transition: Transition, effect: EffectIR): Transition;
37
30
  export declare function effectCallArgs(call: ts.CallExpression, setters: Map<string, SetterBinding>, locals: Map<string, BoundExpr>): {
38
31
  args: Record<string, ExprIR>;
39
32
  reads: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"async.d.ts","sourceRoot":"","sources":["../../../../../src/extract/engine/ts/transition/async.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"async.d.ts","sourceRoot":"","sources":["../../../../../src/extract/engine/ts/transition/async.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,23 @@
1
1
  import * as ts from "typescript";
2
- import { callName, lineAndColumn, literalValue, propertyName, } from "../ast.js";
2
+ import { callName, lineAndColumn, literalValue, propertyName } from "../ast.js";
3
3
  import { uniqueStrings } from "../ids.js";
4
4
  import { templateRoutePattern } from "../routes.js";
5
5
  import { effectWriteVars, summarizeAsyncSegment } from "./effects.js";
6
6
  import { valueExpr } from "./expressions.js";
7
7
  import { andGuard } from "./guards.js";
8
- import { navigationCall } from "./navigation.js";
8
+ import { firstNavigationInStatements, navigationEffect, appendEffect, } from "./navigation.js";
9
9
  import { labelForEvent } from "./ui.js";
10
- export function transitionsFromAsyncHandler(source, fileName, attr, expression, setters, component, effectApis, asyncOutcomes, locator, routePatterns, warnings) {
10
+ export function transitionsFromAsyncHandler(source, fileName, attr, expression, setters, component, effectApis, asyncOutcomes, locator, adapter, routePatterns, warnings) {
11
11
  if (!ts.isBlock(expression.body))
12
12
  return [];
13
+ if (containsAwaitInLoop(expression.body)) {
14
+ const { line, column } = lineAndColumn(source, expression);
15
+ warnings.push({
16
+ message: `Unextractable handler ${component}.${attr} [await-in-loop] (${fileName}:${line}:${column})`,
17
+ line,
18
+ });
19
+ return [];
20
+ }
13
21
  const statements = expression.body.statements;
14
22
  const tryStatement = statements.find(ts.isTryStatement);
15
23
  const awaitStatement = tryStatement
@@ -39,9 +47,10 @@ export function transitionsFromAsyncHandler(source, fileName, attr, expression,
39
47
  if (containsAwaitedEffect(successStatements, effectApis) ||
40
48
  (tryStatement?.catchClause &&
41
49
  containsAwaitedEffect(tryStatement.catchClause.block.statements, effectApis))) {
50
+ const { line, column } = lineAndColumn(source, awaitStatement);
42
51
  warnings.push({
43
- message: `Unextractable handler ${component}.${attr}`,
44
- ...lineAndColumn(source, awaitStatement),
52
+ message: `Unextractable handler ${component}.${attr} [awaited-effect-in-async] (${fileName}:${line}:${column})`,
53
+ line,
45
54
  });
46
55
  return [];
47
56
  }
@@ -74,7 +83,7 @@ export function transitionsFromAsyncHandler(source, fileName, attr, expression,
74
83
  ...catchSummaries.flatMap((summary) => summary.reads),
75
84
  ...finallySummaries.flatMap((summary) => summary.reads),
76
85
  ]);
77
- const successNavigate = firstNavigationInStatements(successStatements, routePatterns);
86
+ const successNavigate = firstNavigationInStatements(successStatements, adapter, routePatterns);
78
87
  if (successEffects.length === 0 &&
79
88
  catchEffects.length === 0 &&
80
89
  !successNavigate)
@@ -166,11 +175,38 @@ export function transitionsFromAsyncHandler(source, fileName, attr, expression,
166
175
  writes: [...new Set(transition.writes)],
167
176
  }));
168
177
  }
178
+ export function containsAwaitInLoop(node) {
179
+ let loopDepth = 0;
180
+ let found = false;
181
+ const visit = (candidate) => {
182
+ if (found)
183
+ return;
184
+ const isLoop = ts.isForStatement(candidate) ||
185
+ ts.isForInStatement(candidate) ||
186
+ ts.isForOfStatement(candidate) ||
187
+ ts.isWhileStatement(candidate) ||
188
+ ts.isDoStatement(candidate);
189
+ if (isLoop)
190
+ loopDepth += 1;
191
+ if (loopDepth > 0 && ts.isAwaitExpression(candidate)) {
192
+ found = true;
193
+ }
194
+ else {
195
+ ts.forEachChild(candidate, visit);
196
+ }
197
+ if (isLoop)
198
+ loopDepth -= 1;
199
+ };
200
+ visit(node);
201
+ return found;
202
+ }
169
203
  export function transitionsFromSequentialAwait(source, fileName, attr, expression, firstAwait, firstOp, preSummaries, successStatements, setters, effectApis, component, locator, warnings) {
170
204
  const secondIndex = successStatements.findIndex((statement) => expressionStatementAwait(statement, effectApis));
171
205
  if (secondIndex < 0)
172
206
  return [];
173
207
  const secondAwait = successStatements[secondIndex];
208
+ if (!secondAwait)
209
+ return [];
174
210
  const secondOp = awaitedOp(secondAwait, effectApis);
175
211
  const promiseAllOps = secondOp
176
212
  ? undefined
@@ -203,7 +239,8 @@ export function transitionsFromSequentialAwait(source, fileName, attr, expressio
203
239
  message: `Unhandled rejection ${firstBaseId}`,
204
240
  ...lineAndColumn(source, firstAwait),
205
241
  });
206
- for (const op of promiseAllOps ?? [secondOp]) {
242
+ const rejectionOps = promiseAllOps ?? (secondOp ? [secondOp] : []);
243
+ for (const op of rejectionOps) {
207
244
  warnings.push({
208
245
  message: `Unhandled rejection ${component}.${attr}.${op}`,
209
246
  ...lineAndColumn(source, secondAwait),
@@ -219,14 +256,16 @@ export function transitionsFromSequentialAwait(source, fileName, attr, expressio
219
256
  continuation: `${secondBaseId}.cont`,
220
257
  args: {},
221
258
  }))
222
- : [
223
- {
224
- kind: "enqueue",
225
- op: secondOp,
226
- continuation: `${secondBaseId}.cont`,
227
- args: {},
228
- },
229
- ];
259
+ : secondOp
260
+ ? [
261
+ {
262
+ kind: "enqueue",
263
+ op: secondOp,
264
+ continuation: `${secondBaseId}.cont`,
265
+ args: {},
266
+ },
267
+ ]
268
+ : [];
230
269
  const secondSuccess = promiseAllOps
231
270
  ? {
232
271
  id: `${secondBaseId}.success`,
@@ -253,9 +292,13 @@ export function transitionsFromSequentialAwait(source, fileName, attr, expressio
253
292
  : {
254
293
  id: `${secondBaseId}.success`,
255
294
  cls: "env",
256
- label: { kind: "resolve", op: secondOp, outcome: "success" },
295
+ label: {
296
+ kind: "resolve",
297
+ op: secondOp ?? "unknown",
298
+ outcome: "success",
299
+ },
257
300
  source: sourceAnchor,
258
- guard: pendingIs(secondOp),
301
+ guard: pendingIs(secondOp ?? "unknown"),
259
302
  effect: {
260
303
  kind: "seq",
261
304
  effects: [{ kind: "dequeue", index: 0 }, ...tailEffects],
@@ -436,48 +479,6 @@ export function fetchMethod(argument) {
436
479
  const value = method ? literalValue(method.initializer) : undefined;
437
480
  return typeof value === "string" ? value.toUpperCase() : undefined;
438
481
  }
439
- export function firstNavigationInStatements(statements, routePatterns) {
440
- for (const statement of statements) {
441
- let found;
442
- const visit = (node) => {
443
- if (found)
444
- return;
445
- if (ts.isCallExpression(node))
446
- found = navigationCall(node, undefined, routePatterns);
447
- ts.forEachChild(node, visit);
448
- };
449
- visit(statement);
450
- if (found)
451
- return found;
452
- }
453
- return undefined;
454
- }
455
- export function navigationEffect(navigation) {
456
- return {
457
- kind: "navigate",
458
- mode: navigation.mode,
459
- ...(navigation.to ? { to: { kind: "lit", value: navigation.to } } : {}),
460
- };
461
- }
462
- export function appendEffect(transition, effect) {
463
- const current = transition.effect.kind === "seq"
464
- ? transition.effect.effects
465
- : [transition.effect];
466
- const writes = uniqueStrings([
467
- ...transition.writes,
468
- ...effectWriteVars(effect),
469
- ]);
470
- const reads = uniqueStrings([
471
- ...transition.reads,
472
- ...(effect.kind === "navigate" ? ["sys:route", "sys:history"] : []),
473
- ]);
474
- return {
475
- ...transition,
476
- effect: { kind: "seq", effects: [...current, effect] },
477
- reads,
478
- writes,
479
- };
480
- }
481
482
  export function effectCallArgs(call, setters, locals) {
482
483
  const first = call.arguments[0];
483
484
  if (!first)
@@ -1 +1 @@
1
- {"version":3,"file":"async.js","sourceRoot":"","sources":["../../../../../src/extract/engine/ts/transition/async.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"async.js","sourceRoot":"","sources":["../../../../../src/extract/engine/ts/transition/async.ts"],"names":[],"mappings":"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"}
@@ -1,29 +1,8 @@
1
1
  import * as ts from "typescript";
2
2
  import type { Locator, Transition } from "modality-ts/core";
3
- import type { BoundExpr, EffectSummary, SetterBinding, SetterCall } from "../types.js";
4
- export declare function isLoopStatement(statement: ts.Statement): boolean;
5
- export declare function settersWrittenIn(node: ts.Node, setters: Map<string, SetterBinding>): SetterBinding[];
6
- export declare function uniqueSetters(setters: readonly SetterBinding[]): SetterBinding[];
7
- export declare function setterCallFrom(call: ts.CallExpression, setters: Map<string, SetterBinding>): SetterCall | undefined;
3
+ import type { EffectSummary, SetterBinding } from "../types.js";
4
+ export { effectWriteVars, escapedSetters, escapedSettersInStatement, identityEffect, isLoopStatement, setterAssignEffect, setterCallFrom, settersWrittenIn, singleSetterEffect, summarizeAsyncSegment, summarizeSetterCall, summarizeSetterStatement, uniqueSetters, uniqueSummariesByEffect, } from "./statement-summary.js";
8
5
  export declare function havocSetterTransition(source: ts.SourceFile, fileName: string, node: ts.JsxAttribute, attr: string, component: string, setter: SetterBinding, locator: Locator | undefined, suffix: string): Transition;
9
- export declare function singleSetterEffect(statement: ts.Statement, setters: Map<string, SetterBinding>): Extract<Transition["effect"], {
10
- kind: "assign";
11
- }> | undefined;
12
- export declare function setterAssignEffect(statement: ts.Statement, setters: Map<string, {
13
- varId: string;
14
- }>): Extract<Transition["effect"], {
15
- kind: "assign";
16
- }> | undefined;
17
- export declare function identityEffect(): Extract<Transition["effect"], {
18
- kind: "seq";
19
- }>;
20
- export declare function effectWriteVars(effect: Transition["effect"]): string[];
21
- export declare function summarizeAsyncSegment(statements: readonly ts.Statement[], setters: Map<string, SetterBinding>): EffectSummary[];
22
- export declare function escapedSettersInStatement(statement: ts.Statement, setters: Map<string, SetterBinding>): SetterBinding[];
23
- export declare function escapedSetters(call: ts.CallExpression, setters: Map<string, SetterBinding>, locals?: Map<string, BoundExpr>): SetterBinding[];
24
- export declare function uniqueSummariesByEffect(summaries: readonly EffectSummary[]): EffectSummary[];
25
- export declare function summarizeSetterStatement(statement: ts.Statement, setters: Map<string, SetterBinding>, locals?: Map<string, BoundExpr>): EffectSummary | undefined;
26
- export declare function summarizeSetterCall(call: ts.CallExpression, setters: Map<string, SetterBinding>, locals?: Map<string, BoundExpr>): EffectSummary | undefined;
27
6
  export declare function transitionsFromUseEffect(source: ts.SourceFile, fileName: string, node: ts.CallExpression, setters: Map<string, SetterBinding>, component: string): Transition[];
28
7
  export declare function summarizeEffectStatements(statements: readonly ts.Statement[], setters: Map<string, SetterBinding>): EffectSummary[] | undefined;
29
8
  export declare function cleanupSummaries(statements: readonly ts.Statement[], setters: Map<string, SetterBinding>): EffectSummary[] | undefined;