@tsonic/frontend 0.0.62 → 0.0.64

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 (439) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/dependency-graph.d.ts +1 -1
  3. package/dist/dependency-graph.d.ts.map +1 -1
  4. package/dist/dependency-graph.js +1 -1
  5. package/dist/dependency-graph.js.map +1 -1
  6. package/dist/dotnet-metadata.d.ts +0 -12
  7. package/dist/dotnet-metadata.d.ts.map +1 -1
  8. package/dist/dotnet-metadata.js +0 -24
  9. package/dist/dotnet-metadata.js.map +1 -1
  10. package/dist/generic-function-values.d.ts +11 -0
  11. package/dist/generic-function-values.d.ts.map +1 -0
  12. package/dist/generic-function-values.js +243 -0
  13. package/dist/generic-function-values.js.map +1 -0
  14. package/dist/generic-function-values.test.d.ts +2 -0
  15. package/dist/generic-function-values.test.d.ts.map +1 -0
  16. package/dist/generic-function-values.test.js +256 -0
  17. package/dist/generic-function-values.test.js.map +1 -0
  18. package/dist/graph/extraction/imports.d.ts +5 -0
  19. package/dist/graph/extraction/imports.d.ts.map +1 -1
  20. package/dist/graph/extraction/imports.js +39 -1
  21. package/dist/graph/extraction/imports.js.map +1 -1
  22. package/dist/graph/extraction/index.d.ts +1 -1
  23. package/dist/graph/extraction/index.d.ts.map +1 -1
  24. package/dist/graph/extraction/index.js +1 -1
  25. package/dist/graph/extraction/index.js.map +1 -1
  26. package/dist/graph/extraction/orchestrator.d.ts.map +1 -1
  27. package/dist/graph/extraction/orchestrator.js +16 -2
  28. package/dist/graph/extraction/orchestrator.js.map +1 -1
  29. package/dist/graph/extraction.d.ts +1 -1
  30. package/dist/graph/extraction.d.ts.map +1 -1
  31. package/dist/graph/extraction.js +1 -1
  32. package/dist/graph/extraction.js.map +1 -1
  33. package/dist/ir/binding/binding-factory.d.ts +17 -0
  34. package/dist/ir/binding/binding-factory.d.ts.map +1 -0
  35. package/dist/ir/binding/binding-factory.js +765 -0
  36. package/dist/ir/binding/binding-factory.js.map +1 -0
  37. package/dist/ir/binding/binding-helpers.d.ts +90 -0
  38. package/dist/ir/binding/binding-helpers.d.ts.map +1 -0
  39. package/dist/ir/binding/binding-helpers.js +387 -0
  40. package/dist/ir/binding/binding-helpers.js.map +1 -0
  41. package/dist/ir/binding/binding-types.d.ts +203 -0
  42. package/dist/ir/binding/binding-types.d.ts.map +1 -0
  43. package/dist/ir/binding/binding-types.js +9 -0
  44. package/dist/ir/binding/binding-types.js.map +1 -0
  45. package/dist/ir/binding/index.d.ts +4 -158
  46. package/dist/ir/binding/index.d.ts.map +1 -1
  47. package/dist/ir/binding/index.js +3 -1134
  48. package/dist/ir/binding/index.js.map +1 -1
  49. package/dist/ir/binding-resolution.test.js +248 -0
  50. package/dist/ir/binding-resolution.test.js.map +1 -1
  51. package/dist/ir/builder/imports.d.ts.map +1 -1
  52. package/dist/ir/builder/imports.js +8 -1
  53. package/dist/ir/builder/imports.js.map +1 -1
  54. package/dist/ir/builder.test.js +360 -0
  55. package/dist/ir/builder.test.js.map +1 -1
  56. package/dist/ir/converters/anonymous-synthesis.d.ts +3 -3
  57. package/dist/ir/converters/anonymous-synthesis.d.ts.map +1 -1
  58. package/dist/ir/converters/anonymous-synthesis.js +45 -8
  59. package/dist/ir/converters/anonymous-synthesis.js.map +1 -1
  60. package/dist/ir/converters/expressions/access/access-converter.d.ts +14 -0
  61. package/dist/ir/converters/expressions/access/access-converter.d.ts.map +1 -0
  62. package/dist/ir/converters/expressions/access/access-converter.js +141 -0
  63. package/dist/ir/converters/expressions/access/access-converter.js.map +1 -0
  64. package/dist/ir/converters/expressions/access/binding-resolution.d.ts +35 -0
  65. package/dist/ir/converters/expressions/access/binding-resolution.d.ts.map +1 -0
  66. package/dist/ir/converters/expressions/access/binding-resolution.js +447 -0
  67. package/dist/ir/converters/expressions/access/binding-resolution.js.map +1 -0
  68. package/dist/ir/converters/expressions/access/member-resolution.d.ts +67 -0
  69. package/dist/ir/converters/expressions/access/member-resolution.d.ts.map +1 -0
  70. package/dist/ir/converters/expressions/access/member-resolution.js +262 -0
  71. package/dist/ir/converters/expressions/access/member-resolution.js.map +1 -0
  72. package/dist/ir/converters/expressions/access.d.ts +1 -7
  73. package/dist/ir/converters/expressions/access.d.ts.map +1 -1
  74. package/dist/ir/converters/expressions/access.js +1 -720
  75. package/dist/ir/converters/expressions/access.js.map +1 -1
  76. package/dist/ir/converters/expressions/calls/call-converter.d.ts +23 -0
  77. package/dist/ir/converters/expressions/calls/call-converter.d.ts.map +1 -0
  78. package/dist/ir/converters/expressions/calls/call-converter.js +526 -0
  79. package/dist/ir/converters/expressions/calls/call-converter.js.map +1 -0
  80. package/dist/ir/converters/expressions/calls/call-site-analysis.d.ts +53 -0
  81. package/dist/ir/converters/expressions/calls/call-site-analysis.d.ts.map +1 -0
  82. package/dist/ir/converters/expressions/calls/call-site-analysis.js +554 -0
  83. package/dist/ir/converters/expressions/calls/call-site-analysis.js.map +1 -0
  84. package/dist/ir/converters/expressions/calls/new-converter.d.ts +21 -0
  85. package/dist/ir/converters/expressions/calls/new-converter.d.ts.map +1 -0
  86. package/dist/ir/converters/expressions/calls/new-converter.js +182 -0
  87. package/dist/ir/converters/expressions/calls/new-converter.js.map +1 -0
  88. package/dist/ir/converters/expressions/calls.d.ts +2 -28
  89. package/dist/ir/converters/expressions/calls.d.ts.map +1 -1
  90. package/dist/ir/converters/expressions/calls.js +2 -1344
  91. package/dist/ir/converters/expressions/calls.js.map +1 -1
  92. package/dist/ir/converters/expressions/collections.d.ts.map +1 -1
  93. package/dist/ir/converters/expressions/collections.js +37 -6
  94. package/dist/ir/converters/expressions/collections.js.map +1 -1
  95. package/dist/ir/converters/expressions/functions.js +1 -1
  96. package/dist/ir/converters/expressions/functions.js.map +1 -1
  97. package/dist/ir/converters/expressions/helpers.d.ts.map +1 -1
  98. package/dist/ir/converters/expressions/helpers.js +1 -0
  99. package/dist/ir/converters/expressions/helpers.js.map +1 -1
  100. package/dist/ir/converters/expressions/other.d.ts.map +1 -1
  101. package/dist/ir/converters/expressions/other.js +3 -2
  102. package/dist/ir/converters/expressions/other.js.map +1 -1
  103. package/dist/ir/converters/flow-narrowing.d.ts.map +1 -1
  104. package/dist/ir/converters/flow-narrowing.js +3 -2
  105. package/dist/ir/converters/flow-narrowing.js.map +1 -1
  106. package/dist/ir/converters/statements/declarations/classes/methods.js +1 -1
  107. package/dist/ir/converters/statements/declarations/classes/methods.js.map +1 -1
  108. package/dist/ir/converters/statements/declarations/type-aliases.js +1 -1
  109. package/dist/ir/converters/statements/declarations/type-aliases.js.map +1 -1
  110. package/dist/ir/converters/statements/declarations/variables.d.ts +2 -2
  111. package/dist/ir/converters/statements/declarations/variables.d.ts.map +1 -1
  112. package/dist/ir/converters/statements/declarations/variables.js +289 -2
  113. package/dist/ir/converters/statements/declarations/variables.js.map +1 -1
  114. package/dist/ir/expression-converter.d.ts +0 -1
  115. package/dist/ir/expression-converter.d.ts.map +1 -1
  116. package/dist/ir/expression-converter.js +0 -2
  117. package/dist/ir/expression-converter.js.map +1 -1
  118. package/dist/ir/generic-function-value-lowering.test.d.ts +2 -0
  119. package/dist/ir/generic-function-value-lowering.test.d.ts.map +1 -0
  120. package/dist/ir/generic-function-value-lowering.test.js +312 -0
  121. package/dist/ir/generic-function-value-lowering.test.js.map +1 -0
  122. package/dist/ir/generic-validator.d.ts +3 -4
  123. package/dist/ir/generic-validator.d.ts.map +1 -1
  124. package/dist/ir/generic-validator.js +3 -35
  125. package/dist/ir/generic-validator.js.map +1 -1
  126. package/dist/ir/program-context.d.ts +12 -0
  127. package/dist/ir/program-context.d.ts.map +1 -1
  128. package/dist/ir/program-context.js +2 -0
  129. package/dist/ir/program-context.js.map +1 -1
  130. package/dist/ir/statement-converter.d.ts +0 -2
  131. package/dist/ir/statement-converter.d.ts.map +1 -1
  132. package/dist/ir/statement-converter.js +0 -3
  133. package/dist/ir/statement-converter.js.map +1 -1
  134. package/dist/ir/type-system/internal/handle-types.d.ts +16 -16
  135. package/dist/ir/type-system/internal/handle-types.d.ts.map +1 -1
  136. package/dist/ir/type-system/internal/nominal-env.d.ts +0 -2
  137. package/dist/ir/type-system/internal/nominal-env.d.ts.map +1 -1
  138. package/dist/ir/type-system/internal/nominal-env.js +2 -6
  139. package/dist/ir/type-system/internal/nominal-env.js.map +1 -1
  140. package/dist/ir/type-system/internal/type-converter/converter.d.ts +3 -1
  141. package/dist/ir/type-system/internal/type-converter/converter.d.ts.map +1 -1
  142. package/dist/ir/type-system/internal/type-converter/converter.js +3 -1
  143. package/dist/ir/type-system/internal/type-converter/converter.js.map +1 -1
  144. package/dist/ir/type-system/internal/type-converter/objects.js +7 -1
  145. package/dist/ir/type-system/internal/type-converter/objects.js.map +1 -1
  146. package/dist/ir/type-system/internal/type-converter/orchestrator.d.ts +0 -2
  147. package/dist/ir/type-system/internal/type-converter/orchestrator.d.ts.map +1 -1
  148. package/dist/ir/type-system/internal/type-converter/orchestrator.js +322 -23
  149. package/dist/ir/type-system/internal/type-converter/orchestrator.js.map +1 -1
  150. package/dist/ir/type-system/internal/type-converter/orchestrator.test.d.ts +2 -0
  151. package/dist/ir/type-system/internal/type-converter/orchestrator.test.d.ts.map +1 -0
  152. package/dist/ir/type-system/internal/type-converter/orchestrator.test.js +265 -0
  153. package/dist/ir/type-system/internal/type-converter/orchestrator.test.js.map +1 -0
  154. package/dist/ir/type-system/internal/type-converter/primitives.d.ts.map +1 -1
  155. package/dist/ir/type-system/internal/type-converter/primitives.js +5 -0
  156. package/dist/ir/type-system/internal/type-converter/primitives.js.map +1 -1
  157. package/dist/ir/type-system/internal/type-converter/references.d.ts.map +1 -1
  158. package/dist/ir/type-system/internal/type-converter/references.js +67 -29
  159. package/dist/ir/type-system/internal/type-converter/references.js.map +1 -1
  160. package/dist/ir/type-system/internal/type-converter/utility-types.d.ts.map +1 -1
  161. package/dist/ir/type-system/internal/type-converter/utility-types.js +145 -0
  162. package/dist/ir/type-system/internal/type-converter/utility-types.js.map +1 -1
  163. package/dist/ir/type-system/internal/type-converter/utility-types.test.js +91 -1
  164. package/dist/ir/type-system/internal/type-converter/utility-types.test.js.map +1 -1
  165. package/dist/ir/type-system/internal/type-registry.d.ts +1 -1
  166. package/dist/ir/type-system/internal/type-registry.js +7 -7
  167. package/dist/ir/type-system/internal/type-registry.js.map +1 -1
  168. package/dist/ir/type-system/internal/universe/alias-table.d.ts +0 -14
  169. package/dist/ir/type-system/internal/universe/alias-table.d.ts.map +1 -1
  170. package/dist/ir/type-system/internal/universe/alias-table.js +0 -17
  171. package/dist/ir/type-system/internal/universe/alias-table.js.map +1 -1
  172. package/dist/ir/type-system/internal/universe/clr-catalog.d.ts +3 -0
  173. package/dist/ir/type-system/internal/universe/clr-catalog.d.ts.map +1 -1
  174. package/dist/ir/type-system/internal/universe/clr-catalog.js +4 -1044
  175. package/dist/ir/type-system/internal/universe/clr-catalog.js.map +1 -1
  176. package/dist/ir/type-system/internal/universe/clr-entry-converter.d.ts +51 -0
  177. package/dist/ir/type-system/internal/universe/clr-entry-converter.d.ts.map +1 -0
  178. package/dist/ir/type-system/internal/universe/clr-entry-converter.js +657 -0
  179. package/dist/ir/type-system/internal/universe/clr-entry-converter.js.map +1 -0
  180. package/dist/ir/type-system/internal/universe/clr-type-parser.d.ts +52 -0
  181. package/dist/ir/type-system/internal/universe/clr-type-parser.d.ts.map +1 -0
  182. package/dist/ir/type-system/internal/universe/clr-type-parser.js +481 -0
  183. package/dist/ir/type-system/internal/universe/clr-type-parser.js.map +1 -0
  184. package/dist/ir/type-system/internal/universe/clr-type-parser.test.d.ts +2 -0
  185. package/dist/ir/type-system/internal/universe/clr-type-parser.test.d.ts.map +1 -0
  186. package/dist/ir/type-system/internal/universe/clr-type-parser.test.js +55 -0
  187. package/dist/ir/type-system/internal/universe/clr-type-parser.test.js.map +1 -0
  188. package/dist/ir/type-system/internal/universe/index.d.ts +1 -1
  189. package/dist/ir/type-system/internal/universe/index.d.ts.map +1 -1
  190. package/dist/ir/type-system/internal/universe/index.js +1 -3
  191. package/dist/ir/type-system/internal/universe/index.js.map +1 -1
  192. package/dist/ir/type-system/internal/universe/unified-universe.test.js +2 -0
  193. package/dist/ir/type-system/internal/universe/unified-universe.test.js.map +1 -1
  194. package/dist/ir/type-system/type-system-call-resolution.d.ts +69 -0
  195. package/dist/ir/type-system/type-system-call-resolution.d.ts.map +1 -0
  196. package/dist/ir/type-system/type-system-call-resolution.js +1121 -0
  197. package/dist/ir/type-system/type-system-call-resolution.js.map +1 -0
  198. package/dist/ir/type-system/type-system-inference.d.ts +98 -0
  199. package/dist/ir/type-system/type-system-inference.d.ts.map +1 -0
  200. package/dist/ir/type-system/type-system-inference.js +1121 -0
  201. package/dist/ir/type-system/type-system-inference.js.map +1 -0
  202. package/dist/ir/type-system/type-system-relations.d.ts +15 -0
  203. package/dist/ir/type-system/type-system-relations.d.ts.map +1 -0
  204. package/dist/ir/type-system/type-system-relations.js +152 -0
  205. package/dist/ir/type-system/type-system-relations.js.map +1 -0
  206. package/dist/ir/type-system/type-system-state.d.ts +436 -0
  207. package/dist/ir/type-system/type-system-state.d.ts.map +1 -0
  208. package/dist/ir/type-system/type-system-state.js +212 -0
  209. package/dist/ir/type-system/type-system-state.js.map +1 -0
  210. package/dist/ir/type-system/type-system-utilities.d.ts +56 -0
  211. package/dist/ir/type-system/type-system-utilities.d.ts.map +1 -0
  212. package/dist/ir/type-system/type-system-utilities.js +373 -0
  213. package/dist/ir/type-system/type-system-utilities.js.map +1 -0
  214. package/dist/ir/type-system/type-system.d.ts +17 -358
  215. package/dist/ir/type-system/type-system.d.ts.map +1 -1
  216. package/dist/ir/type-system/type-system.js +67 -2945
  217. package/dist/ir/type-system/type-system.js.map +1 -1
  218. package/dist/ir/types/index.d.ts +1 -0
  219. package/dist/ir/types/index.d.ts.map +1 -1
  220. package/dist/ir/types/index.js +1 -0
  221. package/dist/ir/types/index.js.map +1 -1
  222. package/dist/ir/types/ir-substitution.js +1 -1
  223. package/dist/ir/types/ir-substitution.js.map +1 -1
  224. package/dist/ir/types/statements.d.ts +1 -1
  225. package/dist/ir/types/type-ops.d.ts +9 -0
  226. package/dist/ir/types/type-ops.d.ts.map +1 -0
  227. package/dist/ir/types/type-ops.js +134 -0
  228. package/dist/ir/types/type-ops.js.map +1 -0
  229. package/dist/ir/types/type-ops.test.d.ts +2 -0
  230. package/dist/ir/types/type-ops.test.d.ts.map +1 -0
  231. package/dist/ir/types/type-ops.test.js +73 -0
  232. package/dist/ir/types/type-ops.test.js.map +1 -0
  233. package/dist/ir/validation/anonymous-type-lowering-pass.d.ts.map +1 -1
  234. package/dist/ir/validation/anonymous-type-lowering-pass.js +34 -0
  235. package/dist/ir/validation/anonymous-type-lowering-pass.js.map +1 -1
  236. package/dist/ir/validation/anonymous-type-lowering-regressions.test.d.ts +2 -0
  237. package/dist/ir/validation/anonymous-type-lowering-regressions.test.d.ts.map +1 -0
  238. package/dist/ir/validation/anonymous-type-lowering-regressions.test.js +121 -0
  239. package/dist/ir/validation/anonymous-type-lowering-regressions.test.js.map +1 -0
  240. package/dist/ir/validation/attribute-collection/arg-extractor.d.ts +58 -0
  241. package/dist/ir/validation/attribute-collection/arg-extractor.d.ts.map +1 -0
  242. package/dist/ir/validation/attribute-collection/arg-extractor.js +284 -0
  243. package/dist/ir/validation/attribute-collection/arg-extractor.js.map +1 -0
  244. package/dist/ir/validation/attribute-collection/marker-parser.d.ts +28 -0
  245. package/dist/ir/validation/attribute-collection/marker-parser.d.ts.map +1 -0
  246. package/dist/ir/validation/attribute-collection/marker-parser.js +404 -0
  247. package/dist/ir/validation/attribute-collection/marker-parser.js.map +1 -0
  248. package/dist/ir/validation/attribute-collection/orchestrator.d.ts +28 -0
  249. package/dist/ir/validation/attribute-collection/orchestrator.d.ts.map +1 -0
  250. package/dist/ir/validation/attribute-collection/orchestrator.js +332 -0
  251. package/dist/ir/validation/attribute-collection/orchestrator.js.map +1 -0
  252. package/dist/ir/validation/attribute-collection-pass.d.ts +1 -23
  253. package/dist/ir/validation/attribute-collection-pass.d.ts.map +1 -1
  254. package/dist/ir/validation/attribute-collection-pass.js +1 -961
  255. package/dist/ir/validation/attribute-collection-pass.js.map +1 -1
  256. package/dist/ir/validation/attribute-collection-pass.test.js +12 -6
  257. package/dist/ir/validation/attribute-collection-pass.test.js.map +1 -1
  258. package/dist/ir/validation/numeric-invariants.test.js +29 -0
  259. package/dist/ir/validation/numeric-invariants.test.js.map +1 -1
  260. package/dist/ir/validation/numeric-proof-pass.d.ts.map +1 -1
  261. package/dist/ir/validation/numeric-proof-pass.js +21 -0
  262. package/dist/ir/validation/numeric-proof-pass.js.map +1 -1
  263. package/dist/ir/validation/soundness-gate.d.ts.map +1 -1
  264. package/dist/ir/validation/soundness-gate.js +2 -1
  265. package/dist/ir/validation/soundness-gate.js.map +1 -1
  266. package/dist/ir/validation/soundness-gate.test.js +69 -0
  267. package/dist/ir/validation/soundness-gate.test.js.map +1 -1
  268. package/dist/ir/validation/yield-lowering-pass.d.ts +11 -5
  269. package/dist/ir/validation/yield-lowering-pass.d.ts.map +1 -1
  270. package/dist/ir/validation/yield-lowering-pass.js +942 -48
  271. package/dist/ir/validation/yield-lowering-pass.js.map +1 -1
  272. package/dist/ir/validation/yield-lowering-pass.test.js +1333 -127
  273. package/dist/ir/validation/yield-lowering-pass.test.js.map +1 -1
  274. package/dist/program/binding-loader.d.ts +37 -0
  275. package/dist/program/binding-loader.d.ts.map +1 -0
  276. package/dist/program/binding-loader.js +155 -0
  277. package/dist/program/binding-loader.js.map +1 -0
  278. package/dist/program/binding-registry.d.ts +106 -0
  279. package/dist/program/binding-registry.d.ts.map +1 -0
  280. package/dist/program/binding-registry.js +590 -0
  281. package/dist/program/binding-registry.js.map +1 -0
  282. package/dist/program/binding-types.d.ts +166 -0
  283. package/dist/program/binding-types.d.ts.map +1 -0
  284. package/dist/program/binding-types.js +57 -0
  285. package/dist/program/binding-types.js.map +1 -0
  286. package/dist/program/bindings.d.ts +6 -271
  287. package/dist/program/bindings.d.ts.map +1 -1
  288. package/dist/program/bindings.js +7 -781
  289. package/dist/program/bindings.js.map +1 -1
  290. package/dist/program/creation.d.ts.map +1 -1
  291. package/dist/program/creation.js +104 -13
  292. package/dist/program/creation.js.map +1 -1
  293. package/dist/program/creation.test.js +133 -1
  294. package/dist/program/creation.test.js.map +1 -1
  295. package/dist/program/diagnostics.d.ts +1 -1
  296. package/dist/program/diagnostics.d.ts.map +1 -1
  297. package/dist/program/diagnostics.js +47 -2
  298. package/dist/program/diagnostics.js.map +1 -1
  299. package/dist/program/diagnostics.test.d.ts +2 -0
  300. package/dist/program/diagnostics.test.d.ts.map +1 -0
  301. package/dist/program/diagnostics.test.js +58 -0
  302. package/dist/program/diagnostics.test.js.map +1 -0
  303. package/dist/program/types.d.ts +2 -0
  304. package/dist/program/types.d.ts.map +1 -1
  305. package/dist/resolver/clr-bindings-resolver.d.ts +0 -1
  306. package/dist/resolver/clr-bindings-resolver.d.ts.map +1 -1
  307. package/dist/resolver/clr-bindings-resolver.js +22 -32
  308. package/dist/resolver/clr-bindings-resolver.js.map +1 -1
  309. package/dist/resolver/clr-bindings-resolver.test.js +0 -27
  310. package/dist/resolver/clr-bindings-resolver.test.js.map +1 -1
  311. package/dist/resolver/import-resolution.d.ts +3 -1
  312. package/dist/resolver/import-resolution.d.ts.map +1 -1
  313. package/dist/resolver/import-resolution.js +14 -11
  314. package/dist/resolver/import-resolution.js.map +1 -1
  315. package/dist/resolver/naming.d.ts.map +1 -1
  316. package/dist/resolver/naming.js +1 -0
  317. package/dist/resolver/naming.js.map +1 -1
  318. package/dist/resolver/node-module-aliases.d.ts +6 -0
  319. package/dist/resolver/node-module-aliases.d.ts.map +1 -0
  320. package/dist/resolver/node-module-aliases.js +164 -0
  321. package/dist/resolver/node-module-aliases.js.map +1 -0
  322. package/dist/resolver/node-module-aliases.test.d.ts +2 -0
  323. package/dist/resolver/node-module-aliases.test.d.ts.map +1 -0
  324. package/dist/resolver/node-module-aliases.test.js +64 -0
  325. package/dist/resolver/node-module-aliases.test.js.map +1 -0
  326. package/dist/resolver.test.js +103 -0
  327. package/dist/resolver.test.js.map +1 -1
  328. package/dist/surface/js-surface-shims.d.ts +3 -0
  329. package/dist/surface/js-surface-shims.d.ts.map +1 -0
  330. package/dist/surface/js-surface-shims.js +332 -0
  331. package/dist/surface/js-surface-shims.js.map +1 -0
  332. package/dist/surface/js-surface-shims.test.d.ts +2 -0
  333. package/dist/surface/js-surface-shims.test.d.ts.map +1 -0
  334. package/dist/surface/js-surface-shims.test.js +53 -0
  335. package/dist/surface/js-surface-shims.test.js.map +1 -0
  336. package/dist/surface/profiles.d.ts +10 -0
  337. package/dist/surface/profiles.d.ts.map +1 -0
  338. package/dist/surface/profiles.js +65 -0
  339. package/dist/surface/profiles.js.map +1 -0
  340. package/dist/surface/profiles.test.d.ts +2 -0
  341. package/dist/surface/profiles.test.d.ts.map +1 -0
  342. package/dist/surface/profiles.test.js +44 -0
  343. package/dist/surface/profiles.test.js.map +1 -0
  344. package/dist/types/diagnostic.d.ts +1 -1
  345. package/dist/types/diagnostic.d.ts.map +1 -1
  346. package/dist/types/diagnostic.js.map +1 -1
  347. package/dist/validation/features.d.ts.map +1 -1
  348. package/dist/validation/features.js +38 -13
  349. package/dist/validation/features.js.map +1 -1
  350. package/dist/validation/features.test.d.ts +2 -0
  351. package/dist/validation/features.test.d.ts.map +1 -0
  352. package/dist/validation/features.test.js +273 -0
  353. package/dist/validation/features.test.js.map +1 -0
  354. package/dist/validation/generics.d.ts +1 -1
  355. package/dist/validation/generics.d.ts.map +1 -1
  356. package/dist/validation/generics.js +2 -26
  357. package/dist/validation/generics.js.map +1 -1
  358. package/dist/validation/imports.d.ts.map +1 -1
  359. package/dist/validation/imports.js +29 -5
  360. package/dist/validation/imports.js.map +1 -1
  361. package/dist/validation/imports.test.d.ts +2 -0
  362. package/dist/validation/imports.test.d.ts.map +1 -0
  363. package/dist/validation/imports.test.js +211 -0
  364. package/dist/validation/imports.test.js.map +1 -0
  365. package/dist/validation/static-safety.d.ts +6 -6
  366. package/dist/validation/static-safety.d.ts.map +1 -1
  367. package/dist/validation/static-safety.js +163 -109
  368. package/dist/validation/static-safety.js.map +1 -1
  369. package/dist/validation/unsupported-utility-types.d.ts +3 -3
  370. package/dist/validation/unsupported-utility-types.d.ts.map +1 -1
  371. package/dist/validation/unsupported-utility-types.js +4 -7
  372. package/dist/validation/unsupported-utility-types.js.map +1 -1
  373. package/dist/validator.maximus.test.d.ts +2 -0
  374. package/dist/validator.maximus.test.d.ts.map +1 -0
  375. package/dist/validator.maximus.test.js +1214 -0
  376. package/dist/validator.maximus.test.js.map +1 -0
  377. package/dist/validator.test.js +152 -18
  378. package/dist/validator.test.js.map +1 -1
  379. package/package.json +1 -1
  380. package/dist/ir/converters/statements/declarations/registry.d.ts +0 -96
  381. package/dist/ir/converters/statements/declarations/registry.d.ts.map +0 -1
  382. package/dist/ir/converters/statements/declarations/registry.js +0 -130
  383. package/dist/ir/converters/statements/declarations/registry.js.map +0 -1
  384. package/dist/ir/this-parameter-inference.test.d.ts +0 -13
  385. package/dist/ir/this-parameter-inference.test.d.ts.map +0 -1
  386. package/dist/ir/this-parameter-inference.test.js +0 -165
  387. package/dist/ir/this-parameter-inference.test.js.map +0 -1
  388. package/dist/metadata/bindings-loader.d.ts +0 -41
  389. package/dist/metadata/bindings-loader.d.ts.map +0 -1
  390. package/dist/metadata/bindings-loader.js +0 -308
  391. package/dist/metadata/bindings-loader.js.map +0 -1
  392. package/dist/metadata/bindings-loader.test.d.ts +0 -5
  393. package/dist/metadata/bindings-loader.test.d.ts.map +0 -1
  394. package/dist/metadata/bindings-loader.test.js +0 -117
  395. package/dist/metadata/bindings-loader.test.js.map +0 -1
  396. package/dist/metadata/index.d.ts +0 -8
  397. package/dist/metadata/index.d.ts.map +0 -1
  398. package/dist/metadata/index.js +0 -7
  399. package/dist/metadata/index.js.map +0 -1
  400. package/dist/metadata/library-loader.d.ts +0 -42
  401. package/dist/metadata/library-loader.d.ts.map +0 -1
  402. package/dist/metadata/library-loader.js +0 -126
  403. package/dist/metadata/library-loader.js.map +0 -1
  404. package/dist/metadata/loader.d.ts +0 -26
  405. package/dist/metadata/loader.d.ts.map +0 -1
  406. package/dist/metadata/loader.js +0 -333
  407. package/dist/metadata/loader.js.map +0 -1
  408. package/dist/metadata/loader.test.d.ts +0 -5
  409. package/dist/metadata/loader.test.d.ts.map +0 -1
  410. package/dist/metadata/loader.test.js +0 -119
  411. package/dist/metadata/loader.test.js.map +0 -1
  412. package/dist/resolver/naming-policy.d.ts +0 -20
  413. package/dist/resolver/naming-policy.d.ts.map +0 -1
  414. package/dist/resolver/naming-policy.js +0 -40
  415. package/dist/resolver/naming-policy.js.map +0 -1
  416. package/dist/types/bindings.d.ts +0 -153
  417. package/dist/types/bindings.d.ts.map +0 -1
  418. package/dist/types/bindings.js +0 -14
  419. package/dist/types/bindings.js.map +0 -1
  420. package/dist/types/metadata.d.ts +0 -196
  421. package/dist/types/metadata.d.ts.map +0 -1
  422. package/dist/types/metadata.js +0 -10
  423. package/dist/types/metadata.js.map +0 -1
  424. package/dist/types/nested-types.d.ts +0 -111
  425. package/dist/types/nested-types.d.ts.map +0 -1
  426. package/dist/types/nested-types.js +0 -176
  427. package/dist/types/nested-types.js.map +0 -1
  428. package/dist/types/nested-types.test.d.ts +0 -5
  429. package/dist/types/nested-types.test.d.ts.map +0 -1
  430. package/dist/types/nested-types.test.js +0 -135
  431. package/dist/types/nested-types.test.js.map +0 -1
  432. package/dist/types/ref-parameters.d.ts +0 -123
  433. package/dist/types/ref-parameters.d.ts.map +0 -1
  434. package/dist/types/ref-parameters.js +0 -203
  435. package/dist/types/ref-parameters.js.map +0 -1
  436. package/dist/types/ref-parameters.test.d.ts +0 -5
  437. package/dist/types/ref-parameters.test.d.ts.map +0 -1
  438. package/dist/types/ref-parameters.test.js +0 -147
  439. package/dist/types/ref-parameters.test.js.map +0 -1
