@tsonic/emitter 0.0.76 → 0.0.77

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 (625) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/array.test.js +3 -3
  3. package/dist/array.test.js.map +1 -1
  4. package/dist/core/format/backend-ast/invariants.test.js +5 -0
  5. package/dist/core/format/backend-ast/invariants.test.js.map +1 -1
  6. package/dist/core/format/backend-ast/printer-colon-detection.d.ts.map +1 -1
  7. package/dist/core/format/backend-ast/printer-colon-detection.js +2 -0
  8. package/dist/core/format/backend-ast/printer-colon-detection.js.map +1 -1
  9. package/dist/core/format/backend-ast/printer-expressions.d.ts.map +1 -1
  10. package/dist/core/format/backend-ast/printer-expressions.js +4 -0
  11. package/dist/core/format/backend-ast/printer-expressions.js.map +1 -1
  12. package/dist/core/format/backend-ast/printer-precedence.d.ts.map +1 -1
  13. package/dist/core/format/backend-ast/printer-precedence.js +1 -0
  14. package/dist/core/format/backend-ast/printer-precedence.js.map +1 -1
  15. package/dist/core/format/backend-ast/types/expression-ast.d.ts +5 -1
  16. package/dist/core/format/backend-ast/types/expression-ast.d.ts.map +1 -1
  17. package/dist/core/format/backend-ast/utils.d.ts +3 -0
  18. package/dist/core/format/backend-ast/utils.d.ts.map +1 -1
  19. package/dist/core/format/backend-ast/utils.js +39 -0
  20. package/dist/core/format/backend-ast/utils.js.map +1 -1
  21. package/dist/core/format/backend-ast/utils.test.js +13 -1
  22. package/dist/core/format/backend-ast/utils.test.js.map +1 -1
  23. package/dist/core/format/local-names.d.ts.map +1 -1
  24. package/dist/core/format/local-names.js +3 -2
  25. package/dist/core/format/local-names.js.map +1 -1
  26. package/dist/core/format/local-names.test.js +7 -6
  27. package/dist/core/format/local-names.test.js.map +1 -1
  28. package/dist/core/format/module-emitter/orchestrator.d.ts.map +1 -1
  29. package/dist/core/format/module-emitter/orchestrator.js +3 -1
  30. package/dist/core/format/module-emitter/orchestrator.js.map +1 -1
  31. package/dist/core/format/module-emitter/static-container.d.ts.map +1 -1
  32. package/dist/core/format/module-emitter/static-container.js +2 -4
  33. package/dist/core/format/module-emitter/static-container.js.map +1 -1
  34. package/dist/core/module-emitter-cases/class-and-recursion.test.js +4 -1
  35. package/dist/core/module-emitter-cases/class-and-recursion.test.js.map +1 -1
  36. package/dist/core/module-emitter-cases/static-containers.test.js +111 -1
  37. package/dist/core/module-emitter-cases/static-containers.test.js.map +1 -1
  38. package/dist/core/semantic/adapt-result.d.ts +20 -0
  39. package/dist/core/semantic/adapt-result.d.ts.map +1 -0
  40. package/dist/core/semantic/adapt-result.js +30 -0
  41. package/dist/core/semantic/adapt-result.js.map +1 -0
  42. package/dist/core/semantic/array-expected-types.d.ts.map +1 -1
  43. package/dist/core/semantic/array-expected-types.js.map +1 -1
  44. package/dist/core/semantic/assignment-flow.d.ts.map +1 -1
  45. package/dist/core/semantic/assignment-flow.js +26 -3
  46. package/dist/core/semantic/assignment-flow.js.map +1 -1
  47. package/dist/core/semantic/async-wrapper-types.d.ts +1 -0
  48. package/dist/core/semantic/async-wrapper-types.d.ts.map +1 -1
  49. package/dist/core/semantic/async-wrapper-types.js +19 -1
  50. package/dist/core/semantic/async-wrapper-types.js.map +1 -1
  51. package/dist/core/semantic/boolean-condition-main.d.ts.map +1 -1
  52. package/dist/core/semantic/boolean-condition-main.js +6 -2
  53. package/dist/core/semantic/boolean-condition-main.js.map +1 -1
  54. package/dist/core/semantic/boolean-context.test.js +2 -1
  55. package/dist/core/semantic/boolean-context.test.js.map +1 -1
  56. package/dist/core/semantic/broad-array-storage.d.ts.map +1 -1
  57. package/dist/core/semantic/broad-array-storage.js +2 -5
  58. package/dist/core/semantic/broad-array-storage.js.map +1 -1
  59. package/dist/core/semantic/broad-object-types.d.ts +1 -0
  60. package/dist/core/semantic/broad-object-types.d.ts.map +1 -1
  61. package/dist/core/semantic/broad-object-types.js +39 -0
  62. package/dist/core/semantic/broad-object-types.js.map +1 -1
  63. package/dist/core/semantic/clr-type-identity.d.ts +1 -2
  64. package/dist/core/semantic/clr-type-identity.d.ts.map +1 -1
  65. package/dist/core/semantic/clr-type-identity.js +3 -65
  66. package/dist/core/semantic/clr-type-identity.js.map +1 -1
  67. package/dist/core/semantic/comparable-types.d.ts.map +1 -1
  68. package/dist/core/semantic/comparable-types.js +61 -27
  69. package/dist/core/semantic/comparable-types.js.map +1 -1
  70. package/dist/core/semantic/comparable-types.test.js.map +1 -1
  71. package/dist/core/semantic/deterministic-type-keys.d.ts.map +1 -1
  72. package/dist/core/semantic/deterministic-type-keys.js +90 -37
  73. package/dist/core/semantic/deterministic-type-keys.js.map +1 -1
  74. package/dist/core/semantic/deterministic-type-keys.test.d.ts +2 -0
  75. package/dist/core/semantic/deterministic-type-keys.test.d.ts.map +1 -0
  76. package/dist/core/semantic/deterministic-type-keys.test.js +38 -0
  77. package/dist/core/semantic/deterministic-type-keys.test.js.map +1 -0
  78. package/dist/core/semantic/direct-storage-ir-types.d.ts +1 -1
  79. package/dist/core/semantic/direct-storage-ir-types.d.ts.map +1 -1
  80. package/dist/core/semantic/direct-storage-ir-types.js +12 -3
  81. package/dist/core/semantic/direct-storage-ir-types.js.map +1 -1
  82. package/dist/core/semantic/direct-value-surfaces.d.ts.map +1 -1
  83. package/dist/core/semantic/direct-value-surfaces.js +165 -6
  84. package/dist/core/semantic/direct-value-surfaces.js.map +1 -1
  85. package/dist/core/semantic/direct-value-surfaces.test.js +69 -6
  86. package/dist/core/semantic/direct-value-surfaces.test.js.map +1 -1
  87. package/dist/core/semantic/expected-type-matching.d.ts.map +1 -1
  88. package/dist/core/semantic/expected-type-matching.js +4 -5
  89. package/dist/core/semantic/expected-type-matching.js.map +1 -1
  90. package/dist/core/semantic/implicit-interfaces.d.ts.map +1 -1
  91. package/dist/core/semantic/implicit-interfaces.js.map +1 -1
  92. package/dist/core/semantic/imports-cases/basic-and-local.test.js +8 -8
  93. package/dist/core/semantic/imports-cases/basic-and-local.test.js.map +1 -1
  94. package/dist/core/semantic/imports.js +3 -2
  95. package/dist/core/semantic/imports.js.map +1 -1
  96. package/dist/core/semantic/index.d.ts +1 -1
  97. package/dist/core/semantic/index.d.ts.map +1 -1
  98. package/dist/core/semantic/index.js +1 -1
  99. package/dist/core/semantic/index.js.map +1 -1
  100. package/dist/core/semantic/instanceof-predicate-refinements.d.ts.map +1 -1
  101. package/dist/core/semantic/instanceof-predicate-refinements.js +1 -9
  102. package/dist/core/semantic/instanceof-predicate-refinements.js.map +1 -1
  103. package/dist/core/semantic/js-array-surface-members.d.ts +4 -0
  104. package/dist/core/semantic/js-array-surface-members.d.ts.map +1 -0
  105. package/dist/core/semantic/js-array-surface-members.js +32 -0
  106. package/dist/core/semantic/js-array-surface-members.js.map +1 -0
  107. package/dist/core/semantic/materialized-narrowing.d.ts +1 -0
  108. package/dist/core/semantic/materialized-narrowing.d.ts.map +1 -1
  109. package/dist/core/semantic/materialized-narrowing.js +170 -34
  110. package/dist/core/semantic/materialized-narrowing.js.map +1 -1
  111. package/dist/core/semantic/materialized-narrowing.test.js +24 -6
  112. package/dist/core/semantic/materialized-narrowing.test.js.map +1 -1
  113. package/dist/core/semantic/module-map.d.ts.map +1 -1
  114. package/dist/core/semantic/module-map.js +4 -6
  115. package/dist/core/semantic/module-map.js.map +1 -1
  116. package/dist/core/semantic/module-type-collisions.d.ts +7 -0
  117. package/dist/core/semantic/module-type-collisions.d.ts.map +1 -0
  118. package/dist/core/semantic/module-type-collisions.js +24 -0
  119. package/dist/core/semantic/module-type-collisions.js.map +1 -0
  120. package/dist/core/semantic/mutable-storage-helpers.d.ts +1 -1
  121. package/dist/core/semantic/mutable-storage-helpers.d.ts.map +1 -1
  122. package/dist/core/semantic/mutable-storage-helpers.js +4 -12
  123. package/dist/core/semantic/mutable-storage-helpers.js.map +1 -1
  124. package/dist/core/semantic/naming-collisions.d.ts.map +1 -1
  125. package/dist/core/semantic/naming-collisions.js +13 -3
  126. package/dist/core/semantic/naming-collisions.js.map +1 -1
  127. package/dist/core/semantic/narrowed-expression-types.d.ts +3 -1
  128. package/dist/core/semantic/narrowed-expression-types.d.ts.map +1 -1
  129. package/dist/core/semantic/narrowed-expression-types.js +138 -16
  130. package/dist/core/semantic/narrowed-expression-types.js.map +1 -1
  131. package/dist/core/semantic/narrowed-union-resolution.d.ts.map +1 -1
  132. package/dist/core/semantic/narrowed-union-resolution.js +13 -2
  133. package/dist/core/semantic/narrowed-union-resolution.js.map +1 -1
  134. package/dist/core/semantic/narrowing-builder-core.d.ts +3 -2
  135. package/dist/core/semantic/narrowing-builder-core.d.ts.map +1 -1
  136. package/dist/core/semantic/narrowing-builder-core.js +85 -126
  137. package/dist/core/semantic/narrowing-builder-core.js.map +1 -1
  138. package/dist/core/semantic/narrowing-builder-core.test.js +3 -2
  139. package/dist/core/semantic/narrowing-builder-core.test.js.map +1 -1
  140. package/dist/core/semantic/narrowing-builder-unions.d.ts.map +1 -1
  141. package/dist/core/semantic/narrowing-builder-unions.js +43 -7
  142. package/dist/core/semantic/narrowing-builder-unions.js.map +1 -1
  143. package/dist/core/semantic/narrowing-builders.d.ts +1 -1
  144. package/dist/core/semantic/narrowing-builders.d.ts.map +1 -1
  145. package/dist/core/semantic/narrowing-builders.js +1 -1
  146. package/dist/core/semantic/narrowing-builders.js.map +1 -1
  147. package/dist/core/semantic/narrowing-refinements.d.ts +1 -1
  148. package/dist/core/semantic/narrowing-refinements.d.ts.map +1 -1
  149. package/dist/core/semantic/narrowing-refinements.js +1 -1
  150. package/dist/core/semantic/narrowing-refinements.js.map +1 -1
  151. package/dist/core/semantic/nullable-typeof-refinements.d.ts +1 -5
  152. package/dist/core/semantic/nullable-typeof-refinements.d.ts.map +1 -1
  153. package/dist/core/semantic/nullable-typeof-refinements.js +128 -57
  154. package/dist/core/semantic/nullable-typeof-refinements.js.map +1 -1
  155. package/dist/core/semantic/nullish-value-helpers.d.ts +1 -1
  156. package/dist/core/semantic/nullish-value-helpers.d.ts.map +1 -1
  157. package/dist/core/semantic/nullish-value-helpers.js +18 -9
  158. package/dist/core/semantic/nullish-value-helpers.js.map +1 -1
  159. package/dist/core/semantic/runtime-materialization-targets.js +1 -1
  160. package/dist/core/semantic/runtime-materialization-targets.js.map +1 -1
  161. package/dist/core/semantic/runtime-reification.d.ts +1 -0
  162. package/dist/core/semantic/runtime-reification.d.ts.map +1 -1
  163. package/dist/core/semantic/runtime-reification.js +141 -35
  164. package/dist/core/semantic/runtime-reification.js.map +1 -1
  165. package/dist/core/semantic/runtime-union-family-preservation.js +1 -1
  166. package/dist/core/semantic/runtime-union-family-preservation.js.map +1 -1
  167. package/dist/core/semantic/runtime-union-matching.d.ts.map +1 -1
  168. package/dist/core/semantic/runtime-union-matching.js +13 -0
  169. package/dist/core/semantic/runtime-union-matching.js.map +1 -1
  170. package/dist/core/semantic/runtime-union-member-mapping.test.js +1 -1
  171. package/dist/core/semantic/runtime-union-member-mapping.test.js.map +1 -1
  172. package/dist/core/semantic/runtime-union-ordering.d.ts.map +1 -1
  173. package/dist/core/semantic/runtime-union-ordering.js +10 -22
  174. package/dist/core/semantic/runtime-union-ordering.js.map +1 -1
  175. package/dist/core/semantic/runtime-union-projection.d.ts.map +1 -1
  176. package/dist/core/semantic/runtime-union-projection.js +23 -7
  177. package/dist/core/semantic/runtime-union-projection.js.map +1 -1
  178. package/dist/core/semantic/runtime-union-projection.test.js +19 -1
  179. package/dist/core/semantic/runtime-union-projection.test.js.map +1 -1
  180. package/dist/core/semantic/runtime-union-registry.js +13 -13
  181. package/dist/core/semantic/runtime-union-registry.js.map +1 -1
  182. package/dist/core/semantic/runtime-unions.d.ts.map +1 -1
  183. package/dist/core/semantic/runtime-unions.js +47 -21
  184. package/dist/core/semantic/runtime-unions.js.map +1 -1
  185. package/dist/core/semantic/runtime-unions.test.js +12 -7
  186. package/dist/core/semantic/runtime-unions.test.js.map +1 -1
  187. package/dist/core/semantic/semantic-union-members.d.ts.map +1 -1
  188. package/dist/core/semantic/semantic-union-members.js.map +1 -1
  189. package/dist/core/semantic/storage-erased-adaptation.d.ts.map +1 -1
  190. package/dist/core/semantic/storage-erased-adaptation.js +8 -11
  191. package/dist/core/semantic/storage-erased-adaptation.js.map +1 -1
  192. package/dist/core/semantic/storage-erased-adaptation.test.js +4 -1
  193. package/dist/core/semantic/storage-erased-adaptation.test.js.map +1 -1
  194. package/dist/core/semantic/storage-types.d.ts.map +1 -1
  195. package/dist/core/semantic/storage-types.js +4 -2
  196. package/dist/core/semantic/storage-types.js.map +1 -1
  197. package/dist/core/semantic/structural-shape-matching.d.ts +5 -1
  198. package/dist/core/semantic/structural-shape-matching.d.ts.map +1 -1
  199. package/dist/core/semantic/structural-shape-matching.js +29 -4
  200. package/dist/core/semantic/structural-shape-matching.js.map +1 -1
  201. package/dist/core/semantic/symbol-types.d.ts +2 -9
  202. package/dist/core/semantic/symbol-types.d.ts.map +1 -1
  203. package/dist/core/semantic/symbol-types.js +7 -11
  204. package/dist/core/semantic/symbol-types.js.map +1 -1
  205. package/dist/core/semantic/truthiness-evaluation.d.ts.map +1 -1
  206. package/dist/core/semantic/truthiness-evaluation.js +3 -3
  207. package/dist/core/semantic/truthiness-evaluation.js.map +1 -1
  208. package/dist/core/semantic/type-compatibility.d.ts +4 -2
  209. package/dist/core/semantic/type-compatibility.d.ts.map +1 -1
  210. package/dist/core/semantic/type-compatibility.js +62 -2
  211. package/dist/core/semantic/type-compatibility.js.map +1 -1
  212. package/dist/core/semantic/type-domains.d.ts +17 -0
  213. package/dist/core/semantic/type-domains.d.ts.map +1 -0
  214. package/dist/core/semantic/type-domains.js +7 -0
  215. package/dist/core/semantic/type-domains.js.map +1 -0
  216. package/dist/core/semantic/type-equivalence.d.ts.map +1 -1
  217. package/dist/core/semantic/type-equivalence.js +12 -7
  218. package/dist/core/semantic/type-equivalence.js.map +1 -1
  219. package/dist/core/semantic/type-equivalence.test.js +34 -0
  220. package/dist/core/semantic/type-equivalence.test.js.map +1 -1
  221. package/dist/core/semantic/type-resolution-cases/array-like-element.test.js +13 -4
  222. package/dist/core/semantic/type-resolution-cases/array-like-element.test.js.map +1 -1
  223. package/dist/core/semantic/type-resolution-cases/helpers.d.ts +2 -2
  224. package/dist/core/semantic/type-resolution-cases/helpers.d.ts.map +1 -1
  225. package/dist/core/semantic/type-resolution-cases/helpers.js +2 -2
  226. package/dist/core/semantic/type-resolution-cases/helpers.js.map +1 -1
  227. package/dist/core/semantic/type-resolution-cases/typeof-narrowing.test.d.ts +2 -0
  228. package/dist/core/semantic/type-resolution-cases/typeof-narrowing.test.d.ts.map +1 -0
  229. package/dist/core/semantic/type-resolution-cases/typeof-narrowing.test.js +36 -0
  230. package/dist/core/semantic/type-resolution-cases/typeof-narrowing.test.js.map +1 -0
  231. package/dist/core/semantic/type-resolution.test.d.ts +1 -1
  232. package/dist/core/semantic/type-resolution.test.d.ts.map +1 -1
  233. package/dist/core/semantic/type-resolution.test.js +1 -1
  234. package/dist/core/semantic/type-resolution.test.js.map +1 -1
  235. package/dist/core/semantic/type-substitution.d.ts.map +1 -1
  236. package/dist/core/semantic/type-substitution.js +2 -1
  237. package/dist/core/semantic/type-substitution.js.map +1 -1
  238. package/dist/core/semantic/union-predicate-matching.d.ts.map +1 -1
  239. package/dist/core/semantic/union-predicate-matching.js +1 -1
  240. package/dist/core/semantic/union-predicate-matching.js.map +1 -1
  241. package/dist/core/semantic/union-typeof-matching.d.ts.map +1 -1
  242. package/dist/core/semantic/union-typeof-matching.js +72 -22
  243. package/dist/core/semantic/union-typeof-matching.js.map +1 -1
  244. package/dist/core/semantic/variable-type-resolution.d.ts +1 -0
  245. package/dist/core/semantic/variable-type-resolution.d.ts.map +1 -1
  246. package/dist/core/semantic/variable-type-resolution.js +62 -6
  247. package/dist/core/semantic/variable-type-resolution.js.map +1 -1
  248. package/dist/duplicate-type-suppression.d.ts.map +1 -1
  249. package/dist/duplicate-type-suppression.js.map +1 -1
  250. package/dist/emitter-types/context.d.ts +1 -0
  251. package/dist/emitter-types/context.d.ts.map +1 -1
  252. package/dist/emitter-types/context.js +12 -1
  253. package/dist/emitter-types/context.js.map +1 -1
  254. package/dist/emitter-types/core.d.ts +10 -9
  255. package/dist/emitter-types/core.d.ts.map +1 -1
  256. package/dist/emitter-types/fqn.d.ts +0 -1
  257. package/dist/emitter-types/fqn.d.ts.map +1 -1
  258. package/dist/emitter-types/fqn.js +0 -1
  259. package/dist/emitter-types/fqn.js.map +1 -1
  260. package/dist/emitter-types/index.d.ts +1 -1
  261. package/dist/emitter-types/index.d.ts.map +1 -1
  262. package/dist/emitter-types/index.js +1 -1
  263. package/dist/emitter-types/index.js.map +1 -1
  264. package/dist/emitter.d.ts +3 -3
  265. package/dist/emitter.d.ts.map +1 -1
  266. package/dist/emitter.js +1 -7
  267. package/dist/emitter.js.map +1 -1
  268. package/dist/expression-emitter.d.ts.map +1 -1
  269. package/dist/expression-emitter.js +7 -2
  270. package/dist/expression-emitter.js.map +1 -1
  271. package/dist/expressions/access-binding.d.ts.map +1 -1
  272. package/dist/expressions/access-binding.js +32 -46
  273. package/dist/expressions/access-binding.js.map +1 -1
  274. package/dist/expressions/access-computed.d.ts.map +1 -1
  275. package/dist/expressions/access-computed.js +7 -8
  276. package/dist/expressions/access-computed.js.map +1 -1
  277. package/dist/expressions/access-length.d.ts +5 -9
  278. package/dist/expressions/access-length.d.ts.map +1 -1
  279. package/dist/expressions/access-length.js +17 -225
  280. package/dist/expressions/access-length.js.map +1 -1
  281. package/dist/expressions/access-property.d.ts +1 -2
  282. package/dist/expressions/access-property.d.ts.map +1 -1
  283. package/dist/expressions/access-property.js +20 -94
  284. package/dist/expressions/access-property.js.map +1 -1
  285. package/dist/expressions/access-resolution-receivers.d.ts.map +1 -1
  286. package/dist/expressions/access-resolution-receivers.js +14 -5
  287. package/dist/expressions/access-resolution-receivers.js.map +1 -1
  288. package/dist/expressions/access-resolution-types.d.ts.map +1 -1
  289. package/dist/expressions/access-resolution-types.js +7 -0
  290. package/dist/expressions/access-resolution-types.js.map +1 -1
  291. package/dist/expressions/access.d.ts +2 -2
  292. package/dist/expressions/access.d.ts.map +1 -1
  293. package/dist/expressions/access.js +6 -5
  294. package/dist/expressions/access.js.map +1 -1
  295. package/dist/expressions/architecture-invariants.test.js +18 -0
  296. package/dist/expressions/architecture-invariants.test.js.map +1 -1
  297. package/dist/expressions/await-normalization.d.ts.map +1 -1
  298. package/dist/expressions/await-normalization.js +53 -13
  299. package/dist/expressions/await-normalization.js.map +1 -1
  300. package/dist/expressions/calls/call-analysis.d.ts +0 -1
  301. package/dist/expressions/calls/call-analysis.d.ts.map +1 -1
  302. package/dist/expressions/calls/call-analysis.js +0 -7
  303. package/dist/expressions/calls/call-analysis.js.map +1 -1
  304. package/dist/expressions/calls/call-arguments-emit.d.ts.map +1 -1
  305. package/dist/expressions/calls/call-arguments-emit.js +219 -36
  306. package/dist/expressions/calls/call-arguments-emit.js.map +1 -1
  307. package/dist/expressions/calls/call-arguments-helpers.d.ts.map +1 -1
  308. package/dist/expressions/calls/call-arguments-helpers.js.map +1 -1
  309. package/dist/expressions/calls/call-array-mutation.d.ts.map +1 -1
  310. package/dist/expressions/calls/call-array-mutation.js +8 -33
  311. package/dist/expressions/calls/call-array-mutation.js.map +1 -1
  312. package/dist/expressions/calls/call-array-wrapper.d.ts.map +1 -1
  313. package/dist/expressions/calls/call-array-wrapper.js +6 -4
  314. package/dist/expressions/calls/call-array-wrapper.js.map +1 -1
  315. package/dist/expressions/calls/call-emitter.d.ts +1 -1
  316. package/dist/expressions/calls/call-emitter.d.ts.map +1 -1
  317. package/dist/expressions/calls/call-emitter.js +85 -7
  318. package/dist/expressions/calls/call-emitter.js.map +1 -1
  319. package/dist/expressions/calls/call-json.d.ts +1 -1
  320. package/dist/expressions/calls/call-json.d.ts.map +1 -1
  321. package/dist/expressions/calls/call-json.js +50 -84
  322. package/dist/expressions/calls/call-json.js.map +1 -1
  323. package/dist/expressions/calls/call-promise-ir-types.d.ts.map +1 -1
  324. package/dist/expressions/calls/call-promise-ir-types.js.map +1 -1
  325. package/dist/expressions/calls/call-runtime-union-guards.d.ts.map +1 -1
  326. package/dist/expressions/calls/call-runtime-union-guards.js +10 -1
  327. package/dist/expressions/calls/call-runtime-union-guards.js.map +1 -1
  328. package/dist/expressions/calls/new-emitter-collections.d.ts +7 -4
  329. package/dist/expressions/calls/new-emitter-collections.d.ts.map +1 -1
  330. package/dist/expressions/calls/new-emitter-collections.js +64 -25
  331. package/dist/expressions/calls/new-emitter-collections.js.map +1 -1
  332. package/dist/expressions/calls/new-emitter.d.ts.map +1 -1
  333. package/dist/expressions/calls/new-emitter.js +4 -5
  334. package/dist/expressions/calls/new-emitter.js.map +1 -1
  335. package/dist/expressions/direct-storage-types.d.ts.map +1 -1
  336. package/dist/expressions/direct-storage-types.js +76 -15
  337. package/dist/expressions/direct-storage-types.js.map +1 -1
  338. package/dist/expressions/exact-comparison.d.ts.map +1 -1
  339. package/dist/expressions/exact-comparison.js +3 -1
  340. package/dist/expressions/exact-comparison.js.map +1 -1
  341. package/dist/expressions/expected-type-adaptation.d.ts +1 -1
  342. package/dist/expressions/expected-type-adaptation.d.ts.map +1 -1
  343. package/dist/expressions/expected-type-adaptation.js +149 -29
  344. package/dist/expressions/expected-type-adaptation.js.map +1 -1
  345. package/dist/expressions/expected-type-adaptation.test.js +81 -26
  346. package/dist/expressions/expected-type-adaptation.test.js.map +1 -1
  347. package/dist/expressions/identifier-storage.d.ts +5 -0
  348. package/dist/expressions/identifier-storage.d.ts.map +1 -1
  349. package/dist/expressions/identifier-storage.js +200 -25
  350. package/dist/expressions/identifier-storage.js.map +1 -1
  351. package/dist/expressions/identifiers.d.ts.map +1 -1
  352. package/dist/expressions/identifiers.js +7 -16
  353. package/dist/expressions/identifiers.js.map +1 -1
  354. package/dist/expressions/index-cases/array-wrapper-recursion-b.test.js +3 -3
  355. package/dist/expressions/index-cases/array-wrapper-recursion-b.test.js.map +1 -1
  356. package/dist/expressions/index-cases/basic-literals-and-calls.test.js +3 -3
  357. package/dist/expressions/index-cases/basic-literals-and-calls.test.js.map +1 -1
  358. package/dist/expressions/index-cases/defaults-and-char-context.test.js +8 -2
  359. package/dist/expressions/index-cases/defaults-and-char-context.test.js.map +1 -1
  360. package/dist/expressions/index-cases/dictionary-and-object-initializers-a.test.js +17 -20
  361. package/dist/expressions/index-cases/dictionary-and-object-initializers-a.test.js.map +1 -1
  362. package/dist/expressions/index-cases/dictionary-and-object-initializers-b.test.js +7 -8
  363. package/dist/expressions/index-cases/dictionary-and-object-initializers-b.test.js.map +1 -1
  364. package/dist/expressions/index-cases/helpers.d.ts +5 -4
  365. package/dist/expressions/index-cases/helpers.d.ts.map +1 -1
  366. package/dist/expressions/index-cases/helpers.js +3 -2
  367. package/dist/expressions/index-cases/helpers.js.map +1 -1
  368. package/dist/expressions/index-cases/nullable-and-comparisons.test.js +9 -9
  369. package/dist/expressions/index-cases/nullable-and-comparisons.test.js.map +1 -1
  370. package/dist/expressions/index-cases/runtime-subset-and-assertions.test.js +3 -3
  371. package/dist/expressions/index-cases/runtime-subset-and-assertions.test.js.map +1 -1
  372. package/dist/expressions/index-cases/runtime-union-reification-b.test.js +19 -13
  373. package/dist/expressions/index-cases/runtime-union-reification-b.test.js.map +1 -1
  374. package/dist/expressions/index-cases/string-and-array-fallbacks-a.test.js +4 -4
  375. package/dist/expressions/index-cases/string-and-array-fallbacks-a.test.js.map +1 -1
  376. package/dist/expressions/lambda-parameters.d.ts.map +1 -1
  377. package/dist/expressions/lambda-parameters.js +97 -12
  378. package/dist/expressions/lambda-parameters.js.map +1 -1
  379. package/dist/expressions/object-literal.d.ts.map +1 -1
  380. package/dist/expressions/object-literal.js +48 -18
  381. package/dist/expressions/object-literal.js.map +1 -1
  382. package/dist/expressions/operators/binary-dispatch.d.ts +1 -1
  383. package/dist/expressions/operators/binary-dispatch.d.ts.map +1 -1
  384. package/dist/expressions/operators/binary-dispatch.js +52 -12
  385. package/dist/expressions/operators/binary-dispatch.js.map +1 -1
  386. package/dist/expressions/operators/binary-helpers.d.ts.map +1 -1
  387. package/dist/expressions/operators/binary-helpers.js +11 -1
  388. package/dist/expressions/operators/binary-helpers.js.map +1 -1
  389. package/dist/expressions/operators/binary-special-ops.d.ts +1 -11
  390. package/dist/expressions/operators/binary-special-ops.d.ts.map +1 -1
  391. package/dist/expressions/operators/binary-special-ops.js +217 -195
  392. package/dist/expressions/operators/binary-special-ops.js.map +1 -1
  393. package/dist/expressions/operators/conditional-emitter.d.ts.map +1 -1
  394. package/dist/expressions/operators/conditional-emitter.js +89 -19
  395. package/dist/expressions/operators/conditional-emitter.js.map +1 -1
  396. package/dist/expressions/operators/logical-emitter.js +1 -1
  397. package/dist/expressions/operators/logical-emitter.js.map +1 -1
  398. package/dist/expressions/operators/unary-emitter.d.ts.map +1 -1
  399. package/dist/expressions/operators/unary-emitter.js +7 -50
  400. package/dist/expressions/operators/unary-emitter.js.map +1 -1
  401. package/dist/expressions/other.d.ts +2 -6
  402. package/dist/expressions/other.d.ts.map +1 -1
  403. package/dist/expressions/other.js +6 -13
  404. package/dist/expressions/other.js.map +1 -1
  405. package/dist/expressions/post-emission-adaptation.d.ts +1 -1
  406. package/dist/expressions/post-emission-adaptation.d.ts.map +1 -1
  407. package/dist/expressions/post-emission-adaptation.js +55 -150
  408. package/dist/expressions/post-emission-adaptation.js.map +1 -1
  409. package/dist/expressions/precedence.test.js +5 -46
  410. package/dist/expressions/precedence.test.js.map +1 -1
  411. package/dist/expressions/runtime-union-adaptation-projection.d.ts.map +1 -1
  412. package/dist/expressions/runtime-union-adaptation-projection.js +25 -4
  413. package/dist/expressions/runtime-union-adaptation-projection.js.map +1 -1
  414. package/dist/expressions/runtime-union-adaptation-upcast.d.ts.map +1 -1
  415. package/dist/expressions/runtime-union-adaptation-upcast.js +268 -31
  416. package/dist/expressions/runtime-union-adaptation-upcast.js.map +1 -1
  417. package/dist/expressions/structural-anonymous-targets.d.ts.map +1 -1
  418. package/dist/expressions/structural-anonymous-targets.js +5 -0
  419. package/dist/expressions/structural-anonymous-targets.js.map +1 -1
  420. package/dist/expressions/structural-collection-adaptation.d.ts.map +1 -1
  421. package/dist/expressions/structural-collection-adaptation.js +4 -2
  422. package/dist/expressions/structural-collection-adaptation.js.map +1 -1
  423. package/dist/expressions/structural-object-adaptation.d.ts.map +1 -1
  424. package/dist/expressions/structural-object-adaptation.js +58 -3
  425. package/dist/expressions/structural-object-adaptation.js.map +1 -1
  426. package/dist/expressions/structural-property-model.d.ts.map +1 -1
  427. package/dist/expressions/structural-property-model.js +7 -3
  428. package/dist/expressions/structural-property-model.js.map +1 -1
  429. package/dist/expressions/structural-type-shapes.d.ts.map +1 -1
  430. package/dist/expressions/structural-type-shapes.js +1 -1
  431. package/dist/expressions/structural-type-shapes.js.map +1 -1
  432. package/dist/expressions/structural-type-shapes.test.js +2 -1
  433. package/dist/expressions/structural-type-shapes.test.js.map +1 -1
  434. package/dist/expressions/type-assertion-emitters.d.ts.map +1 -1
  435. package/dist/expressions/type-assertion-emitters.js +231 -15
  436. package/dist/expressions/type-assertion-emitters.js.map +1 -1
  437. package/dist/fixture-regression-mirrors.test.js +43 -112
  438. package/dist/fixture-regression-mirrors.test.js.map +1 -1
  439. package/dist/generated-files.d.ts +0 -1
  440. package/dist/generated-files.d.ts.map +1 -1
  441. package/dist/generated-files.js +0 -229
  442. package/dist/generated-files.js.map +1 -1
  443. package/dist/generated-files.test.js +53 -1
  444. package/dist/generated-files.test.js.map +1 -1
  445. package/dist/golden-tests/runner.d.ts.map +1 -1
  446. package/dist/golden-tests/runner.js +1 -0
  447. package/dist/golden-tests/runner.js.map +1 -1
  448. package/dist/integration-cases/arrow-and-generics-a.test.js +52 -32
  449. package/dist/integration-cases/arrow-and-generics-a.test.js.map +1 -1
  450. package/dist/integration-cases/arrow-and-generics-b.test.js +17 -23
  451. package/dist/integration-cases/arrow-and-generics-b.test.js.map +1 -1
  452. package/dist/integration-cases/await-and-intrinsics.test.js +12 -10
  453. package/dist/integration-cases/await-and-intrinsics.test.js.map +1 -1
  454. package/dist/integration-cases/clr-iterable-overloads.test.js +58 -27
  455. package/dist/integration-cases/clr-iterable-overloads.test.js.map +1 -1
  456. package/dist/integration-cases/full-module-and-promises.test.js +21 -19
  457. package/dist/integration-cases/full-module-and-promises.test.js.map +1 -1
  458. package/dist/integration-cases/helpers.d.ts.map +1 -1
  459. package/dist/integration-cases/helpers.js +12 -33
  460. package/dist/integration-cases/helpers.js.map +1 -1
  461. package/dist/integration-cases/may14-downstream-contracts.test.d.ts +2 -0
  462. package/dist/integration-cases/may14-downstream-contracts.test.d.ts.map +1 -0
  463. package/dist/integration-cases/may14-downstream-contracts.test.js +522 -0
  464. package/dist/integration-cases/may14-downstream-contracts.test.js.map +1 -0
  465. package/dist/integration-cases/object-literals-and-channels.test.js +10 -4
  466. package/dist/integration-cases/object-literals-and-channels.test.js.map +1 -1
  467. package/dist/integration-cases/regression-coverage-a.test.js +36 -30
  468. package/dist/integration-cases/regression-coverage-a.test.js.map +1 -1
  469. package/dist/integration-cases/regression-coverage-b.test.js +95 -111
  470. package/dist/integration-cases/regression-coverage-b.test.js.map +1 -1
  471. package/dist/integration-cases/regression-coverage-c.test.js +499 -197
  472. package/dist/integration-cases/regression-coverage-c.test.js.map +1 -1
  473. package/dist/integration.test.d.ts +1 -0
  474. package/dist/integration.test.d.ts.map +1 -1
  475. package/dist/integration.test.js +1 -0
  476. package/dist/integration.test.js.map +1 -1
  477. package/dist/json-aot-generic.test.js +48 -200
  478. package/dist/json-aot-generic.test.js.map +1 -1
  479. package/dist/statements/block-emitters/block-and-return.d.ts +1 -1
  480. package/dist/statements/block-emitters/block-and-return.d.ts.map +1 -1
  481. package/dist/statements/block-emitters/block-and-return.js +9 -3
  482. package/dist/statements/block-emitters/block-and-return.js.map +1 -1
  483. package/dist/statements/classes/properties.d.ts.map +1 -1
  484. package/dist/statements/classes/properties.js.map +1 -1
  485. package/dist/statements/control/conditionals/architecture-invariants.test.d.ts +2 -0
  486. package/dist/statements/control/conditionals/architecture-invariants.test.d.ts.map +1 -0
  487. package/dist/statements/control/conditionals/architecture-invariants.test.js +19 -0
  488. package/dist/statements/control/conditionals/architecture-invariants.test.js.map +1 -0
  489. package/dist/statements/control/conditionals/branch-context.d.ts +4 -6
  490. package/dist/statements/control/conditionals/branch-context.d.ts.map +1 -1
  491. package/dist/statements/control/conditionals/branch-context.js +104 -31
  492. package/dist/statements/control/conditionals/branch-context.js.map +1 -1
  493. package/dist/statements/control/conditionals/guard-analysis.d.ts +2 -2
  494. package/dist/statements/control/conditionals/guard-analysis.d.ts.map +1 -1
  495. package/dist/statements/control/conditionals/guard-analysis.js +1 -1
  496. package/dist/statements/control/conditionals/guard-analysis.js.map +1 -1
  497. package/dist/statements/control/conditionals/guard-detectors-discriminant.d.ts +2 -1
  498. package/dist/statements/control/conditionals/guard-detectors-discriminant.d.ts.map +1 -1
  499. package/dist/statements/control/conditionals/guard-detectors-discriminant.js +83 -1
  500. package/dist/statements/control/conditionals/guard-detectors-discriminant.js.map +1 -1
  501. package/dist/statements/control/conditionals/guard-detectors-structural.d.ts +2 -7
  502. package/dist/statements/control/conditionals/guard-detectors-structural.d.ts.map +1 -1
  503. package/dist/statements/control/conditionals/guard-detectors-structural.js +47 -82
  504. package/dist/statements/control/conditionals/guard-detectors-structural.js.map +1 -1
  505. package/dist/statements/control/conditionals/guard-detectors.d.ts +2 -2
  506. package/dist/statements/control/conditionals/guard-detectors.d.ts.map +1 -1
  507. package/dist/statements/control/conditionals/guard-detectors.js +2 -2
  508. package/dist/statements/control/conditionals/guard-detectors.js.map +1 -1
  509. package/dist/statements/control/conditionals/guard-extraction.d.ts +5 -7
  510. package/dist/statements/control/conditionals/guard-extraction.d.ts.map +1 -1
  511. package/dist/statements/control/conditionals/guard-extraction.js +3 -158
  512. package/dist/statements/control/conditionals/guard-extraction.js.map +1 -1
  513. package/dist/statements/control/conditionals/guard-types.d.ts +16 -26
  514. package/dist/statements/control/conditionals/guard-types.d.ts.map +1 -1
  515. package/dist/statements/control/conditionals/guard-types.js +23 -1
  516. package/dist/statements/control/conditionals/guard-types.js.map +1 -1
  517. package/dist/statements/control/conditionals/if-emit-instanceof-guards.d.ts.map +1 -1
  518. package/dist/statements/control/conditionals/if-emit-instanceof-guards.js +5 -8
  519. package/dist/statements/control/conditionals/if-emit-instanceof-guards.js.map +1 -1
  520. package/dist/statements/control/conditionals/if-emit-predicate-guards.d.ts +2 -8
  521. package/dist/statements/control/conditionals/if-emit-predicate-guards.d.ts.map +1 -1
  522. package/dist/statements/control/conditionals/if-emit-predicate-guards.js +4 -84
  523. package/dist/statements/control/conditionals/if-emit-predicate-guards.js.map +1 -1
  524. package/dist/statements/control/conditionals/if-emit-property-discriminant-guards.d.ts +2 -0
  525. package/dist/statements/control/conditionals/if-emit-property-discriminant-guards.d.ts.map +1 -1
  526. package/dist/statements/control/conditionals/if-emit-property-discriminant-guards.js +87 -3
  527. package/dist/statements/control/conditionals/if-emit-property-discriminant-guards.js.map +1 -1
  528. package/dist/statements/control/conditionals/if-emit-typeof-array-guards.d.ts.map +1 -1
  529. package/dist/statements/control/conditionals/if-emit-typeof-array-guards.js +254 -20
  530. package/dist/statements/control/conditionals/if-emit-typeof-array-guards.js.map +1 -1
  531. package/dist/statements/control/conditionals/if-emit-union-guards.d.ts +2 -2
  532. package/dist/statements/control/conditionals/if-emit-union-guards.d.ts.map +1 -1
  533. package/dist/statements/control/conditionals/if-emit-union-guards.js +2 -2
  534. package/dist/statements/control/conditionals/if-emit-union-guards.js.map +1 -1
  535. package/dist/statements/control/conditionals/if-emitter.d.ts.map +1 -1
  536. package/dist/statements/control/conditionals/if-emitter.js +36 -43
  537. package/dist/statements/control/conditionals/if-emitter.js.map +1 -1
  538. package/dist/statements/control/conditionals/ir-branch-narrowings.d.ts +5 -0
  539. package/dist/statements/control/conditionals/ir-branch-narrowings.d.ts.map +1 -0
  540. package/dist/statements/control/conditionals/ir-branch-narrowings.js +16 -0
  541. package/dist/statements/control/conditionals/ir-branch-narrowings.js.map +1 -0
  542. package/dist/statements/control/loops.d.ts +2 -9
  543. package/dist/statements/control/loops.d.ts.map +1 -1
  544. package/dist/statements/control/loops.js +56 -48
  545. package/dist/statements/control/loops.js.map +1 -1
  546. package/dist/statements/declarations/classes.d.ts.map +1 -1
  547. package/dist/statements/declarations/classes.js.map +1 -1
  548. package/dist/statements/declarations/interfaces.d.ts.map +1 -1
  549. package/dist/statements/declarations/interfaces.js.map +1 -1
  550. package/dist/statements/declarations/structs.test.js +5 -4
  551. package/dist/statements/declarations/structs.test.js.map +1 -1
  552. package/dist/statements/declarations/type-aliases.js.map +1 -1
  553. package/dist/statements/declarations/variables.d.ts.map +1 -1
  554. package/dist/statements/declarations/variables.js +7 -4
  555. package/dist/statements/declarations/variables.js.map +1 -1
  556. package/dist/statements/statement-cases/flow-and-void.test.js +3 -3
  557. package/dist/statements/statement-cases/flow-and-void.test.js.map +1 -1
  558. package/dist/statements/statement-cases/helpers.d.ts +3 -2
  559. package/dist/statements/statement-cases/helpers.d.ts.map +1 -1
  560. package/dist/statements/statement-cases/helpers.js +1 -1
  561. package/dist/statements/statement-cases/helpers.js.map +1 -1
  562. package/dist/statements/statement-cases/if-and-instanceof-guards.test.js +21 -21
  563. package/dist/statements/statement-cases/if-and-instanceof-guards.test.js.map +1 -1
  564. package/dist/statements/statement-cases/union-guards-basic.test.js +3 -80
  565. package/dist/statements/statement-cases/union-guards-basic.test.js.map +1 -1
  566. package/dist/statements/statement-cases/union-guards-nullish-and-object.test.js +0 -196
  567. package/dist/statements/statement-cases/union-guards-nullish-and-object.test.js.map +1 -1
  568. package/dist/statements/statement-cases/union-guards-predicate-and-truthy.test.js +15 -15
  569. package/dist/statements/statement-cases/union-guards-predicate-and-truthy.test.js.map +1 -1
  570. package/dist/statements/statement-cases/union-guards-remapped-a.test.js +7 -189
  571. package/dist/statements/statement-cases/union-guards-remapped-a.test.js.map +1 -1
  572. package/dist/statements/statement-cases/union-guards-remapped-b.test.js +7 -193
  573. package/dist/statements/statement-cases/union-guards-remapped-b.test.js.map +1 -1
  574. package/dist/test-ir-strict.d.ts +7 -0
  575. package/dist/test-ir-strict.d.ts.map +1 -0
  576. package/dist/test-ir-strict.js +9 -0
  577. package/dist/test-ir-strict.js.map +1 -0
  578. package/dist/type-assertion.test.js +5 -4
  579. package/dist/type-assertion.test.js.map +1 -1
  580. package/dist/types/emitter.d.ts.map +1 -1
  581. package/dist/types/emitter.js +7 -1
  582. package/dist/types/emitter.js.map +1 -1
  583. package/dist/types/intersections.d.ts +2 -2
  584. package/dist/types/intersections.d.ts.map +1 -1
  585. package/dist/types/intersections.js +26 -6
  586. package/dist/types/intersections.js.map +1 -1
  587. package/dist/types/parameters.d.ts.map +1 -1
  588. package/dist/types/parameters.js +30 -5
  589. package/dist/types/parameters.js.map +1 -1
  590. package/dist/types/reference-structural-signatures.d.ts.map +1 -1
  591. package/dist/types/reference-structural-signatures.js +3 -6
  592. package/dist/types/reference-structural-signatures.js.map +1 -1
  593. package/dist/types/references-cases/array-and-cross-module.test.js +2 -4
  594. package/dist/types/references-cases/array-and-cross-module.test.js.map +1 -1
  595. package/dist/types/references-cases/bindings-and-local.test.js +2 -4
  596. package/dist/types/references-cases/bindings-and-local.test.js.map +1 -1
  597. package/dist/types/references-cases/helpers.d.ts +3 -2
  598. package/dist/types/references-cases/helpers.d.ts.map +1 -1
  599. package/dist/types/references-cases/helpers.js +2 -1
  600. package/dist/types/references-cases/helpers.js.map +1 -1
  601. package/dist/types/references.d.ts.map +1 -1
  602. package/dist/types/references.js +21 -2
  603. package/dist/types/references.js.map +1 -1
  604. package/dist/types/unions-cases/basic-and-ordering.test.js +51 -0
  605. package/dist/types/unions-cases/basic-and-ordering.test.js.map +1 -1
  606. package/dist/types/unions.d.ts.map +1 -1
  607. package/dist/types/unions.js +17 -1
  608. package/dist/types/unions.js.map +1 -1
  609. package/dist/types.d.ts +3 -1
  610. package/dist/types.d.ts.map +1 -1
  611. package/dist/types.js +2 -1
  612. package/dist/types.js.map +1 -1
  613. package/package.json +2 -2
  614. package/dist/core/semantic/js-value-types.d.ts +0 -5
  615. package/dist/core/semantic/js-value-types.d.ts.map +0 -1
  616. package/dist/core/semantic/js-value-types.js +0 -42
  617. package/dist/core/semantic/js-value-types.js.map +0 -1
  618. package/dist/core/semantic/type-resolution-cases/narrow-typeof.test.d.ts +0 -2
  619. package/dist/core/semantic/type-resolution-cases/narrow-typeof.test.d.ts.map +0 -1
  620. package/dist/core/semantic/type-resolution-cases/narrow-typeof.test.js +0 -98
  621. package/dist/core/semantic/type-resolution-cases/narrow-typeof.test.js.map +0 -1
  622. package/dist/expressions/calls/call-dynamic-import.d.ts +0 -11
  623. package/dist/expressions/calls/call-dynamic-import.d.ts.map +0 -1
  624. package/dist/expressions/calls/call-dynamic-import.js +0 -148
  625. package/dist/expressions/calls/call-dynamic-import.js.map +0 -1
