modality-ts 0.0.15 → 0.0.17

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 (177) hide show
  1. package/dist/check/check-model.d.ts +4 -0
  2. package/dist/check/check-model.d.ts.map +1 -0
  3. package/dist/check/check-model.js +159 -0
  4. package/dist/check/check-model.js.map +1 -0
  5. package/dist/check/index.d.ts +2 -2
  6. package/dist/check/index.d.ts.map +1 -1
  7. package/dist/check/index.js +2 -2
  8. package/dist/check/index.js.map +1 -1
  9. package/dist/check/model-api.d.ts.map +1 -0
  10. package/dist/check/model-api.js +8 -0
  11. package/dist/check/model-api.js.map +1 -0
  12. package/dist/check/native.d.ts +6 -0
  13. package/dist/check/native.d.ts.map +1 -0
  14. package/dist/check/native.js +69 -0
  15. package/dist/check/native.js.map +1 -0
  16. package/dist/check/serialize-properties.d.ts +4 -0
  17. package/dist/check/serialize-properties.d.ts.map +1 -0
  18. package/dist/check/serialize-properties.js +4 -0
  19. package/dist/check/serialize-properties.js.map +1 -0
  20. package/dist/cli/features/check/command.d.ts.map +1 -1
  21. package/dist/cli/features/check/command.js +25 -6
  22. package/dist/cli/features/check/command.js.map +1 -1
  23. package/dist/cli/features/extract/command.d.ts +4 -1
  24. package/dist/cli/features/extract/command.d.ts.map +1 -1
  25. package/dist/cli/features/extract/command.js +262 -193
  26. package/dist/cli/features/extract/command.js.map +1 -1
  27. package/dist/cli/features/extract/project.d.ts +36 -0
  28. package/dist/cli/features/extract/project.d.ts.map +1 -0
  29. package/dist/cli/features/extract/project.js +783 -0
  30. package/dist/cli/features/extract/project.js.map +1 -0
  31. package/dist/cli/features/init/command.d.ts.map +1 -1
  32. package/dist/cli/features/init/command.js +0 -1
  33. package/dist/cli/features/init/command.js.map +1 -1
  34. package/dist/cli/runtime/index.d.ts.map +1 -1
  35. package/dist/cli/runtime/index.js +2 -1
  36. package/dist/cli/runtime/index.js.map +1 -1
  37. package/dist/core/artifacts/index.d.ts +3 -0
  38. package/dist/core/artifacts/index.d.ts.map +1 -1
  39. package/dist/core/artifacts/index.js +238 -0
  40. package/dist/core/artifacts/index.js.map +1 -1
  41. package/dist/core/index.d.ts +1 -0
  42. package/dist/core/index.d.ts.map +1 -1
  43. package/dist/core/index.js +1 -0
  44. package/dist/core/index.js.map +1 -1
  45. package/dist/core/ir/eval.d.ts +6 -0
  46. package/dist/core/ir/eval.d.ts.map +1 -0
  47. package/dist/core/ir/eval.js +104 -0
  48. package/dist/core/ir/eval.js.map +1 -0
  49. package/dist/core/ir/types.d.ts +83 -0
  50. package/dist/core/ir/types.d.ts.map +1 -1
  51. package/dist/core/props/index.d.ts +23 -54
  52. package/dist/core/props/index.d.ts.map +1 -1
  53. package/dist/core/props/index.js +182 -116
  54. package/dist/core/props/index.js.map +1 -1
  55. package/dist/core/report/types.d.ts +7 -0
  56. package/dist/core/report/types.d.ts.map +1 -1
  57. package/dist/extract/engine/pipeline/index.d.ts +4 -0
  58. package/dist/extract/engine/pipeline/index.d.ts.map +1 -1
  59. package/dist/extract/engine/pipeline/index.js +39 -15
  60. package/dist/extract/engine/pipeline/index.js.map +1 -1
  61. package/dist/extract/engine/spi/index.d.ts +32 -0
  62. package/dist/extract/engine/spi/index.d.ts.map +1 -1
  63. package/dist/extract/engine/ts/react-source-transitions.d.ts +3 -0
  64. package/dist/extract/engine/ts/react-source-transitions.d.ts.map +1 -1
  65. package/dist/extract/engine/ts/react-source-transitions.js +18 -0
  66. package/dist/extract/engine/ts/react-source-transitions.js.map +1 -1
  67. package/dist/extract/engine/ts/transition/handlers.d.ts +2 -2
  68. package/dist/extract/engine/ts/transition/handlers.d.ts.map +1 -1
  69. package/dist/extract/engine/ts/transition/handlers.js +112 -10
  70. package/dist/extract/engine/ts/transition/handlers.js.map +1 -1
  71. package/dist/extract/sources/router/index.d.ts.map +1 -1
  72. package/dist/extract/sources/router/index.js +5 -0
  73. package/dist/extract/sources/router/index.js.map +1 -1
  74. package/dist/extract/sources/router/module-roles.d.ts +7 -0
  75. package/dist/extract/sources/router/module-roles.d.ts.map +1 -0
  76. package/dist/extract/sources/router/module-roles.js +153 -0
  77. package/dist/extract/sources/router/module-roles.js.map +1 -0
  78. package/native/index.d.ts +8 -0
  79. package/native/index.js +317 -0
  80. package/native/modality-checker.linux-x64-gnu.node +0 -0
  81. package/package.json +14 -4
  82. package/dist/check/diagnostics/bounds.d.ts +0 -5
  83. package/dist/check/diagnostics/bounds.d.ts.map +0 -1
  84. package/dist/check/diagnostics/bounds.js +0 -25
  85. package/dist/check/diagnostics/bounds.js.map +0 -1
  86. package/dist/check/diagnostics/vacuity.d.ts +0 -3
  87. package/dist/check/diagnostics/vacuity.d.ts.map +0 -1
  88. package/dist/check/diagnostics/vacuity.js +0 -22
  89. package/dist/check/diagnostics/vacuity.js.map +0 -1
  90. package/dist/check/engine/check-model.d.ts +0 -7
  91. package/dist/check/engine/check-model.d.ts.map +0 -1
  92. package/dist/check/engine/check-model.js +0 -527
  93. package/dist/check/engine/check-model.js.map +0 -1
  94. package/dist/check/engine/initial-states.d.ts +0 -3
  95. package/dist/check/engine/initial-states.d.ts.map +0 -1
  96. package/dist/check/engine/initial-states.js +0 -11
  97. package/dist/check/engine/initial-states.js.map +0 -1
  98. package/dist/check/engine/model-api.d.ts.map +0 -1
  99. package/dist/check/engine/model-api.js +0 -17
  100. package/dist/check/engine/model-api.js.map +0 -1
  101. package/dist/check/engine/mounts.d.ts +0 -3
  102. package/dist/check/engine/mounts.d.ts.map +0 -1
  103. package/dist/check/engine/mounts.js +0 -13
  104. package/dist/check/engine/mounts.js.map +0 -1
  105. package/dist/check/engine/stabilize.d.ts +0 -4
  106. package/dist/check/engine/stabilize.d.ts.map +0 -1
  107. package/dist/check/engine/stabilize.js +0 -104
  108. package/dist/check/engine/stabilize.js.map +0 -1
  109. package/dist/check/engine/state-utils.d.ts +0 -13
  110. package/dist/check/engine/state-utils.d.ts.map +0 -1
  111. package/dist/check/engine/state-utils.js +0 -43
  112. package/dist/check/engine/state-utils.js.map +0 -1
  113. package/dist/check/engine/transitions.d.ts +0 -12
  114. package/dist/check/engine/transitions.d.ts.map +0 -1
  115. package/dist/check/engine/transitions.js +0 -42
  116. package/dist/check/engine/transitions.js.map +0 -1
  117. package/dist/check/properties/checked-state.d.ts +0 -3
  118. package/dist/check/properties/checked-state.d.ts.map +0 -1
  119. package/dist/check/properties/checked-state.js +0 -21
  120. package/dist/check/properties/checked-state.js.map +0 -1
  121. package/dist/check/properties/finalize.d.ts +0 -5
  122. package/dist/check/properties/finalize.d.ts.map +0 -1
  123. package/dist/check/properties/finalize.js +0 -107
  124. package/dist/check/properties/finalize.js.map +0 -1
  125. package/dist/check/properties/leads-to.d.ts +0 -8
  126. package/dist/check/properties/leads-to.d.ts.map +0 -1
  127. package/dist/check/properties/leads-to.js +0 -70
  128. package/dist/check/properties/leads-to.js.map +0 -1
  129. package/dist/check/properties/observe.d.ts +0 -6
  130. package/dist/check/properties/observe.d.ts.map +0 -1
  131. package/dist/check/properties/observe.js +0 -56
  132. package/dist/check/properties/observe.js.map +0 -1
  133. package/dist/check/properties/reachable-from.d.ts +0 -10
  134. package/dist/check/properties/reachable-from.d.ts.map +0 -1
  135. package/dist/check/properties/reachable-from.js +0 -19
  136. package/dist/check/properties/reachable-from.js.map +0 -1
  137. package/dist/check/runtime/domains.d.ts +0 -5
  138. package/dist/check/runtime/domains.d.ts.map +0 -1
  139. package/dist/check/runtime/domains.js +0 -53
  140. package/dist/check/runtime/domains.js.map +0 -1
  141. package/dist/check/runtime/effects.d.ts +0 -9
  142. package/dist/check/runtime/effects.d.ts.map +0 -1
  143. package/dist/check/runtime/effects.js +0 -86
  144. package/dist/check/runtime/effects.js.map +0 -1
  145. package/dist/check/runtime/expr.d.ts +0 -7
  146. package/dist/check/runtime/expr.d.ts.map +0 -1
  147. package/dist/check/runtime/expr.js +0 -49
  148. package/dist/check/runtime/expr.js.map +0 -1
  149. package/dist/check/runtime/navigation.d.ts +0 -7
  150. package/dist/check/runtime/navigation.d.ts.map +0 -1
  151. package/dist/check/runtime/navigation.js +0 -60
  152. package/dist/check/runtime/navigation.js.map +0 -1
  153. package/dist/check/runtime/opaque.d.ts +0 -3
  154. package/dist/check/runtime/opaque.d.ts.map +0 -1
  155. package/dist/check/runtime/opaque.js +0 -72
  156. package/dist/check/runtime/opaque.js.map +0 -1
  157. package/dist/check/runtime/paths.d.ts +0 -4
  158. package/dist/check/runtime/paths.d.ts.map +0 -1
  159. package/dist/check/runtime/paths.js +0 -28
  160. package/dist/check/runtime/paths.js.map +0 -1
  161. package/dist/check/runtime/pending.d.ts +0 -9
  162. package/dist/check/runtime/pending.d.ts.map +0 -1
  163. package/dist/check/runtime/pending.js +0 -5
  164. package/dist/check/runtime/pending.js.map +0 -1
  165. package/dist/check/runtime/tokens.d.ts +0 -7
  166. package/dist/check/runtime/tokens.d.ts.map +0 -1
  167. package/dist/check/runtime/tokens.js +0 -36
  168. package/dist/check/runtime/tokens.js.map +0 -1
  169. package/dist/check/traces/step-facts.d.ts +0 -3
  170. package/dist/check/traces/step-facts.d.ts.map +0 -1
  171. package/dist/check/traces/step-facts.js +0 -35
  172. package/dist/check/traces/step-facts.js.map +0 -1
  173. package/dist/check/traces/trace.d.ts +0 -13
  174. package/dist/check/traces/trace.d.ts.map +0 -1
  175. package/dist/check/traces/trace.js +0 -47
  176. package/dist/check/traces/trace.js.map +0 -1
  177. /package/dist/check/{engine/model-api.d.ts → model-api.d.ts} +0 -0