@@ -0,0 +1,265 @@
1
+ import { describe, it } from "mocha";
2
+ import { expect } from "chai";
3
+ import * as ts from "typescript";
4
+ import { createBinding } from "../../../binding/index.js";
5
+ import { convertType } from "./orchestrator.js";
6
+ const createTestProgram = (source, fileName = "test.ts") => {
7
+ const compilerOptions = {
8
+ target: ts.ScriptTarget.ES2022,
9
+ module: ts.ModuleKind.NodeNext,
10
+ strict: true,
11
+ noEmit: true,
12
+ };
13
+ const host = ts.createCompilerHost(compilerOptions);
14
+ const originalGetSourceFile = host.getSourceFile;
15
+ const originalFileExists = host.fileExists;
16
+ const originalReadFile = host.readFile;
17
+ host.getSourceFile = (name, languageVersionOrOptions, onError, shouldCreateNewSourceFile) => {
18
+ if (name === fileName) {
19
+ return ts.createSourceFile(fileName, source, ts.ScriptTarget.Latest, true, ts.ScriptKind.TS);
20
+ }
21
+ return originalGetSourceFile.call(host, name, languageVersionOrOptions, onError, shouldCreateNewSourceFile);
22
+ };
23
+ host.fileExists = (name) => name === fileName || originalFileExists.call(host, name);
24
+ host.readFile = (name) => name === fileName ? source : originalReadFile.call(host, name);
25
+ const program = ts.createProgram([fileName], compilerOptions, host);
26
+ const sourceFile = program.getSourceFile(fileName);
27
+ if (!sourceFile) {
28
+ throw new Error("missing source file");
29
+ }
30
+ return { sourceFile, binding: createBinding(program.getTypeChecker()) };
31
+ };
32
+ const convertAlias = (source, aliasName) => {
33
+ const { sourceFile, binding } = createTestProgram(source);
34
+ let alias;
35
+ for (const statement of sourceFile.statements) {
36
+ if (ts.isTypeAliasDeclaration(statement) &&
37
+ statement.name.text === aliasName) {
38
+ alias = statement;
39
+ break;
40
+ }
41
+ }
42
+ if (!alias) {
43
+ throw new Error(`type alias ${aliasName} not found`);
44
+ }
45
+ return convertType(alias.type, binding);
46
+ };
47
+ describe("Type Converter - Tuple Rest Lowering", () => {
48
+ it("lowers pure variadic tuple to array type", () => {
49
+ const converted = convertAlias("type T = [...number[]];", "T");
50
+ expect(converted).to.deep.equal({
51
+ kind: "arrayType",
52
+ elementType: { kind: "primitiveType", name: "number" },
53
+ origin: "explicit",
54
+ });
55
+ });
56
+ it("lowers fixed + variadic tuple to array with union element", () => {
57
+ const converted = convertAlias("type T = [string, ...number[]];", "T");
58
+ expect(converted).to.deep.equal({
59
+ kind: "arrayType",
60
+ elementType: {
61
+ kind: "unionType",
62
+ types: [
63
+ { kind: "primitiveType", name: "string" },
64
+ { kind: "primitiveType", name: "number" },
65
+ ],
66
+ },
67
+ origin: "explicit",
68
+ });
69
+ });
70
+ it("lowers fixed + variadic + fixed tuple to array with full union", () => {
71
+ const converted = convertAlias("type T = [number, ...string[], boolean];", "T");
72
+ expect(converted).to.deep.equal({
73
+ kind: "arrayType",
74
+ elementType: {
75
+ kind: "unionType",
76
+ types: [
77
+ { kind: "primitiveType", name: "number" },
78
+ { kind: "primitiveType", name: "string" },
79
+ { kind: "primitiveType", name: "boolean" },
80
+ ],
81
+ },
82
+ origin: "explicit",
83
+ });
84
+ });
85
+ it("handles named tuple members with rest", () => {
86
+ const converted = convertAlias("type T = [head: string, ...tail: number[]];", "T");
87
+ expect(converted).to.deep.equal({
88
+ kind: "arrayType",
89
+ elementType: {
90
+ kind: "unionType",
91
+ types: [
92
+ { kind: "primitiveType", name: "string" },
93
+ { kind: "primitiveType", name: "number" },
94
+ ],
95
+ },
96
+ origin: "explicit",
97
+ });
98
+ });
99
+ });
100
+ describe("Type Converter - Mapped/Conditional Syntax", () => {
101
+ const expectUnknown = (type) => {
102
+ expect(type).to.deep.equal({ kind: "unknownType" });
103
+ };
104
+ it("lowers direct mapped type syntax to unknownType (never anyType)", () => {
105
+ const converted = convertAlias("type T<U> = { [K in keyof U]: U[K] | null };", "T");
106
+ expectUnknown(converted);
107
+ });
108
+ it("lowers direct conditional syntax to unknownType (never anyType)", () => {
109
+ const converted = convertAlias("type T<U> = U extends Promise<infer V> ? V : U;", "T");
110
+ expectUnknown(converted);
111
+ });
112
+ it("lowers parenthesized mapped syntax to unknownType", () => {
113
+ const converted = convertAlias("type T<U> = ({ [K in keyof U]: U[K] });", "T");
114
+ expectUnknown(converted);
115
+ });
116
+ it("lowers parenthesized conditional syntax to unknownType", () => {
117
+ const converted = convertAlias("type T<U> = (U extends string ? number : boolean);", "T");
118
+ expectUnknown(converted);
119
+ });
120
+ it("lowers infer-only syntax to unknownType", () => {
121
+ const converted = convertAlias("type T<U> = U extends Promise<infer V> ? V : never;", "T");
122
+ expectUnknown(converted);
123
+ });
124
+ it("never leaks mapped syntax to anyType when used in unions", () => {
125
+ const converted = convertAlias("type T<U> = ({ [K in keyof U]: U[K] } | string);", "T");
126
+ expect(converted.kind).to.equal("unionType");
127
+ if (converted.kind !== "unionType") {
128
+ return;
129
+ }
130
+ expect(converted.types.some((member) => member.kind === "anyType" || member.kind === "unknownType")).to.equal(true);
131
+ expect(converted.types.some((member) => member.kind === "anyType")).to.equal(false);
132
+ });
133
+ it("never leaks conditional syntax to anyType when used in arrays", () => {
134
+ const converted = convertAlias("type T<U> = Array<U extends string ? number : boolean>;", "T");
135
+ expect(converted.kind).to.equal("arrayType");
136
+ if (converted.kind !== "arrayType") {
137
+ return;
138
+ }
139
+ expect(converted.elementType.kind).to.equal("unknownType");
140
+ });
141
+ it("lowers direct infer type node fallback to unknownType", () => {
142
+ const converted = convertAlias("type T<U> = (U extends infer V ? V : never) extends infer X ? X : never;", "T");
143
+ expectUnknown(converted);
144
+ });
145
+ it("preserves readonly type operator while still lowering nested conditional to unknown", () => {
146
+ const converted = convertAlias("type T<U> = readonly (U extends string ? number : boolean)[];", "T");
147
+ expect(converted.kind).to.equal("arrayType");
148
+ if (converted.kind !== "arrayType") {
149
+ return;
150
+ }
151
+ expect(converted.elementType.kind).to.equal("unknownType");
152
+ });
153
+ });
154
+ describe("Type Converter - Deterministic Type Operators", () => {
155
+ it("lowers keyof object literal types to a union of key literals", () => {
156
+ const converted = convertAlias("type T = keyof { alpha: number; beta: string };", "T");
157
+ expect(converted).to.deep.equal({
158
+ kind: "unionType",
159
+ types: [
160
+ { kind: "literalType", value: "alpha" },
161
+ { kind: "literalType", value: "beta" },
162
+ ],
163
+ });
164
+ });
165
+ it("lowers keyof constrained type parameters via their constraint", () => {
166
+ const converted = convertAlias("type Keys<T extends { id: number; slug: string }> = keyof T;", "Keys");
167
+ expect(converted).to.deep.equal({
168
+ kind: "unionType",
169
+ types: [
170
+ { kind: "literalType", value: "id" },
171
+ { kind: "literalType", value: "slug" },
172
+ ],
173
+ });
174
+ });
175
+ it("resolves indexed-access property lookups with literal keys", () => {
176
+ const converted = convertAlias('type T = { id: number; name: string }["id"];', "T");
177
+ expect(converted).to.deep.equal({ kind: "primitiveType", name: "number" });
178
+ });
179
+ it("resolves indexed-access unions of literal keys", () => {
180
+ const converted = convertAlias('type T = { id: number; name: string }["id" | "name"];', "T");
181
+ expect(converted).to.deep.equal({
182
+ kind: "unionType",
183
+ types: [
184
+ { kind: "primitiveType", name: "number" },
185
+ { kind: "primitiveType", name: "string" },
186
+ ],
187
+ });
188
+ });
189
+ it("resolves indexed-access on constrained type parameters", () => {
190
+ const converted = convertAlias("type V<T extends { id: number; name: string }, K extends keyof T> = T[K];", "V");
191
+ expect(converted).to.deep.equal({
192
+ kind: "unionType",
193
+ types: [
194
+ { kind: "primitiveType", name: "number" },
195
+ { kind: "primitiveType", name: "string" },
196
+ ],
197
+ });
198
+ });
199
+ it("expands finite template-literal types to literal unions", () => {
200
+ const converted = convertAlias('type T = `prefix-${"a" | "b"}`;', "T");
201
+ expect(converted).to.deep.equal({
202
+ kind: "unionType",
203
+ types: [
204
+ { kind: "literalType", value: "prefix-a" },
205
+ { kind: "literalType", value: "prefix-b" },
206
+ ],
207
+ });
208
+ });
209
+ it("falls back template-literal types to string when expansion is non-finite", () => {
210
+ const converted = convertAlias("type T<U> = `prefix-${U}`;", "T");
211
+ expect(converted).to.deep.equal({ kind: "primitiveType", name: "string" });
212
+ });
213
+ it("falls back template-literal types to string when expansion is too large", () => {
214
+ const converted = convertAlias('type T = `${"a"|"b"|"c"|"d"|"e"}${"f"|"g"|"h"|"i"|"j"}${"k"|"l"|"m"|"n"|"o"}`;', "T");
215
+ expect(converted).to.deep.equal({ kind: "primitiveType", name: "string" });
216
+ });
217
+ });
218
+ describe("Type Converter - Symbol Dictionary Keys", () => {
219
+ it("lowers symbol keyword types to object reference types", () => {
220
+ const converted = convertAlias("type T = symbol;", "T");
221
+ expect(converted).to.deep.equal({
222
+ kind: "referenceType",
223
+ name: "object",
224
+ typeArguments: [],
225
+ });
226
+ });
227
+ it("converts symbol index signatures to dictionaryType with object keys", () => {
228
+ const converted = convertAlias("type T = { [key: symbol]: number };", "T");
229
+ expect(converted).to.deep.equal({
230
+ kind: "dictionaryType",
231
+ keyType: { kind: "referenceType", name: "object" },
232
+ valueType: { kind: "primitiveType", name: "number" },
233
+ });
234
+ });
235
+ it("converts Record<symbol, V> to dictionaryType with object keys", () => {
236
+ const converted = convertAlias("type T = Record<symbol, number>;", "T");
237
+ expect(converted).to.deep.equal({
238
+ kind: "dictionaryType",
239
+ keyType: { kind: "referenceType", name: "object" },
240
+ valueType: { kind: "primitiveType", name: "number" },
241
+ });
242
+ });
243
+ it("converts Record<string | symbol, V> to dictionaryType with object keys", () => {
244
+ const converted = convertAlias("type T = Record<string | symbol, number>;", "T");
245
+ expect(converted).to.deep.equal({
246
+ kind: "dictionaryType",
247
+ keyType: { kind: "referenceType", name: "object" },
248
+ valueType: { kind: "primitiveType", name: "number" },
249
+ });
250
+ });
251
+ it("converts symbol-only interface index signatures to dictionaryType with object keys", () => {
252
+ const converted = convertAlias(`
253
+ interface SymbolMap {
254
+ [key: symbol]: number;
255
+ }
256
+ type T = SymbolMap;
257
+ `, "T");
258
+ expect(converted).to.deep.equal({
259
+ kind: "dictionaryType",
260
+ keyType: { kind: "referenceType", name: "object" },
261
+ valueType: { kind: "primitiveType", name: "number" },
262
+ });
263
+ });
264
+ });
265
+ //# sourceMappingURL=orchestrator.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orchestrator.test.js","sourceRoot":"","sources":["../../../../../src/ir/type-system/internal/type-converter/orchestrator.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"primitives.d.ts","sourceRoot":"","sources":["../../../../../src/ir/type-system/internal/type-converter/primitives.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAE5D;;;;;;GAMG;AACH,eAAO,MAAM,sBAAsB,aAA2B,CAAC;AAE/D;;GAEG;AACH,eAAO,MAAM,uBAAuB,GAAI,MAAM,EAAE,CAAC,UAAU,KAAG,MAAM,GAAG,IA4BtE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,GAC9B,UAAU,MAAM,KACf,QAAQ,IAAI,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,WAIzD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,sBAAsB,GACjC,UAAU,MAAM,KACf,QAAQ,IAAI,KAAK,GAAG,MAEtB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,GAC3B,UAAU,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,WAAW,KAC/D,eAKF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,GAC9B,UAAU,KAAK,GAAG,MAAM,KACvB,eAKF,CAAC"}
1
+ {"version":3,"file":"primitives.d.ts","sourceRoot":"","sources":["../../../../../src/ir/type-system/internal/type-converter/primitives.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAE5D;;;;;;GAMG;AACH,eAAO,MAAM,sBAAsB,aAA2B,CAAC;AAE/D;;GAEG;AACH,eAAO,MAAM,uBAAuB,GAAI,MAAM,EAAE,CAAC,UAAU,KAAG,MAAM,GAAG,IAiCtE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,GAC9B,UAAU,MAAM,KACf,QAAQ,IAAI,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,WAIzD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,sBAAsB,GACjC,UAAU,MAAM,KACf,QAAQ,IAAI,KAAK,GAAG,MAEtB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,GAC3B,UAAU,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,WAAW,KAC/D,eAKF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,GAC9B,UAAU,KAAK,GAAG,MAAM,KACvB,eAKF,CAAC"}
@@ -26,6 +26,11 @@ export const convertPrimitiveKeyword = (kind) => {
26
26
  return { kind: "primitiveType", name: "number" };
27
27
  case ts.SyntaxKind.BooleanKeyword:
28
28
  return { kind: "primitiveType", name: "boolean" };
29
+ case ts.SyntaxKind.SymbolKeyword:
30
+ // TypeScript `symbol` is lowered as an opaque object identity handle.
31
+ // This keeps AOT semantics deterministic without introducing JS runtime symbol
32
+ // mechanics into the IR type lattice.
33
+ return { kind: "referenceType", name: "object", typeArguments: [] };
29
34
  case ts.SyntaxKind.NullKeyword:
30
35
  return { kind: "primitiveType", name: "null" };
31
36
  case ts.SyntaxKind.UndefinedKeyword:
@@ -1 +1 @@
1
- {"version":3,"file":"primitives.js","sourceRoot":"","sources":["../../../../../src/ir/type-system/internal/type-converter/primitives.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAGjC;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;AAE/D;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,IAAmB,EAAiB,EAAE;IAC5E,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,EAAE,CAAC,UAAU,CAAC,aAAa;YAC9B,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QACnD,KAAK,EAAE,CAAC,UAAU,CAAC,aAAa;YAC9B,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QACnD,KAAK,EAAE,CAAC,UAAU,CAAC,cAAc;YAC/B,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACpD,KAAK,EAAE,CAAC,UAAU,CAAC,WAAW;YAC5B,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QACjD,KAAK,EAAE,CAAC,UAAU,CAAC,gBAAgB;YACjC,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;QACtD,KAAK,EAAE,CAAC,UAAU,CAAC,WAAW;YAC5B,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;QAC9B,KAAK,EAAE,CAAC,UAAU,CAAC,UAAU;YAC3B,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC7B,KAAK,EAAE,CAAC,UAAU,CAAC,cAAc;YAC/B,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;QACjC,KAAK,EAAE,CAAC,UAAU,CAAC,YAAY;YAC7B,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;QAC/B,KAAK,EAAE,CAAC,UAAU,CAAC,aAAa;YAC9B,gEAAgE;YAChE,sDAAsD;YACtD,6DAA6D;YAC7D,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC;QACtE;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,QAAgB,EACoD,EAAE;IACtE,OAAO,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,QAAQ,CAClE,QAAQ,CACT,CAAC;AACJ,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CACpC,QAAgB,EACY,EAAE;IAC9B,OAAO,sBAAsB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC9C,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,QAAgE,EAC/C,EAAE;IACnB,OAAO;QACL,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE,QAAQ;KACf,CAAC;AACJ,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,QAAwB,EACP,EAAE;IACnB,OAAO;QACL,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE,QAAQ;KACf,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"primitives.js","sourceRoot":"","sources":["../../../../../src/ir/type-system/internal/type-converter/primitives.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAGjC;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;AAE/D;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,IAAmB,EAAiB,EAAE;IAC5E,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,EAAE,CAAC,UAAU,CAAC,aAAa;YAC9B,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QACnD,KAAK,EAAE,CAAC,UAAU,CAAC,aAAa;YAC9B,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QACnD,KAAK,EAAE,CAAC,UAAU,CAAC,cAAc;YAC/B,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACpD,KAAK,EAAE,CAAC,UAAU,CAAC,aAAa;YAC9B,sEAAsE;YACtE,+EAA+E;YAC/E,sCAAsC;YACtC,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC;QACtE,KAAK,EAAE,CAAC,UAAU,CAAC,WAAW;YAC5B,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QACjD,KAAK,EAAE,CAAC,UAAU,CAAC,gBAAgB;YACjC,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;QACtD,KAAK,EAAE,CAAC,UAAU,CAAC,WAAW;YAC5B,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;QAC9B,KAAK,EAAE,CAAC,UAAU,CAAC,UAAU;YAC3B,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC7B,KAAK,EAAE,CAAC,UAAU,CAAC,cAAc;YAC/B,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;QACjC,KAAK,EAAE,CAAC,UAAU,CAAC,YAAY;YAC7B,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;QAC/B,KAAK,EAAE,CAAC,UAAU,CAAC,aAAa;YAC9B,gEAAgE;YAChE,sDAAsD;YACtD,6DAA6D;YAC7D,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC;QACtE;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,QAAgB,EACoD,EAAE;IACtE,OAAO,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,QAAQ,CAClE,QAAQ,CACT,CAAC;AACJ,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CACpC,QAAgB,EACY,EAAE;IAC9B,OAAO,sBAAsB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC9C,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,QAAgE,EAC/C,EAAE;IACnB,OAAO;QACL,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE,QAAQ;KACf,CAAC;AACJ,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,QAAwB,EACP,EAAE;IACnB,OAAO;QACL,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE,QAAQ;KACf,CAAC;AACJ,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"references.d.ts","sourceRoot":"","sources":["../../../../../src/ir/type-system/internal/type-converter/references.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,EAAE,MAAM,EAAuC,MAAM,mBAAmB,CAAC;AAiBhF,OAAO,KAAK,EAAE,OAAO,EAAmB,MAAM,2BAA2B,CAAC;AA2Y1E;;;GAGG;AACH,eAAO,MAAM,oBAAoB,GAC/B,MAAM,EAAE,CAAC,iBAAiB,EAC1B,SAAS,OAAO,EAChB,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,KAAK,MAAM,KAC3D,MA8jBF,CAAC"}
1
+ {"version":3,"file":"references.d.ts","sourceRoot":"","sources":["../../../../../src/ir/type-system/internal/type-converter/references.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,EAAE,MAAM,EAAuC,MAAM,mBAAmB,CAAC;AAiBhF,OAAO,KAAK,EAAE,OAAO,EAAmB,MAAM,2BAA2B,CAAC;AA6d1E;;;GAGG;AACH,eAAO,MAAM,oBAAoB,GAC/B,MAAM,EAAE,CAAC,iBAAiB,EAC1B,SAAS,OAAO,EAChB,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,KAAK,MAAM,KAC3D,MAykBF,CAAC"}
@@ -94,28 +94,62 @@ const normalizeNamespaceAliasQualifiedName = (typeName) => {
94
94
  return typeName;
95
95
  return typeName.slice(lastDot + 1);
96
96
  };
97
- /**
98
- * Cache for structural member extraction to prevent infinite recursion
99
- * on recursive types like `type Node = { next: Node }`.
100
- *
101
- * DETERMINISTIC IR TYPING (INV-0 compliant):
102
- * Key: DeclId.id (numeric identifier) - handles are stable identifiers
103
- * Value: extracted members, null (not extractable), or "in-progress" sentinel
104
- */
105
- const structuralMembersCache = new Map();
106
- /**
107
- * Cache for expanding non-declaration-file type aliases (TS-only) into their underlying shapes.
108
- *
109
- * Key: DeclId.id (numeric identifier)
110
- * Value:
111
- * - IrType: the *uninstantiated* alias body converted to IR (with typeParameterType nodes)
112
- * - "in-progress": recursion guard for self-referential aliases
113
- *
114
- * NOTE:
115
- * We intentionally cache the uninstantiated body and apply type-argument substitution at
116
- * the reference site. This keeps the cache small and deterministic.
117
- */
118
- const typeAliasBodyCache = new Map();
97
+ const isSymbolTypeReferenceNode = (node) => ts.isTypeReferenceNode(node) &&
98
+ ts.isIdentifier(node.typeName) &&
99
+ node.typeName.text === "symbol";
100
+ const classifyDictionaryKeyTypeNode = (keyTypeNode, convertType, binding) => {
101
+ const keyNodes = ts.isUnionTypeNode(keyTypeNode)
102
+ ? keyTypeNode.types
103
+ : [keyTypeNode];
104
+ let sawString = false;
105
+ let sawNumber = false;
106
+ let sawSymbol = false;
107
+ for (const node of keyNodes) {
108
+ if (node.kind === ts.SyntaxKind.StringKeyword) {
109
+ sawString = true;
110
+ continue;
111
+ }
112
+ if (node.kind === ts.SyntaxKind.NumberKeyword) {
113
+ sawNumber = true;
114
+ continue;
115
+ }
116
+ if (node.kind === ts.SyntaxKind.SymbolKeyword ||
117
+ isSymbolTypeReferenceNode(node)) {
118
+ sawSymbol = true;
119
+ continue;
120
+ }
121
+ return undefined;
122
+ }
123
+ const distinctKinds = (sawString ? 1 : 0) + (sawNumber ? 1 : 0) + (sawSymbol ? 1 : 0);
124
+ if (distinctKinds === 0) {
125
+ return undefined;
126
+ }
127
+ if (distinctKinds > 1 || sawSymbol) {
128
+ return { kind: "referenceType", name: "object" };
129
+ }
130
+ if (sawNumber) {
131
+ return convertType(ts.factory.createKeywordTypeNode(ts.SyntaxKind.NumberKeyword), binding);
132
+ }
133
+ return convertType(ts.factory.createKeywordTypeNode(ts.SyntaxKind.StringKeyword), binding);
134
+ };
135
+ const structuralMembersCacheByBinding = new WeakMap();
136
+ const typeAliasBodyCacheByBinding = new WeakMap();
137
+ const getStructuralMembersCache = (binding) => {
138
+ let cache = structuralMembersCacheByBinding.get(binding);
139
+ if (!cache) {
140
+ cache = new Map();
141
+ structuralMembersCacheByBinding.set(binding, cache);
142
+ }
143
+ return cache;
144
+ };
145
+ const getTypeAliasBodyCache = (binding) => {
146
+ let cache = typeAliasBodyCacheByBinding.get(binding);
147
+ if (!cache) {
148
+ cache = new Map();
149
+ typeAliasBodyCacheByBinding.set(binding, cache);
150
+ }
151
+ return cache;
152
+ };
119
153
  /**
120
154
  * Check whether a declaration file is a Tsonic-generated bindings artifact.
121
155
  *
@@ -215,6 +249,7 @@ const extractStructuralMembersFromDeclarations = (declId, binding, convertType)
215
249
  return undefined;
216
250
  }
217
251
  // Check cache first (handles recursion)
252
+ const structuralMembersCache = getStructuralMembersCache(binding);
218
253
  const cached = structuralMembersCache.get(declId);
219
254
  if (cached === "in-progress") {
220
255
  // Recursive reference - return undefined to break cycle
@@ -405,10 +440,8 @@ export const convertTypeReference = (node, binding, convertType) => {
405
440
  // DETERMINISTIC: Only check SyntaxKind - no getTypeAtLocation.
406
441
  // If the key is a type alias that resolves to string/number, it falls through
407
442
  // to referenceType (the user should use `string` or `number` directly).
408
- const isStringKey = keyTypeNode.kind === ts.SyntaxKind.StringKeyword;
409
- const isNumberKey = keyTypeNode.kind === ts.SyntaxKind.NumberKeyword;
410
- if (isStringKey || isNumberKey) {
411
- const keyType = convertType(keyTypeNode, binding);
443
+ const keyType = classifyDictionaryKeyTypeNode(keyTypeNode, convertType, binding);
444
+ if (keyType) {
412
445
  const valueType = convertType(valueTypeNode, binding);
413
446
  return {
414
447
  kind: "dictionaryType",
@@ -528,9 +561,12 @@ export const convertTypeReference = (node, binding, convertType) => {
528
561
  const indexSig = indexSignatures[0];
529
562
  const keyParam = indexSig?.parameters[0];
530
563
  const keyTypeNode = keyParam?.type;
531
- const keyType = keyTypeNode && keyTypeNode.kind === ts.SyntaxKind.NumberKeyword
532
- ? { kind: "primitiveType", name: "number" }
533
- : { kind: "primitiveType", name: "string" };
564
+ const keyType = (() => {
565
+ if (!keyTypeNode) {
566
+ return { kind: "primitiveType", name: "string" };
567
+ }
568
+ return (classifyDictionaryKeyTypeNode(keyTypeNode, convertType, binding) ?? { kind: "primitiveType", name: "string" });
569
+ })();
534
570
  const valueType = indexSig?.type
535
571
  ? convertType(indexSig.type, binding)
536
572
  : { kind: "anyType" };
@@ -649,6 +685,7 @@ export const convertTypeReference = (node, binding, convertType) => {
649
685
  !declInfo.valueDeclNode &&
650
686
  !ts.isConditionalTypeNode(declNode.type)) {
651
687
  const key = declId.id;
688
+ const typeAliasBodyCache = getTypeAliasBodyCache(binding);
652
689
  const cached = typeAliasBodyCache.get(key);
653
690
  if (cached !== "in-progress") {
654
691
  const base = cached ??
@@ -688,6 +725,7 @@ export const convertTypeReference = (node, binding, convertType) => {
688
725
  if (!declNode.getSourceFile().isDeclarationFile &&
689
726
  isSafeToEraseUserTypeAliasTarget(declNode.type)) {
690
727
  const key = declId.id;
728
+ const typeAliasBodyCache = getTypeAliasBodyCache(binding);
691
729
  const cached = typeAliasBodyCache.get(key);
692
730
  if (cached === "in-progress") {
693
731
  // Recursive alias expansion: fall through to the referenceType path to avoid infinite recursion.
@@ -1 +1 @@
1
- {"version":3,"file":"references.js","sourceRoot":"","sources":["../../../../../src/ir/type-system/internal/type-converter/references.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"references.js","sourceRoot":"","sources":["../../../../../src/ir/type-system/internal/type-converter/references.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"utility-types.d.ts","sourceRoot":"","sources":["../../../../../src/ir/type-system/internal/type-converter/utility-types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,EACL,MAAM,EACN,YAAY,EAGb,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,OAAO,EAAmB,MAAM,2BAA2B,CAAC;AAE1E;;GAEG;AACH,eAAO,MAAM,wBAAwB,aAMnC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,uBAAuB,GAAI,MAAM,MAAM,KAAG,OACnB,CAAC;AAErC;;;GAGG;AACH,eAAO,MAAM,oCAAoC,aAO/C,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,kCAAkC,GAAI,MAAM,MAAM,KAAG,OAClB,CAAC;AA4OjD;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,iBAAiB,GAC5B,MAAM,EAAE,CAAC,iBAAiB,EAC1B,UAAU,MAAM,EAChB,SAAS,OAAO,EAChB,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,KAAK,MAAM,KAC3D,YAAY,GAAG,IA4JjB,CAAC;AA4hBF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,4BAA4B,GACvC,MAAM,EAAE,CAAC,iBAAiB,EAC1B,UAAU,MAAM,EAChB,SAAS,OAAO,EAChB,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,KAAK,MAAM,KAC3D,MAAM,GAAG,IAQX,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,gBAAgB,GAC3B,MAAM,EAAE,CAAC,iBAAiB,EAC1B,SAAS,OAAO,EAChB,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,KAAK,MAAM,KAC3D,YAAY,GAAG,IA4CjB,CAAC"}
1
+ {"version":3,"file":"utility-types.d.ts","sourceRoot":"","sources":["../../../../../src/ir/type-system/internal/type-converter/utility-types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,EACL,MAAM,EACN,YAAY,EAGb,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,OAAO,EAAmB,MAAM,2BAA2B,CAAC;AAE1E;;GAEG;AACH,eAAO,MAAM,wBAAwB,aAMnC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,uBAAuB,GAAI,MAAM,MAAM,KAAG,OACnB,CAAC;AAErC;;;GAGG;AACH,eAAO,MAAM,oCAAoC,aAS/C,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,kCAAkC,GAAI,MAAM,MAAM,KAAG,OAClB,CAAC;AA4OjD;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,iBAAiB,GAC5B,MAAM,EAAE,CAAC,iBAAiB,EAC1B,UAAU,MAAM,EAChB,SAAS,OAAO,EAChB,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,KAAK,MAAM,KAC3D,YAAY,GAAG,IA4JjB,CAAC;AA4sBF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,4BAA4B,GACvC,MAAM,EAAE,CAAC,iBAAiB,EAC1B,UAAU,MAAM,EAChB,SAAS,OAAO,EAChB,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,KAAK,MAAM,KAC3D,MAAM,GAAG,IAQX,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,gBAAgB,GAC3B,MAAM,EAAE,CAAC,iBAAiB,EAC1B,SAAS,OAAO,EAChB,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,KAAK,MAAM,KAC3D,YAAY,GAAG,IA4CjB,CAAC"}