@@ -49,7 +49,10 @@ describe("generated-files", () => {
49
49
  };
50
50
  getOrRegisterRuntimeUnionCarrier([identifierType("global::Test.Router"), identifierType("string")], registry, {
51
51
  ...metadata,
52
- definitionMemberTypeAsts: [identifierType("Router"), identifierType("string")],
52
+ definitionMemberTypeAsts: [
53
+ identifierType("Router"),
54
+ identifierType("string"),
55
+ ],
53
56
  accessModifier: "internal",
54
57
  });
55
58
  getOrRegisterRuntimeUnionCarrier([identifierType("global::Test.Router"), identifierType("string")], registry, {
@@ -99,5 +102,54 @@ describe("generated-files", () => {
99
102
  expect(code).to.include("public static PathSpec From1(global::Test.PathSpec[] value)");
100
103
  expect(code).to.not.include("public static PathSpec From1(object[] value)");
101
104
  });
105
+ it("upgrades recursive source-owned callable members from storage-erased object members", () => {
106
+ const registry = createRuntimeUnionRegistry();
107
+ const metadata = {
108
+ familyKey: "runtime-union:alias:Test.RuntimeValue",
109
+ name: "RuntimeValue",
110
+ namespaceName: "Test",
111
+ typeParameters: [],
112
+ accessModifier: "public",
113
+ };
114
+ const recursiveCallableMember = identifierType("global::System.Func", [
115
+ {
116
+ kind: "arrayType",
117
+ rank: 1,
118
+ elementType: identifierType("global::Test.RuntimeValue"),
119
+ },
120
+ nullableType(identifierType("global::Test.RuntimeValue")),
121
+ ]);
122
+ getOrRegisterRuntimeUnionCarrier([
123
+ identifierType("bool"),
124
+ identifierType("string"),
125
+ identifierType("object"),
126
+ identifierType("RuntimeObject"),
127
+ ], registry, {
128
+ ...metadata,
129
+ definitionMemberTypeAsts: [
130
+ identifierType("bool"),
131
+ identifierType("string"),
132
+ identifierType("object"),
133
+ identifierType("RuntimeObject"),
134
+ ],
135
+ });
136
+ getOrRegisterRuntimeUnionCarrier([
137
+ identifierType("bool"),
138
+ identifierType("string"),
139
+ recursiveCallableMember,
140
+ identifierType("RuntimeObject"),
141
+ ], registry, {
142
+ ...metadata,
143
+ definitionMemberTypeAsts: [
144
+ identifierType("bool"),
145
+ identifierType("string"),
146
+ recursiveCallableMember,
147
+ identifierType("RuntimeObject"),
148
+ ],
149
+ });
150
+ const code = generateRuntimeUnionFile(registry);
151
+ expect(code).to.include("public static RuntimeValue From3(global::System.Func<global::Test.RuntimeValue[], global::Test.RuntimeValue?> value)");
152
+ expect(code).to.not.include("public static RuntimeValue From3(object value)");
153
+ });
102
154
  });
103
155
  //# sourceMappingURL=generated-files.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"generated-files.test.js","sourceRoot":"","sources":["../src/generated-files.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generated-files.test.js","sourceRoot":"","sources":["../src/generated-files.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/golden-tests/runner.ts"],"names":[],"mappings":"AAAA;;GAEG;AAQH,OAAO,EAAmB,QAAQ,EAAE,MAAM,YAAY,CAAC;AAQvD;;;GAGG;AACH,eAAO,MAAM,WAAW,GAAI,MAAM,MAAM,KAAG,MAkB1C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,GAAU,UAAU,QAAQ,KAAG,OAAO,CAAC,IAAI,CA0KlE,CAAC"}
1
+ {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/golden-tests/runner.ts"],"names":[],"mappings":"AAAA;;GAEG;AAQH,OAAO,EAAmB,QAAQ,EAAE,MAAM,YAAY,CAAC;AAQvD;;;GAGG;AACH,eAAO,MAAM,WAAW,GAAI,MAAM,MAAM,KAAG,MAkB1C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,GAAU,UAAU,QAAQ,KAAG,OAAO,CAAC,IAAI,CA2KlE,CAAC"}
@@ -129,6 +129,7 @@ export const runScenario = async (scenario) => {
129
129
  rootNamespace,
130
130
  bindingRegistry: graphResult.value.bindingRegistry,
131
131
  surface,
132
+ surfaceCapabilities: graphResult.value.surfaceCapabilities,
132
133
  });
133
134
  if (!emitResult.ok) {
134
135
  const errors = emitResult.errors
@@ -1 +1 @@
1
- {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/golden-tests/runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/golden-tests/runner.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,9 @@ describe("End-to-End Integration", () => {
7
7
  const source = `
8
8
  export const noop: () => void = () => {};
9
9
  `;
10
- const csharp = compileToCSharp(source);
10
+ const csharp = compileToCSharp(source, "/test/test.ts", {
11
+ surface: "@tsonic/js",
12
+ });
11
13
  expect(csharp).to.match(/public\s+static\s+readonly\s+global::System\.Action\s+noop\s*=/);
12
14
  expect(csharp).not.to.match(/global::System\.Func\s*<\s*void\s*>/);
13
15
  });
@@ -23,7 +25,9 @@ describe("End-to-End Integration", () => {
23
25
  consume(() => undefined);
24
26
  }
25
27
  `;
26
- const csharp = compileToCSharp(source);
28
+ const csharp = compileToCSharp(source, "/test/test.ts", {
29
+ surface: "@tsonic/js",
30
+ });
27
31
  expect(csharp).to.match(/consume\(\(string __unused_value\)\s*=>\s*\{\s*\}\)/);
28
32
  });
29
33
  it("synthesizes ignored trailing optional delegate parameters while preserving declared lambda parameters", () => {
@@ -98,13 +102,12 @@ describe("End-to-End Integration", () => {
98
102
  requiredTypeRoots: ["."],
99
103
  }, null, 2),
100
104
  "node_modules/@fixture/js/globals.ts": [
101
- 'import type { JsValue } from "@tsonic/core/types.js";',
102
105
  "",
103
106
  "declare global {",
104
107
  " function setInterval(",
105
- " handler: (...args: JsValue[]) => void,",
108
+ " handler: (...args: unknown[]) => void,",
106
109
  " timeout?: number,",
107
- " ...args: JsValue[]",
110
+ " ...args: unknown[]",
108
111
  " ): number;",
109
112
  "}",
110
113
  "",
@@ -277,7 +280,7 @@ describe("End-to-End Integration", () => {
277
280
  });
278
281
  it("lowers rest-only contextual callbacks through a synthesized rest carrier", () => {
279
282
  const source = `
280
- type Tick = (...args: JsValue[]) => void;
283
+ type Tick = (...args: unknown[]) => void;
281
284
 
282
285
  function consume(tick: Tick): void {
283
286
  tick("ok", 1);
@@ -292,7 +295,7 @@ describe("End-to-End Integration", () => {
292
295
  });
293
296
  it("preserves fixed contextual parameters and synthesizes a rest carrier after them", () => {
294
297
  const source = `
295
- type Tick = (value: string, ...rest: JsValue[]) => void;
298
+ type Tick = (value: string, ...rest: unknown[]) => void;
296
299
 
297
300
  function consume(tick: Tick): void {
298
301
  tick("ok", 1);
@@ -323,7 +326,7 @@ describe("End-to-End Integration", () => {
323
326
  });
324
327
  it("binds explicit lambda parameters from synthesized rest carriers", () => {
325
328
  const source = `
326
- type Tick = (...args: JsValue[]) => void;
329
+ type Tick = (...args: unknown[]) => void;
327
330
 
328
331
  function consume(tick: Tick): void {
329
332
  tick("ok", 1, true);
@@ -345,7 +348,7 @@ describe("End-to-End Integration", () => {
345
348
  });
346
349
  it("lowers expression-bodied undefined callbacks for void contextual delegates without void casts", () => {
347
350
  const source = `
348
- type Tick = (...args: JsValue[]) => void;
351
+ type Tick = (...args: unknown[]) => void;
349
352
 
350
353
  function consume(tick: Tick): void {
351
354
  tick("ok");
@@ -361,7 +364,7 @@ describe("End-to-End Integration", () => {
361
364
  });
362
365
  it("emits static arrow fields with params delegates for rest parameters", () => {
363
366
  const source = `
364
- export const tick = (...args: JsValue[]): void => {
367
+ export const tick = (...args: unknown[]): void => {
365
368
  void args;
366
369
  };
367
370
 
@@ -390,17 +393,18 @@ describe("End-to-End Integration", () => {
390
393
  import type { int } from "@tsonic/core/types.js";
391
394
 
392
395
  declare function takeInt(value: int): int;
396
+ declare function takeNumber(value: number): number;
393
397
 
394
398
  export const exact = (position: int = 0 as int): int => takeInt(position);
395
- export const numeric = (minimumLength: number = 0): int => takeInt(minimumLength);
399
+ export const numeric = (minimumLength: number = 0): number => takeNumber(minimumLength);
396
400
  `;
397
401
  const csharp = compileToCSharp(source, "/test/test.ts", {
398
402
  surface: "@tsonic/js",
399
403
  });
400
404
  expect(csharp).to.include("private static int exact__Impl(int position = 0)");
401
405
  expect(csharp).to.include("return takeInt(position);");
402
- expect(csharp).to.include("private static int numeric__Impl(double minimumLength = 0)");
403
- expect(csharp).to.include("return takeInt((int)minimumLength);");
406
+ expect(csharp).to.include("private static double numeric__Impl(double minimumLength = 0)");
407
+ expect(csharp).to.include("return takeNumber(minimumLength);");
404
408
  });
405
409
  it("omits non-constant defaults from static arrow signatures and synthesizes omitted call arguments", () => {
406
410
  const source = `
@@ -412,7 +416,9 @@ describe("End-to-End Integration", () => {
412
416
  return formatLabel();
413
417
  }
414
418
  `;
415
- const csharp = compileToCSharp(source);
419
+ const csharp = compileToCSharp(source, "/test/test.ts", {
420
+ surface: "@tsonic/js",
421
+ });
416
422
  expect(csharp).to.not.match(/formatLabel__Delegate\s*\([^)]*=\s*(?:global::System\.Array\.Empty|new\s+string)/);
417
423
  expect(csharp).to.not.match(/formatLabel__Impl\s*\([^)]*=\s*(?:global::System\.Array\.Empty|new\s+string)/);
418
424
  expect(csharp).to.match(/return formatLabel\((?:global::System\.Array\.Empty<string>\(\)|new string\[\] \{ \}|new string\[0\])\);/);
@@ -423,10 +429,18 @@ describe("End-to-End Integration", () => {
423
429
  const source = `
424
430
  class TemplateValue {}
425
431
  class BoolValue extends TemplateValue {
426
- constructor(readonly value: boolean) { super(); }
432
+ value: boolean;
433
+ constructor(value: boolean) {
434
+ super();
435
+ this.value = value;
436
+ }
427
437
  }
428
438
  class StringValue extends TemplateValue {
429
- constructor(readonly value: string) { super(); }
439
+ value: string;
440
+ constructor(value: string) {
441
+ super();
442
+ this.value = value;
443
+ }
430
444
  }
431
445
 
432
446
  export function render(value: TemplateValue): string {
@@ -474,7 +488,7 @@ describe("End-to-End Integration", () => {
474
488
  class TemplateValue {}
475
489
 
476
490
  class BoolValue extends TemplateValue {
477
- readonly value: boolean;
491
+ value: boolean;
478
492
  constructor(value: boolean) {
479
493
  super();
480
494
  this.value = value;
@@ -482,7 +496,7 @@ describe("End-to-End Integration", () => {
482
496
  }
483
497
 
484
498
  class StrValue extends TemplateValue {
485
- readonly value: string;
499
+ value: string;
486
500
  constructor(value: string) {
487
501
  super();
488
502
  this.value = value;
@@ -615,14 +629,18 @@ describe("End-to-End Integration", () => {
615
629
  it("should compile generic class with methods", () => {
616
630
  const source = `
617
631
  export class Container<T> {
618
- constructor(private value: T) {}
632
+ #value: T;
633
+
634
+ constructor(value: T) {
635
+ this.#value = value;
636
+ }
619
637
 
620
638
  getValue(): T {
621
- return this.value;
639
+ return this.#value;
622
640
  }
623
641
 
624
642
  setValue(newValue: T): void {
625
- this.value = newValue;
643
+ this.#value = newValue;
626
644
  }
627
645
  }
628
646
  `;
@@ -636,20 +654,20 @@ describe("End-to-End Integration", () => {
636
654
  it("casts storage-erased nullable generic member reads back to the contextual type", () => {
637
655
  const source = `
638
656
  export class Maybe<T> {
639
- private value: T | null;
657
+ #value: T | null;
640
658
 
641
659
  constructor(value: T | null) {
642
- this.value = value;
660
+ this.#value = value;
643
661
  }
644
662
 
645
663
  getOrElse(defaultValue: T): T {
646
- return this.value !== null ? this.value : defaultValue;
664
+ return this.#value !== null ? this.#value : defaultValue;
647
665
  }
648
666
  }
649
667
  `;
650
668
  const csharp = compileToCSharp(source);
651
- expect(csharp).to.include("private object? value { get; set; }");
652
- expect(csharp).to.match(/return \(*\(global::System\.Object\)\(this\.value\)\)* != null \? \(*\(T\)this\.value\)* : defaultValue;/);
669
+ expect(csharp).to.include("private object? __private_value");
670
+ expect(csharp).to.match(/return \(*\(global::System\.Object\)\(this\.__private_value\)\)* != null \? \(*\(T\)this\.__private_value\)* : defaultValue;/);
653
671
  });
654
672
  });
655
673
  describe("Combined Features", () => {
@@ -664,23 +682,25 @@ describe("End-to-End Integration", () => {
664
682
  }
665
683
 
666
684
  export class InMemoryRepository<T extends { id: number }> {
667
- private items: T[] = [];
685
+ #items: T[] = [];
668
686
 
669
687
  add(item: T): void {
670
- this.items.push(item);
688
+ this.#items.push(item);
671
689
  }
672
690
 
673
691
  findById(id: number): T | undefined {
674
- for (let i: int = 0; i < this.items.Length; i++) {
675
- if (this.items[i].id === id) {
676
- return this.items[i];
692
+ for (let i: int = 0; i < this.#items.Length; i++) {
693
+ if (this.#items[i].id === id) {
694
+ return this.#items[i];
677
695
  }
678
696
  }
679
697
  return undefined;
680
698
  }
681
699
  }
682
700
  `;
683
- const csharp = compileToCSharp(source);
701
+ const csharp = compileToCSharp(source, "/test/test.ts", {
702
+ surface: "@tsonic/js",
703
+ });
684
704
  // Method-bearing interfaces emit as C# interfaces (required for constraints/implements)
685
705
  expect(csharp).to.match(/public\s+interface\s+Repository\s*<T>/);
686
706
  // Should emit InMemoryRepository as generic class with constraint
@@ -1 +1 @@
1
- {"version":3,"file":"arrow-and-generics-a.test.js","sourceRoot":"","sources":["../../src/integration-cases/arrow-and-generics-a.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"arrow-and-generics-a.test.js","sourceRoot":"","sources":["../../src/integration-cases/arrow-and-generics-a.test.ts"],"names":[],"mappings":"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"}
@@ -29,7 +29,7 @@ describe("End-to-End Integration", () => {
29
29
  interface PromiseLike<T> {
30
30
  then<TResult1 = T, TResult2 = never>(
31
31
  onfulfilled?: ((value: T) => TResult1 | PromiseLike<TResult1>) | undefined | null,
32
- onrejected?: ((reason: JsValue) => TResult2 | PromiseLike<TResult2>) | undefined | null
32
+ onrejected?: ((reason: unknown) => TResult2 | PromiseLike<TResult2>) | undefined | null
33
33
  ): PromiseLike<TResult1 | TResult2>;
34
34
  }
35
35
 
@@ -37,7 +37,7 @@ describe("End-to-End Integration", () => {
37
37
  constructor(
38
38
  executor: (
39
39
  resolve: (value: T | PromiseLike<T>) => void,
40
- reject: (reason: JsValue) => void
40
+ reject: (reason: unknown) => void
41
41
  ) => void
42
42
  );
43
43
  }
@@ -58,7 +58,7 @@ describe("End-to-End Integration", () => {
58
58
  interface PromiseLike<T> {
59
59
  then<TResult1 = T, TResult2 = never>(
60
60
  onfulfilled?: ((value: T) => TResult1 | PromiseLike<TResult1>) | undefined | null,
61
- onrejected?: ((reason: JsValue) => TResult2 | PromiseLike<TResult2>) | undefined | null
61
+ onrejected?: ((reason: unknown) => TResult2 | PromiseLike<TResult2>) | undefined | null
62
62
  ): PromiseLike<TResult1 | TResult2>;
63
63
  }
64
64
 
@@ -66,13 +66,13 @@ describe("End-to-End Integration", () => {
66
66
  constructor(
67
67
  executor: (
68
68
  resolve: (value: T | PromiseLike<T>) => void,
69
- reject: (reason?: JsValue) => void
69
+ reject: (reason?: unknown) => void
70
70
  ) => void
71
71
  );
72
72
  }
73
73
 
74
- export function once(): Promise<JsValue[]> {
75
- return new Promise<JsValue[]>((resolve) => {
74
+ export function once(): Promise<unknown[]> {
75
+ return new Promise<unknown[]>((resolve) => {
76
76
  resolve([]);
77
77
  });
78
78
  }
@@ -87,7 +87,7 @@ describe("End-to-End Integration", () => {
87
87
  interface PromiseLike<T> {
88
88
  then<TResult1 = T, TResult2 = never>(
89
89
  onfulfilled?: ((value: T) => TResult1 | PromiseLike<TResult1>) | undefined | null,
90
- onrejected?: ((reason: JsValue) => TResult2 | PromiseLike<TResult2>) | undefined | null
90
+ onrejected?: ((reason: unknown) => TResult2 | PromiseLike<TResult2>) | undefined | null
91
91
  ): PromiseLike<TResult1 | TResult2>;
92
92
  }
93
93
 
@@ -95,18 +95,18 @@ describe("End-to-End Integration", () => {
95
95
  constructor(
96
96
  executor: (
97
97
  resolve: (value: T | PromiseLike<T>) => void,
98
- reject: (reason?: JsValue) => void
98
+ reject: (reason?: unknown) => void
99
99
  ) => void
100
100
  );
101
101
  }
102
102
 
103
103
  declare class EventEmitter {
104
- once(eventName: string, listener: (...args: JsValue[]) => void): EventEmitter;
104
+ once(eventName: string, listener: (...args: unknown[]) => void): EventEmitter;
105
105
  }
106
106
 
107
- export function once(emitter: EventEmitter): Promise<JsValue[]> {
108
- return new Promise<JsValue[]>((resolve) => {
109
- emitter.once("done", (...args: JsValue[]) => {
107
+ export function once(emitter: EventEmitter): Promise<unknown[]> {
108
+ return new Promise<unknown[]>((resolve) => {
109
+ emitter.once("done", (...args: unknown[]) => {
110
110
  resolve(args);
111
111
  });
112
112
  });
@@ -122,7 +122,7 @@ describe("End-to-End Integration", () => {
122
122
  interface PromiseLike<T> {
123
123
  then<TResult1 = T, TResult2 = never>(
124
124
  onfulfilled?: ((value: T) => TResult1 | PromiseLike<TResult1>) | undefined | null,
125
- onrejected?: ((reason: JsValue) => TResult2 | PromiseLike<TResult2>) | undefined | null
125
+ onrejected?: ((reason: unknown) => TResult2 | PromiseLike<TResult2>) | undefined | null
126
126
  ): PromiseLike<TResult1 | TResult2>;
127
127
  }
128
128
 
@@ -130,19 +130,15 @@ describe("End-to-End Integration", () => {
130
130
  constructor(
131
131
  executor: (
132
132
  resolve: (value: T | PromiseLike<T>) => void,
133
- reject: (reason?: JsValue) => void
133
+ reject: (reason?: unknown) => void
134
134
  ) => void
135
135
  );
136
136
  }
137
137
 
138
- declare function String(value?: JsValue): string;
139
-
140
138
  export function readLine(): Promise<string> {
141
139
  return new Promise<string>((resolve) => {
142
- const lineListener = (...args: JsValue[]): void => {
143
- if (args.length > 0 && typeof args[0] === "string") {
144
- resolve(String(args[0]));
145
- }
140
+ const lineListener = (line: string): void => {
141
+ resolve(line);
146
142
  };
147
143
 
148
144
  lineListener("ok");
@@ -151,8 +147,7 @@ describe("End-to-End Integration", () => {
151
147
  `;
152
148
  const csharp = compileToCSharp(source);
153
149
  expect(csharp).to.include("Action<string> __tsonic_resolve");
154
- expect(csharp).to.include("resolve(String((object)args[0]));");
155
- expect(csharp).not.to.include("resolve(String((object)(object)args[0]));");
150
+ expect(csharp).to.include("resolve(line);");
156
151
  expect(csharp).not.to.include("resolve(global::Tsonic.Internal.Union<global::System.Threading.Tasks.Task<string>, string>");
157
152
  });
158
153
  it("lowers expression-bodied void callbacks as statements when the body is already void", () => {
@@ -210,7 +205,6 @@ describe("End-to-End Integration", () => {
210
205
  // Note: `Animal` is a TS type alias and does not become a C# type; the emitter
211
206
  // resolves non-structural aliases at use sites, so the parameter type is `Dog`.
212
207
  expect(csharp).to.match(/public\s+static\s+bool\s+isDog\s*\(\s*(?:global::Test\.)?Dog\s+animal\s*\)/);
213
- // Should not emit 'dynamic' (old broken behavior)
214
208
  expect(csharp).not.to.include("dynamic isDog");
215
209
  });
216
210
  });
@@ -1 +1 @@
1
- {"version":3,"file":"arrow-and-generics-b.test.js","sourceRoot":"","sources":["../../src/integration-cases/arrow-and-generics-b.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAC9B,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;IACtC,QAAQ,CAAC,iCAAiC,EAAE,GAAG,EAAE;QAC/C,EAAE,CAAC,6DAA6D,EAAE,GAAG,EAAE;YACrE,MAAM,MAAM,GAAG;;;;;;;;;;;;OAYd,CAAC;YAEF,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;YAEvC,iFAAiF;YACjF,8EAA8E;YAC9E,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACzE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gEAAgE,EAAE,GAAG,EAAE;YACxE,MAAM,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;OAwBd,CAAC;YAEF,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;YAEvC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC;YACxD,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CACrB,2LAA2L,CAC5L,CAAC;YACF,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0EAA0E,EAAE,GAAG,EAAE;YAClF,MAAM,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;OAsBd,CAAC;YAEF,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;YAEvC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,oCAAoC,CAAC,CAAC;YAChE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CACrB,8GAA8G,CAC/G,CAAC;YACF,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAC3B,+FAA+F,CAChG,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uFAAuF,EAAE,GAAG,EAAE;YAC/F,MAAM,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4Bd,CAAC;YAEF,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;YAEvC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,oCAAoC,CAAC,CAAC;YAChE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;YAC5C,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAC3B,kGAAkG,CACnG,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wFAAwF,EAAE,GAAG,EAAE;YAChG,MAAM,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8Bd,CAAC;YAEF,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;YAEvC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,iCAAiC,CAAC,CAAC;YAC7D,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC;YAC/D,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,2CAA2C,CAAC,CAAC;YAC3E,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAC3B,4FAA4F,CAC7F,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qFAAqF,EAAE,GAAG,EAAE;YAC7F,MAAM,MAAM,GAAG;;;;;;;OAOd,CAAC;YAEF,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;YAEvC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;YAC1C,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;YACzD,MAAM,MAAM,GAAG;;;;;;;;;;;;;;;OAed,CAAC;YAEF,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;YAEvC,0CAA0C;YAC1C,qFAAqF;YACrF,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;QACxC,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;YACxD,MAAM,MAAM,GAAG;;;;;;;;;;;OAWd,CAAC;YAEF,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;YAEvC,kEAAkE;YAClE,+EAA+E;YAC/E,gFAAgF;YAChF,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CACrB,4EAA4E,CAC7E,CAAC;YACF,kDAAkD;YAClD,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"arrow-and-generics-b.test.js","sourceRoot":"","sources":["../../src/integration-cases/arrow-and-generics-b.test.ts"],"names":[],"mappings":"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"}