@@ -154,6 +154,13 @@ export interface ExtractionReport {
154
154
  percentExactOrOverlay: number;
155
155
  };
156
156
  warnings: readonly string[];
157
+ effectOperations?: readonly {
158
+ opId: string;
159
+ source?: string;
160
+ line?: number;
161
+ column?: number;
162
+ origin: "source" | "config" | "option";
163
+ }[];
157
164
  }
158
165
  export interface ConformReport {
159
166
  schemaVersion: 1;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/core/report/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/core/report/types.ts"],"names":[],"mappings":"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"}
@@ -26,6 +26,10 @@ export interface ExtractionPipelineOptions {
26
26
  routerPlugin?: RouterPlugin;
27
27
  inventory?: RouteInventory;
28
28
  lowering?: LocationLowering;
29
+ discoverFragments?: readonly {
30
+ sourceText: string;
31
+ fileName: string;
32
+ }[];
29
33
  }
30
34
  export interface ExtractionPipelineResult {
31
35
  model?: Model;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/extract/engine/pipeline/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,KAAK,EACL,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,EAChB,UAAU,EACX,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EACV,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,gBAAgB,EACjB,MAAM,iBAAiB,CAAC;AAIzB,MAAM,WAAW,uBAAuB;IACtC,WAAW,EAAE,SAAS,UAAU,EAAE,CAAC;IACnC,QAAQ,EAAE,SAAS;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAC1C;AAED,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9B,SAAS,EAAE,SAAS,YAAY,EAAE,CAAC;IACnC,aAAa,EAAE,SAAS,YAAY,EAAE,CAAC;IACvC,aAAa,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAC5C,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B;AAED,MAAM,WAAW,yBAAyB;IACxC,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/B,aAAa,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAC7C,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B,QAAQ,CAAC,EAAE,gBAAgB,CAAC;CAC7B;AAED,MAAM,WAAW,wBAAwB;IACvC,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,WAAW,EAAE,SAAS,UAAU,EAAE,CAAC;IACnC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,SAAS,EAAE,SAAS,YAAY,EAAE,CAAC;IACnC,iBAAiB,EAAE,SAAS,gBAAgB,EAAE,CAAC;IAC/C,SAAS,EAAE,SAAS,YAAY,EAAE,CAAC;IACnC,aAAa,EAAE,SAAS,YAAY,EAAE,CAAC;IACvC,OAAO,EAAE;QACP,OAAO,EAAE,SAAS,gBAAgB,EAAE,CAAC;QACrC,MAAM,CAAC,EAAE,gBAAgB,CAAC;KAC3B,CAAC;CACH;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAC1D,IAAI,EAAE,MAAM,CAAC;CACd;AAED,eAAO,MAAM,wBAAwB,EAAE,SAAS,aAAa,EAS5D,CAAC;AAEF,wBAAgB,oBAAoB,CAClC,aAAa,GAAE,SAAS,iBAAiB,EAAO,EAChD,YAAY,CAAC,EAAE,YAAY,GAC1B,wBAAwB,CAAC,SAAS,CAAC,CAQrC;AAED,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,yBAAyB,GACjC,wBAAwB,CAmG1B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/extract/engine/pipeline/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,KAAK,EACL,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,EAChB,UAAU,EACX,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EACV,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,gBAAgB,EACjB,MAAM,iBAAiB,CAAC;AAMzB,MAAM,WAAW,uBAAuB;IACtC,WAAW,EAAE,SAAS,UAAU,EAAE,CAAC;IACnC,QAAQ,EAAE,SAAS;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAC1C;AAED,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9B,SAAS,EAAE,SAAS,YAAY,EAAE,CAAC;IACnC,aAAa,EAAE,SAAS,YAAY,EAAE,CAAC;IACvC,aAAa,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAC5C,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B;AAED,MAAM,WAAW,yBAAyB;IACxC,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/B,aAAa,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAC7C,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B,iBAAiB,CAAC,EAAE,SAAS;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACzE;AAED,MAAM,WAAW,wBAAwB;IACvC,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,WAAW,EAAE,SAAS,UAAU,EAAE,CAAC;IACnC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,SAAS,EAAE,SAAS,YAAY,EAAE,CAAC;IACnC,iBAAiB,EAAE,SAAS,gBAAgB,EAAE,CAAC;IAC/C,SAAS,EAAE,SAAS,YAAY,EAAE,CAAC;IACnC,aAAa,EAAE,SAAS,YAAY,EAAE,CAAC;IACvC,OAAO,EAAE;QACP,OAAO,EAAE,SAAS,gBAAgB,EAAE,CAAC;QACrC,MAAM,CAAC,EAAE,gBAAgB,CAAC;KAC3B,CAAC;CACH;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAC1D,IAAI,EAAE,MAAM,CAAC;CACd;AAED,eAAO,MAAM,wBAAwB,EAAE,SAAS,aAAa,EAS5D,CAAC;AAEF,wBAAgB,oBAAoB,CAClC,aAAa,GAAE,SAAS,iBAAiB,EAAO,EAChD,YAAY,CAAC,EAAE,YAAY,GAC1B,wBAAwB,CAAC,SAAS,CAAC,CAQrC;AAED,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,yBAAyB,GACjC,wBAAwB,CA8I1B"}
@@ -1,5 +1,7 @@
1
1
  import { extractReactSourceTransitions } from "../ts/react-source-transitions.js";
2
+ import { typeAliasDeclarations } from "../ts/domains.js";
2
3
  import { synthesizeRedirectTransitions } from "../../sources/router/redirects.js";
4
+ import * as ts from "typescript";
3
5
  export const extractionPipelinePhases = [
4
6
  { id: "P0", name: "project-load" },
5
7
  { id: "P1", name: "state-inventory" },
@@ -22,27 +24,41 @@ export function createPluginRegistry(sourcePlugins = [], routerPlugin) {
22
24
  export function runExtractionPipeline(options) {
23
25
  const sourcePlugins = options.sourcePlugins ?? [];
24
26
  const plugins = createPluginRegistry(sourcePlugins, options.routerPlugin);
25
- const discoverCtx = {
26
- sourceText: options.sourceText,
27
+ const discoveryFragments = options.discoverFragments ?? [
28
+ { sourceText: options.sourceText, fileName: options.fileName },
29
+ ];
30
+ const mergedDiscoveryFragment = {
31
+ sourceText: discoveryFragments
32
+ .map((fragment) => fragment.sourceText)
33
+ .join("\n"),
27
34
  fileName: options.fileName,
28
- route: options.route,
29
35
  };
30
- const discoveries = sourcePlugins.map((plugin) => ({
36
+ const discoveryInputs = discoveryFragments.length > 1
37
+ ? [mergedDiscoveryFragment]
38
+ : discoveryFragments;
39
+ const discoveries = discoveryInputs.flatMap((fragment) => sourcePlugins.map((plugin) => ({
31
40
  plugin,
32
- decls: plugin.discover(discoverCtx),
33
- }));
41
+ decls: plugin.discover({
42
+ sourceText: fragment.sourceText,
43
+ fileName: fragment.fileName,
44
+ route: options.route,
45
+ }),
46
+ })));
34
47
  const stateVars = discoveries
35
48
  .flatMap((discovery) => discovery.decls)
36
49
  .map((decl) => decl.var)
37
- .filter((decl) => Boolean(decl));
38
- const writeChannels = sourcePlugins.flatMap((plugin) => plugin.writeChannels({
39
- sourceText: options.sourceText,
40
- fileName: options.fileName,
41
- }));
42
- const pluginWarnings = sourcePlugins.flatMap((plugin) => plugin.safetyWarnings?.({
43
- sourceText: options.sourceText,
44
- fileName: options.fileName,
45
- }) ?? []);
50
+ .filter((decl) => Boolean(decl))
51
+ .filter((decl, index, all) => all.findIndex((candidate) => candidate.id === decl.id) === index);
52
+ const writeChannels = discoveryInputs
53
+ .flatMap((fragment) => sourcePlugins.flatMap((plugin) => plugin.writeChannels({
54
+ sourceText: fragment.sourceText,
55
+ fileName: fragment.fileName,
56
+ })))
57
+ .filter((channel, index, all) => all.findIndex((candidate) => candidate.id === channel.id) === index);
58
+ const pluginWarnings = discoveryInputs.flatMap((fragment) => sourcePlugins.flatMap((plugin) => plugin.safetyWarnings?.({
59
+ sourceText: fragment.sourceText,
60
+ fileName: fragment.fileName,
61
+ }) ?? []));
46
62
  const templateFragments = discoveries.flatMap(({ plugin, decls }) => decls.flatMap((decl) => plugin.template ? [plugin.template(decl, { route: options.route })] : []));
47
63
  const extractionCtx = {
48
64
  sourceText: options.sourceText,
@@ -59,6 +75,10 @@ export function runExtractionPipeline(options) {
59
75
  ...(options.routerPlugin ? { routerPlugin: options.routerPlugin } : {}),
60
76
  ...(options.inventory ? { inventory: options.inventory } : {}),
61
77
  };
78
+ const supplementalTypeText = discoveryInputs
79
+ .map((fragment) => fragment.sourceText)
80
+ .join("\n");
81
+ const supplementalTypes = typeAliasDeclarations(ts.createSourceFile("__types__.ts", supplementalTypeText, ts.ScriptTarget.Latest, true, ts.ScriptKind.TS));
62
82
  const genericExtraction = extractReactSourceTransitions(options.sourceText, {
63
83
  route: options.route,
64
84
  fileName: options.fileName,
@@ -67,6 +87,10 @@ export function runExtractionPipeline(options) {
67
87
  stateVars: extractionCtx.stateVars,
68
88
  writeChannels,
69
89
  sourcePlugins,
90
+ additionalTypeAliases: supplementalTypes,
91
+ additionalComponentSources: discoveryFragments
92
+ .filter((fragment) => fragment.fileName !== options.fileName)
93
+ .map((fragment) => fragment.sourceText),
70
94
  ...(options.routerPlugin ? { routerPlugin: options.routerPlugin } : {}),
71
95
  ...(options.inventory ? { inventory: options.inventory } : {}),
72
96
  });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/extract/engine/pipeline/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/extract/engine/pipeline/index.ts"],"names":[],"mappings":"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"}
@@ -126,6 +126,34 @@ export interface StateSourcePlugin {
126
126
  testedVersions: string;
127
127
  };
128
128
  }
129
+ export type ModuleRuntimeContext = "client" | "server" | "shared" | "type";
130
+ export type ModuleDirective = "use client" | "use server";
131
+ export type ImportEdgeContext = "client-value" | "server-value" | "render-value" | "type" | "asset" | "unknown";
132
+ export type ModuleExtractionSurface = "render" | "interaction";
133
+ export interface ModuleClassification {
134
+ defaultContext: ModuleRuntimeContext | "unknown";
135
+ directives?: readonly ModuleDirective[];
136
+ serverOnly?: boolean;
137
+ reason?: string;
138
+ }
139
+ export interface ModuleEntryExport {
140
+ name: "default" | string;
141
+ context: ModuleRuntimeContext;
142
+ reason: string;
143
+ }
144
+ export interface ModuleRoleCtx {
145
+ fileName: string;
146
+ sourceText: string;
147
+ route?: RouteNode;
148
+ }
149
+ export interface ImportEdgeCtx {
150
+ importer: string;
151
+ specifier: string;
152
+ imported?: string;
153
+ isTypeOnly: boolean;
154
+ importerContext: ModuleRuntimeContext | "unknown";
155
+ surface: ModuleExtractionSurface;
156
+ }
129
157
  export interface NavigationAdapter {
130
158
  id: string;
131
159
  version?: string;
@@ -134,6 +162,10 @@ export interface NavigationAdapter {
134
162
  classifyNavigationCall(callee: string, args: readonly unknown[]): NavIntent | "unsupported";
135
163
  classifyNavigationJsx?(tag: string, attrs: ReadonlyMap<string, unknown>): NavIntent | "unsupported";
136
164
  routeForComponent?(componentName: string, inventory: RouteInventory): string | undefined;
165
+ classifyModule?(ctx: ModuleRoleCtx): ModuleClassification;
166
+ moduleEntryExports?(ctx: ModuleRoleCtx): readonly ModuleEntryExport[];
167
+ classifyImportEdge?(ctx: ImportEdgeCtx): ImportEdgeContext;
168
+ isServerOnlyModule?(fileName: string): boolean;
137
169
  locationVars(inventory: RouteInventory, options: ResolvedOptions, lowering: LocationLowering): readonly StateVarDecl[];
138
170
  harness: {
139
171
  setup(ctx: HarnessCtx): HarnessHooks;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/extract/engine/spi/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/extract/engine/spi/index.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import * as ts from "typescript";
1
2
  import type { StateVarDecl, Transition, Value, EffectIR } from "modality-ts/core";
2
3
  import type { ExtractionWarning } from "./types.js";
3
4
  import type { RouteInventory, RouterPlugin, StateSourcePlugin, WriteChannel } from "../spi/index.js";
@@ -18,6 +19,8 @@ export interface ReactSourceTransitionOptions {
18
19
  resetSymbols?: ReadonlySet<string>;
19
20
  setterFixedEffects?: ReadonlyMap<string, EffectIR>;
20
21
  resettableVarIds?: ReadonlySet<string>;
22
+ additionalTypeAliases?: ReadonlyMap<string, ts.TypeNode>;
23
+ additionalComponentSources?: readonly string[];
21
24
  }
22
25
  export interface ReactSourceTransitionResult {
23
26
  vars: StateVarDecl[];
@@ -1 +1 @@
1
- {"version":3,"file":"react-source-transitions.d.ts","sourceRoot":"","sources":["../../../../src/extract/engine/ts/react-source-transitions.ts"],"names":[],"mappings":"AAoCA,OAAO,KAAK,EACV,YAAY,EACZ,UAAU,EACV,KAAK,EACL,QAAQ,EACT,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAEV,iBAAiB,EAElB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAEV,cAAc,EACd,YAAY,EACZ,iBAAiB,EACjB,YAAY,EACb,MAAM,iBAAiB,CAAC;AA0BzB,MAAM,WAAW,4BAA4B;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/B,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,OAAO,EAAE,KAAK,CAAC;QAAC,KAAK,CAAC,EAAE,KAAK,CAAA;KAAE,CAAC,CAAC;IAClE,SAAS,CAAC,EAAE,SAAS,YAAY,EAAE,CAAC;IACpC,aAAa,CAAC,EAAE,SAAS,YAAY,EAAE,CAAC;IACxC,aAAa,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAC7C,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B,YAAY,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACnC,kBAAkB,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACnD,gBAAgB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CACxC;AAED,MAAM,WAAW,2BAA2B;IAC1C,IAAI,EAAE,YAAY,EAAE,CAAC;IACrB,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,QAAQ,EAAE,iBAAiB,EAAE,CAAC;CAC/B;AAED,wBAAgB,6BAA6B,CAC3C,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,4BAAiC,GACzC,2BAA2B,CAsX7B"}
1
+ {"version":3,"file":"react-source-transitions.d.ts","sourceRoot":"","sources":["../../../../src/extract/engine/ts/react-source-transitions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAoCjC,OAAO,KAAK,EACV,YAAY,EACZ,UAAU,EACV,KAAK,EACL,QAAQ,EACT,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAEV,iBAAiB,EAElB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAEV,cAAc,EACd,YAAY,EACZ,iBAAiB,EACjB,YAAY,EACb,MAAM,iBAAiB,CAAC;AA0BzB,MAAM,WAAW,4BAA4B;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/B,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,OAAO,EAAE,KAAK,CAAC;QAAC,KAAK,CAAC,EAAE,KAAK,CAAA;KAAE,CAAC,CAAC;IAClE,SAAS,CAAC,EAAE,SAAS,YAAY,EAAE,CAAC;IACpC,aAAa,CAAC,EAAE,SAAS,YAAY,EAAE,CAAC;IACxC,aAAa,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAC7C,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B,YAAY,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACnC,kBAAkB,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACnD,gBAAgB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACvC,qBAAqB,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC;IACzD,0BAA0B,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAChD;AAED,MAAM,WAAW,2BAA2B;IAC1C,IAAI,EAAE,YAAY,EAAE,CAAC;IACrB,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,QAAQ,EAAE,iBAAiB,EAAE,CAAC;CAC/B;AAED,wBAAgB,6BAA6B,CAC3C,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,4BAAiC,GACzC,2BAA2B,CAiZ7B"}
@@ -17,6 +17,10 @@ export function extractReactSourceTransitions(sourceText, options = {}) {
17
17
  const fileName = options.fileName ?? "App.tsx";
18
18
  const source = ts.createSourceFile(fileName, sourceText, ts.ScriptTarget.Latest, true, ts.ScriptKind.TSX);
19
19
  const typeAliases = typeAliasDeclarations(source);
20
+ for (const [name, typeNode] of options.additionalTypeAliases ?? []) {
21
+ if (!typeAliases.has(name))
22
+ typeAliases.set(name, typeNode);
23
+ }
20
24
  const vars = options.stateVars ? [...options.stateVars] : [];
21
25
  const transitions = [];
22
26
  const warnings = [];
@@ -30,8 +34,22 @@ export function extractReactSourceTransitions(sourceText, options = {}) {
30
34
  const contextBindings = discoverContextBindings(source, fileName, route, typeAliases);
31
35
  const globalTaints = new Set();
32
36
  const components = componentDeclarations(source);
37
+ for (const fragment of options.additionalComponentSources ?? []) {
38
+ const supplemental = ts.createSourceFile(fileName, fragment, ts.ScriptTarget.Latest, true, ts.ScriptKind.TSX);
39
+ for (const [name, decl] of componentDeclarations(supplemental)) {
40
+ if (!components.has(name))
41
+ components.set(name, decl);
42
+ }
43
+ }
33
44
  const providerComponents = providerComponentNames(source);
34
45
  const customHooks = customHookDeclarations(source);
46
+ for (const fragment of options.additionalComponentSources ?? []) {
47
+ const supplemental = ts.createSourceFile(fileName, fragment, ts.ScriptTarget.Latest, true, ts.ScriptKind.TSX);
48
+ for (const [name, decl] of customHookDeclarations(supplemental)) {
49
+ if (!customHooks.has(name))
50
+ customHooks.set(name, decl);
51
+ }
52
+ }
35
53
  const statefulListComponents = detectStatefulListComponents(source, components);
36
54
  const reportedStatefulListComponents = new Set();
37
55
  const reportedCustomHooks = new Set();
@@ -1 +1 @@
1
- {"version":3,"file":"react-source-transitions.js","sourceRoot":"","sources":["../../../../src/extract/engine/ts/react-source-transitions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,EACL,gBAAgB,EAChB,6BAA6B,EAC7B,oBAAoB,EACpB,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,sBAAsB,GACvB,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,qBAAqB,EACrB,gBAAgB,EAChB,sBAAsB,EACtB,4BAA4B,EAC5B,qBAAqB,EACrB,uBAAuB,EACvB,qBAAqB,EACrB,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,gCAAgC,EAChC,UAAU,EACV,uBAAuB,EACvB,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,cAAc,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AACnE,OAAO,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EACL,mBAAmB,EACnB,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,cAAc,CAAC;AAmBtB,OAAO,EACL,wBAAwB,EACxB,iBAAiB,EACjB,cAAc,EACd,4BAA4B,GAC7B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,2BAA2B,EAC3B,qCAAqC,EACrC,mCAAmC,GACpC,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,cAAc,GACf,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EACL,wBAAwB,EACxB,2BAA2B,GAC5B,MAAM,yBAAyB,CAAC;AAwBjC,MAAM,UAAU,6BAA6B,CAC3C,UAAkB,EAClB,UAAwC,EAAE;IAE1C,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,SAAS,CAAC;IAC/C,MAAM,MAAM,GAAG,EAAE,CAAC,gBAAgB,CAChC,QAAQ,EACR,UAAU,EACV,EAAE,CAAC,YAAY,CAAC,MAAM,EACtB,IAAI,EACJ,EAAE,CAAC,UAAU,CAAC,GAAG,CAClB,CAAC;IACF,MAAM,WAAW,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAClD,MAAM,IAAI,GAAmB,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7E,MAAM,WAAW,GAAiB,EAAE,CAAC;IACrC,MAAM,QAAQ,GAAwB,EAAE,CAAC;IACzC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,GAAG,CAAC;IACnC,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,EAAE,CAAC;IAClD,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;IACrD,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,EAAE,CAAC;IAClD,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;IAC1C,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IACpC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAyB,CAAC;IACjD,MAAM,eAAe,GAAG,uBAAuB,CAC7C,MAAM,EACN,QAAQ,EACR,KAAK,EACL,WAAW,CACZ,CAAC;IACF,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;IACvC,MAAM,UAAU,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;IACjD,MAAM,kBAAkB,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC;IAC1D,MAAM,WAAW,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC;IACnD,MAAM,sBAAsB,GAAG,4BAA4B,CACzD,MAAM,EACN,UAAU,CACX,CAAC;IACF,MAAM,8BAA8B,GAAG,IAAI,GAAG,EAAU,CAAC;IACzD,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAU,CAAC;IAC9C,KAAK,MAAM,IAAI,IAAI,eAAe,CAAC,IAAI,EAAE,CAAC;QACxC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;YAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3E,CAAC;IACD,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,IAAI,GAAG,CAAS,CAAC,OAAO,CAAC,CAAC,CAAC;IACxE,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,aAAa,IAAI,EAAE,EAAE,CAAC;QAClD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC;QACtE,IAAI,CAAC,IAAI;YAAE,SAAS;QACpB,MAAM,OAAO,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAC5C,IACE,OAAO,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAC7B,OAAO,CAAC,gBAAgB,EAAE,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,EAC5C,CAAC;YACD,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;QAC5B,CAAC;QACD,MAAM,WAAW,GAAG,OAAO,CAAC,kBAAkB,EAAE,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACxE,IAAI,WAAW;YAAE,OAAO,CAAC,WAAW,GAAG,WAAW,CAAC;QACnD,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACnD,CAAC;IACD,KAAK,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,eAAe,CAAC,OAAO;QACxD,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAClC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA8B,CAAC;IACvD,MAAM,KAAK,GAAG,CAAC,IAAa,EAAE,aAAiC,EAAQ,EAAE;QACvE,IAAI,CAAC,aAAa,IAAI,uBAAuB,CAAC,IAAI,CAAC;YAAE,OAAO;QAC5D,MAAM,aAAa,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,aAAa,CAAC;QAC9D,IACE,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC;YAC9B,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;YAC1B,IAAI,CAAC,WAAW,EAChB,CAAC;YACD,MAAM,OAAO,GAAG,6BAA6B,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAChE,IAAI,OAAO;gBAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACrD,CAAC;QACD,IACE,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC;YAC9B,IAAI,CAAC,IAAI;YACT,oBAAoB,CAAC,IAAI,CAAC,EAC1B,CAAC;YACD,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACrC,CAAC;QACD,IACE,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC;YAC9B,IAAI,CAAC,WAAW;YAChB,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,EAClC,CAAC;YACD,QAAQ,CAAC,IAAI,CAAC;gBACZ,OAAO,EAAE,0BAA0B,aAAa,IAAI,WAAW,aAAa;gBAC5E,GAAG,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC;aAC/B,CAAC,CAAC;QACL,CAAC;QACD,gCAAgC,CAAC,IAAI,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC;QACjE,IACE,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC;YAC9B,aAAa;YACb,qBAAqB,CACnB,MAAM,EACN,QAAQ,EACR,IAAI,EACJ,WAAW,EACX,IAAI,EACJ,OAAO,EACP,aAAa,EACb,KAAK,CACN,EACD,CAAC;YACD,OAAO;QACT,CAAC;QACD,MAAM,UAAU,GAAG,gBAAgB,CAAC,IAAI,EAAE,IAAI,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACvE,IAAI,UAAU,IAAI,aAAa,EAAE,CAAC;YAChC,MAAM,GAAG,GAAG,GAAG,aAAa,IAAI,UAAU,EAAE,CAAC;YAC7C,IACE,CAAC,eAAe,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC;gBAC5C,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,EAC7B,CAAC;gBACD,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAC7B,QAAQ,CAAC,IAAI,CAAC;oBACZ,OAAO,EAAE,6BAA6B,GAAG,EAAE;oBAC3C,GAAG,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC;iBAC/B,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD,IACE,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC;YAC9B,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC;YACnC,IAAI,CAAC,WAAW;YAChB,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,EAChC,CAAC;YACD,IAAI,aAAa,IAAI,sBAAsB,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;gBAC/D,IAAI,CAAC,8BAA8B,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;oBACvD,8BAA8B,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;oBAClD,QAAQ,CAAC,IAAI,CAAC;wBACZ,OAAO,EAAE,oCAAoC,aAAa,EAAE;wBAC5D,GAAG,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC;qBAC/B,CAAC,CAAC;gBACL,CAAC;gBACD,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC;gBAC9D,OAAO;YACT,CAAC;YACD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YACxC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YACzC,IAAI,EAAE,CAAC,gBAAgB,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;gBACtE,MAAM,MAAM,GAAG,mBAAmB,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;gBAClE,MAAM,SAAS,GAAG,aAAa,IAAI,WAAW,CAAC;gBAC/C,MAAM,KAAK,GAAG,SAAS,SAAS,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBAC1D,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;oBACvB,IAAI,CAAC,IAAI,CAAC;wBACR,EAAE,EAAE,KAAK;wBACT,MAAM;wBACN,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE;wBAC1D,KAAK,EAAE,kBAAkB,CAAC,GAAG,CAAC,SAAS,CAAC;4BACtC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;4BACpB,CAAC,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE;wBAClC,OAAO,EAAE,uBAAuB,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC;qBAC3D,CAAC,CAAC;gBACL,CAAC;gBACD,IACE,UAAU;oBACV,EAAE,CAAC,gBAAgB,CAAC,UAAU,CAAC;oBAC/B,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,EAChC,CAAC;oBACD,IAAI,CAAC,OAAO,CAAC,aAAa;wBACxB,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE;4BACxC,KAAK;4BACL,SAAS;4BACT,SAAS,EAAE,SAAS,CAAC,IAAI,CAAC,IAAI;4BAC9B,MAAM;yBACP,CAAC,CAAC;gBACP,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC,IAAI,CAAC;oBACZ,OAAO,EAAE,sCAAsC;oBAC/C,GAAG,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC;iBAC/B,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD,MAAM,eAAe,GAAG,aAAa,IAAI,WAAW,CAAC;QACrD,MAAM,YAAY,GAAG,4BAA4B,CAC/C,YAAY,EACZ,SAAS,EACT,eAAe,CAChB,CAAC;QACF,MAAM,IAAI,GAAG,uBAAuB,CAClC,MAAM,EACN,QAAQ,EACR,IAAI,EACJ,eAAe,EACf,aAAa,EACb,YAAY,EACZ,YAAY,CACb,CAAC;QACF,IAAI,IAAI;YAAE,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjC,MAAM,aAAa,GAAG,mBAAmB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QAClE,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;QACrD,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,GAAG,GAAG,gBAAgB,QAAQ,CAAC,KAAK,EAAE,CAAC;YAC7C,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC3B,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACtB,QAAQ,CAAC,IAAI,CAAC;oBACZ,OAAO,EAAE,GAAG;oBACZ,GAAG,aAAa,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC;iBACxC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD,WAAW,CAAC,IAAI,CACd,GAAG,wBAAwB,CACzB,MAAM,EACN,QAAQ,EACR,IAAI,EACJ,aAAa,EACb,aAAa,IAAI,WAAW,CAC7B,CACF,CAAC;QACF,KAAK,MAAM,UAAU,IAAI,iBAAiB,CAAC,IAAI,EAAE,aAAa,CAAC,EAAE,CAAC;YAChE,MAAM,GAAG,GAAG,gBAAgB,UAAU,CAAC,KAAK,EAAE,CAAC;YAC/C,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC3B,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACtB,QAAQ,CAAC,IAAI,CAAC;oBACZ,OAAO,EAAE,GAAG;oBACZ,GAAG,aAAa,CAAC,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC;iBAC1C,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD,IACE,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC;YACvB,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;YAC1B,IAAI,CAAC,WAAW;YAChB,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;YACrC,CAAC,uBAAuB,CAAC,IAAI,CAAC,EAC9B,CAAC;YACD,MAAM,SAAS,GAAG,qCAAqC,CACrD,MAAM,EACN,QAAQ,EACR,IAAI,EACJ,aAAa,EACb,QAAQ,EACR,UAAU,EACV,aAAa,IAAI,WAAW,EAC5B,UAAU,EACV,OAAO,CAAC,aAAa,IAAI,EAAE,EAC3B,aAAa,EACb,YAAY,EACZ,QAAQ,CACT,CAAC;YACF,WAAW,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC;YAC/B,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC3B,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;gBACrD,QAAQ,CAAC,IAAI,CAAC;oBACZ,OAAO,EAAE,yBAAyB,aAAa,IAAI,WAAW,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,6BAA6B,QAAQ,IAAI,IAAI,IAAI,MAAM,GAAG;oBAC1I,IAAI;iBACL,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD,IACE,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC;YACvB,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;YAC1B,IAAI,CAAC,WAAW;YAChB,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;YAChC,uBAAuB,CAAC,IAAI,CAAC,EAC7B,CAAC;YACD,MAAM,QAAQ,GAAG,uBAAuB,CACtC,IAAI,EACJ,IAAI,EACJ,aAAa,IAAI,WAAW,CAC7B,CAAC;YACF,IAAI,QAAQ,EAAE,CAAC;gBACb,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;oBAC3C,MAAM,SAAS,GAAG,mCAAmC,CACnD,MAAM,EACN,QAAQ,EACR,IAAI,EACJ,aAAa,EACb,QAAQ,EACR,aAAa,IAAI,WAAW,EAC5B;wBACE,KAAK,EAAE,QAAQ,CAAC,KAAK;wBACrB,MAAM,EAAE,QAAQ,CAAC,MAAM;wBACvB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;qBAC5B,CACF,CAAC;oBACF,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACzB,WAAW,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;wBACrD,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC;wBAC9D,OAAO;oBACT,CAAC;gBACH,CAAC;gBACD,QAAQ,CAAC,IAAI,CAAC;oBACZ,OAAO,EAAE,uCAAuC,aAAa,IAAI,WAAW,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,SAAS,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,QAAQ,CAAC,KAAK,EAAE;oBAC/I,GAAG,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC;iBAC/B,CAAC,CAAC;gBACH,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC;gBAC9D,OAAO;YACT,CAAC;YACD,MAAM,WAAW,GAAG,uBAAuB,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;YACjE,MAAM,KAAK,GAAG,mBAAmB,CAAC;gBAChC,cAAc,CACZ,IAAI,EACJ,aAAa,EACb,QAAQ,EACR,MAAM,EACN,aAAa,IAAI,WAAW,EAC5B,WAAW,CACZ;gBACD,gBAAgB,CACd,IAAI,EACJ,aAAa,EACb,QAAQ,EACR,MAAM,EACN,aAAa,IAAI,WAAW,EAC5B,WAAW,CACZ;aACF,CAAC,CAAC;YACH,MAAM,SAAS,GAAG,2BAA2B,CAC3C,MAAM,EACN,QAAQ,EACR,IAAI,EACJ,aAAa,EACb,QAAQ,EACR,aAAa,IAAI,WAAW,EAC5B,UAAU,EACV,OAAO,CAAC,aAAa,IAAI,EAAE,EAC3B,aAAa,EACb,YAAY,EACZ,KAAK,EACL,aAAa,EACb,eAAe,EACf,QAAQ,EACR,YAAY,CACb,CAAC;YACF,WAAW,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC;YAC/B,IACE,SAAS,CAAC,MAAM,KAAK,CAAC;gBACtB,CAAC,qBAAqB,CACpB,IAAI,EACJ,QAAQ,EACR,UAAU,CAAC,GAAG,CAAC,aAAa,IAAI,EAAE,CAAC,CACpC;gBACD,CAAC,4BAA4B,CAAC,IAAI,EAAE,QAAQ,EAAE,aAAa,CAAC,EAC5D,CAAC;gBACD,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;gBACrD,QAAQ,CAAC,IAAI,CAAC;oBACZ,OAAO,EAAE,yBAAyB,aAAa,IAAI,WAAW,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,6BAA6B,QAAQ,IAAI,IAAI,IAAI,MAAM,GAAG;oBAC1I,IAAI;iBACL,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD,IAAI,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;YACvD,MAAM,SAAS,GAAG,wBAAwB,CACxC,MAAM,EACN,QAAQ,EACR,IAAI,EACJ,aAAa,EACb,aAAa,IAAI,WAAW,CAC7B,CAAC;YACF,WAAW,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC;YAC/B,IACE,SAAS,CAAC,MAAM,KAAK,CAAC;gBACtB,2BAA2B,CAAC,IAAI,EAAE,aAAa,CAAC;gBAChD,CAAC,kBAAkB,CAAC,GAAG,CAAC,aAAa,IAAI,EAAE,CAAC,EAC5C,CAAC;gBACD,QAAQ,CAAC,IAAI,CAAC;oBACZ,OAAO,EAAE,wBAAwB,aAAa,IAAI,WAAW,YAAY;oBACzE,GAAG,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC;iBAC/B,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC;IAChE,CAAC,CAAC;IACF,KAAK,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACzB,WAAW,CAAC,IAAI,CACd,GAAG,2BAA2B,CAC5B,MAAM,EACN,QAAQ,EACR,aAAa,EACb,UAAU,EACV,YAAY,EACZ,SAAS,CACV,CACF,CAAC;IACF,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,uBAAuB,CAAC,WAAW,CAAC,EAAE,QAAQ,EAAE,CAAC;AAC/E,CAAC;AAED,SAAS,4BAA4B,CACnC,OAAsC,EACtC,SAAqC,EACrC,aAAqB;IAErB,IAAI,CAAC,OAAO,EAAE,iBAAiB,IAAI,CAAC,SAAS;QAAE,OAAO,SAAS,CAAC;IAChE,OAAO,OAAO,CAAC,iBAAiB,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;AAC7D,CAAC"}
1
+ {"version":3,"file":"react-source-transitions.js","sourceRoot":"","sources":["../../../../src/extract/engine/ts/react-source-transitions.ts"],"names":[],"mappings":"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"}
@@ -24,9 +24,9 @@ export declare function transitionsFromResolvedHandler(source: ts.SourceFile, fi
24
24
  success: Value;
25
25
  error?: Value;
26
26
  }>, sourcePlugins: readonly StateSourcePlugin[], routerPlugin: RouterPlugin | undefined, disabledGuard: ParsedGuard | undefined, locator: Locator | undefined, routePatterns: readonly string[], contextBindings: ContextBindings, warnings: ExtractionWarning[], resetSymbols?: ReadonlySet<string>): Transition[];
27
- export declare function sequentialTransitionFromHandler(source: ts.SourceFile, fileName: string, node: ts.JsxAttribute, attr: string, handler: ExtractableHandler, setters: Map<string, SetterBinding>, handlers: Map<string, ExtractableHandler>, component: string, locator: Locator | undefined, resetSymbols?: ReadonlySet<string>): Transition | undefined;
27
+ export declare function sequentialTransitionFromHandler(source: ts.SourceFile, fileName: string, node: ts.JsxAttribute, attr: string, handler: ExtractableHandler, setters: Map<string, SetterBinding>, handlers: Map<string, ExtractableHandler>, component: string, locator: Locator | undefined, resetSymbols?: ReadonlySet<string>, initialLocals?: Map<string, BoundExpr>, valueSuffix?: string): Transition | undefined;
28
28
  export declare function loopWriteTransitions(source: ts.SourceFile, fileName: string, node: ts.JsxAttribute, attr: string, handler: ExtractableHandler, setters: Map<string, SetterBinding>, component: string, locator: Locator | undefined): Transition[];
29
- export declare function conditionalTransitionFromHandler(source: ts.SourceFile, fileName: string, node: ts.JsxAttribute, attr: string, handler: ExtractableHandler, setters: Map<string, SetterBinding>, component: string, locator: Locator | undefined): Transition | undefined;
29
+ export declare function conditionalTransitionFromHandler(source: ts.SourceFile, fileName: string, node: ts.JsxAttribute, attr: string, handler: ExtractableHandler, setters: Map<string, SetterBinding>, component: string, locator: Locator | undefined, initialLocals?: Map<string, BoundExpr>, valueSuffix?: string): Transition | undefined;
30
30
  export declare function stateNameForVar(varId: string, setters: Map<string, SetterBinding>): string | undefined;
31
31
  export declare function escapedSetterTransitions(source: ts.SourceFile, fileName: string, node: ts.JsxAttribute, attr: string, component: string, setters: readonly SetterBinding[], locator: Locator | undefined): Transition[];
32
32
  //# sourceMappingURL=handlers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../../../../src/extract/engine/ts/transition/handlers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../../../../src/extract/engine/ts/transition/handlers.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,54 @@ import { navigationTransition } from "./navigation.js";
14
14
  import { noopCallTransition, pluginWriteTransition, swrMutateTransition, } from "./plugin-calls.js";
15
15
  import { effectFromSummaries, summarizeHandlerStatements, } from "./statement-summary.js";
16
16
  import { isInputValueExpression, labelForEvent, locatorForEventAttribute, } from "./ui.js";
17
+ function booleanControlledCallbackValues(attr) {
18
+ if (attr === "onOpenChange" || attr === "onCheckedChange") {
19
+ return [true, false];
20
+ }
21
+ return undefined;
22
+ }
23
+ function booleanCallbackParameterBindings(handler, attr) {
24
+ const values = booleanControlledCallbackValues(attr);
25
+ if (!values)
26
+ return undefined;
27
+ const firstParam = handler.parameters[0];
28
+ if (!firstParam || !ts.isIdentifier(firstParam.name))
29
+ return undefined;
30
+ const paramName = firstParam.name.text;
31
+ return values.map((value) => new Map([
32
+ [paramName, { expr: { kind: "lit", value }, reads: [] }],
33
+ ]));
34
+ }
35
+ function booleanCallbackValueSuffix(initialLocals) {
36
+ for (const binding of initialLocals.values()) {
37
+ if (binding.expr.kind === "lit") {
38
+ const value = binding.expr.value;
39
+ if (value === true || value === false)
40
+ return String(value);
41
+ }
42
+ }
43
+ return undefined;
44
+ }
45
+ function directSetterBooleanCallbackTransitions(source, fileName, node, attr, setter, component, disabledGuard, locator) {
46
+ const values = booleanControlledCallbackValues(attr);
47
+ if (!values || setter.domain.kind !== "bool")
48
+ return [];
49
+ return applyParsedGuard(values.map((value) => ({
50
+ id: `${component}.${attr}.${setter.stateName}.${value}`,
51
+ cls: "user",
52
+ label: labelForEvent(attr, locator),
53
+ source: [{ file: fileName, ...lineAndColumn(source, node) }],
54
+ guard: { kind: "lit", value: true },
55
+ effect: {
56
+ kind: "assign",
57
+ var: setter.varId,
58
+ expr: { kind: "lit", value },
59
+ },
60
+ reads: [],
61
+ writes: [setter.varId],
62
+ confidence: "exact",
63
+ })), disabledGuard);
64
+ }
17
65
  export function transitionsFromJsxAttribute(source, fileName, node, setters, handlers, component, effectApis, asyncOutcomes, sourcePlugins, routerPlugin, disabledGuard, routePatterns, contextBindings, warnings, resetSymbols = new Set(["RESET"])) {
18
66
  if (!node.initializer)
19
67
  return [];
@@ -45,15 +93,26 @@ export function transitionsFromComponentPropAttribute(source, fileName, node, se
45
93
  const expression = ts.isJsxExpression(node.initializer)
46
94
  ? node.initializer.expression
47
95
  : undefined;
48
- const handler = handlerExpression(expression, handlers);
49
- if (!handler)
50
- return [];
96
+ const attr = node.name.text;
51
97
  const guardLocals = componentGuardLocalsFor(node, setters);
52
98
  const callerGuard = combineParsedGuards([
53
99
  renderGuardFor(node, setters, warnings, source, component, guardLocals),
54
100
  disabledGuardFor(node, setters, warnings, source, component, guardLocals),
55
101
  ]);
56
- return tagStableIdKey(transitionsFromResolvedHandler(source, fileName, node, trigger.attr, handler, setters, handlers, component, effectApis, asyncOutcomes, sourcePlugins, routerPlugin, combineParsedGuards([trigger.guard, callerGuard]), trigger.locator, [], emptyContextBindings(), warnings), handler);
102
+ const combinedGuard = combineParsedGuards([trigger.guard, callerGuard]);
103
+ if (expression && ts.isIdentifier(expression)) {
104
+ const setter = setters.get(expression.text);
105
+ if (setter && booleanControlledCallbackValues(attr)) {
106
+ const directTransitions = directSetterBooleanCallbackTransitions(source, fileName, node, attr, setter, component, combinedGuard, trigger.locator);
107
+ if (directTransitions.length > 0) {
108
+ return tagStableIdKey(directTransitions, node);
109
+ }
110
+ }
111
+ }
112
+ const handler = handlerExpression(expression, handlers);
113
+ if (!handler)
114
+ return [];
115
+ return tagStableIdKey(transitionsFromResolvedHandler(source, fileName, node, trigger.attr, handler, setters, handlers, component, effectApis, asyncOutcomes, sourcePlugins, routerPlugin, combinedGuard, trigger.locator, [], emptyContextBindings(), warnings), handler);
57
116
  }
58
117
  export function transitionsFromBoundedListAttribute(source, fileName, node, setters, handlers, component, listInfo) {
59
118
  if (!node.initializer || !ts.isIdentifier(node.name))
@@ -137,6 +196,19 @@ export function transitionsFromResolvedHandler(source, fileName, node, attr, han
137
196
  });
138
197
  return [];
139
198
  }
199
+ const callbackBindings = booleanCallbackParameterBindings(handler, attr);
200
+ if (callbackBindings) {
201
+ const callbackTransitions = callbackBindings.flatMap((initialLocals) => {
202
+ const valueSuffix = booleanCallbackValueSuffix(initialLocals);
203
+ const transition = sequentialTransitionFromHandler(source, fileName, node, attr, handler, setters, handlers, component, locator, resetSymbols, initialLocals, valueSuffix) ??
204
+ conditionalTransitionFromHandler(source, fileName, node, attr, handler, setters, component, locator, initialLocals, valueSuffix) ??
205
+ singleSetterTransitionFromHandler(source, fileName, node, attr, handler, setters, component, locator, initialLocals, resetSymbols, valueSuffix);
206
+ return transition ? [transition] : [];
207
+ });
208
+ if (callbackTransitions.length === callbackBindings.length) {
209
+ return applyParsedGuard(callbackTransitions, disabledGuard);
210
+ }
211
+ }
140
212
  const conditionalTransition = conditionalTransitionFromHandler(source, fileName, node, attr, handler, setters, component, locator);
141
213
  if (conditionalTransition)
142
214
  return applyParsedGuard([conditionalTransition], disabledGuard);
@@ -196,10 +268,38 @@ export function transitionsFromResolvedHandler(source, fileName, node, attr, han
196
268
  },
197
269
  ], disabledGuard);
198
270
  }
199
- export function sequentialTransitionFromHandler(source, fileName, node, attr, handler, setters, handlers, component, locator, resetSymbols = new Set(["RESET"])) {
271
+ function singleSetterTransitionFromHandler(source, fileName, node, attr, handler, setters, component, locator, initialLocals, resetSymbols, valueSuffix) {
272
+ const summary = callSummaryFromHandler(handler, setters, initialLocals);
273
+ if (!summary)
274
+ return undefined;
275
+ const setterCall = setterCallFrom(summary.call, setters);
276
+ if (!setterCall)
277
+ return undefined;
278
+ const assignment = setterArgumentExpr(setterCall.argument, setterCall.setter, setters, initialLocals, resetSymbols);
279
+ if (!assignment)
280
+ return undefined;
281
+ const suffix = valueSuffix ? `.${valueSuffix}` : "";
282
+ return {
283
+ id: `${component}.${attr}.${setterCall.setter.stateName}${suffix}`,
284
+ cls: "user",
285
+ label: labelForEvent(attr, locator),
286
+ source: [{ file: fileName, ...lineAndColumn(source, node) }],
287
+ guard: { kind: "lit", value: true },
288
+ effect: {
289
+ kind: "assign",
290
+ var: setterCall.setter.varId,
291
+ expr: assignment.expr,
292
+ },
293
+ reads: assignment.reads,
294
+ writes: [setterCall.setter.varId],
295
+ confidence: "exact",
296
+ };
297
+ }
298
+ export function sequentialTransitionFromHandler(source, fileName, node, attr, handler, setters, handlers, component, locator, resetSymbols = new Set(["RESET"]), initialLocals, valueSuffix) {
200
299
  const summaries = summarizeHandlerStatements(handler, setters, {
201
300
  handlers,
202
301
  resetSymbols,
302
+ ...(initialLocals ? { initialLocals } : {}),
203
303
  });
204
304
  const onlySummary = summaries?.[0];
205
305
  if (!summaries ||
@@ -209,8 +309,9 @@ export function sequentialTransitionFromHandler(source, fileName, node, attr, ha
209
309
  const effect = effectFromSummaries(summaries);
210
310
  const effects = effect.kind === "seq" ? effect.effects : [effect];
211
311
  const writes = uniqueStrings(effects.flatMap(effectWriteVars));
312
+ const suffix = valueSuffix ? `.${valueSuffix}` : "";
212
313
  return {
213
- id: `${component}.${attr}.${writes.map((id) => stateNameForVar(id, setters) ?? safeId(id)).join("_")}.seq`,
314
+ id: `${component}.${attr}.${writes.map((id) => stateNameForVar(id, setters) ?? safeId(id)).join("_")}.seq${suffix}`,
214
315
  cls: "user",
215
316
  label: labelForEvent(attr, locator),
216
317
  source: [{ file: fileName, ...lineAndColumn(source, node) }],
@@ -237,14 +338,14 @@ export function loopWriteTransitions(source, fileName, node, attr, handler, sett
237
338
  visit(handler.body);
238
339
  return uniqueSetters(loopSetters).map((setter) => havocSetterTransition(source, fileName, node, attr, component, setter, locator, "loop"));
239
340
  }
240
- export function conditionalTransitionFromHandler(source, fileName, node, attr, handler, setters, component, locator) {
341
+ export function conditionalTransitionFromHandler(source, fileName, node, attr, handler, setters, component, locator, initialLocals = new Map(), valueSuffix) {
241
342
  const body = handler.body;
242
343
  if (!ts.isBlock(body) ||
243
344
  body.statements.length !== 1 ||
244
345
  !ts.isIfStatement(body.statements[0]))
245
346
  return undefined;
246
347
  const statement = body.statements[0];
247
- const condition = parseGuardExpression(statement.expression, setters);
348
+ const condition = parseGuardExpression(statement.expression, setters, initialLocals);
248
349
  if (!condition)
249
350
  return undefined;
250
351
  const thenEffect = singleSetterEffect(statement.thenStatement, setters) ?? identityEffect();
@@ -259,10 +360,11 @@ export function conditionalTransitionFromHandler(source, fileName, node, attr, h
259
360
  ...effectWriteVars(elseEffect),
260
361
  ]),
261
362
  ];
262
- const suffix = writes.map((id) => stateNameForVar(id, setters) ?? safeId(id)).join("_") ||
363
+ const writeSuffix = writes.map((id) => stateNameForVar(id, setters) ?? safeId(id)).join("_") ||
263
364
  "if";
365
+ const suffix = valueSuffix ? `.${valueSuffix}` : "";
264
366
  return {
265
- id: `${component}.${attr}.${suffix}.if`,
367
+ id: `${component}.${attr}.${writeSuffix}.if${suffix}`,
266
368
  cls: "user",
267
369
  label: labelForEvent(attr, locator),
268
370
  source: [{ file: fileName, ...lineAndColumn(source, node) }],