@tsonic/frontend 0.0.62 → 0.0.63

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 (377) 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 +30 -0
  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/builder.test.js +223 -0
  50. package/dist/ir/builder.test.js.map +1 -1
  51. package/dist/ir/converters/anonymous-synthesis.d.ts +3 -3
  52. package/dist/ir/converters/anonymous-synthesis.d.ts.map +1 -1
  53. package/dist/ir/converters/anonymous-synthesis.js +45 -8
  54. package/dist/ir/converters/anonymous-synthesis.js.map +1 -1
  55. package/dist/ir/converters/expressions/access/access-converter.d.ts +14 -0
  56. package/dist/ir/converters/expressions/access/access-converter.d.ts.map +1 -0
  57. package/dist/ir/converters/expressions/access/access-converter.js +141 -0
  58. package/dist/ir/converters/expressions/access/access-converter.js.map +1 -0
  59. package/dist/ir/converters/expressions/access/binding-resolution.d.ts +35 -0
  60. package/dist/ir/converters/expressions/access/binding-resolution.d.ts.map +1 -0
  61. package/dist/ir/converters/expressions/access/binding-resolution.js +384 -0
  62. package/dist/ir/converters/expressions/access/binding-resolution.js.map +1 -0
  63. package/dist/ir/converters/expressions/access/member-resolution.d.ts +67 -0
  64. package/dist/ir/converters/expressions/access/member-resolution.d.ts.map +1 -0
  65. package/dist/ir/converters/expressions/access/member-resolution.js +262 -0
  66. package/dist/ir/converters/expressions/access/member-resolution.js.map +1 -0
  67. package/dist/ir/converters/expressions/access.d.ts +1 -7
  68. package/dist/ir/converters/expressions/access.d.ts.map +1 -1
  69. package/dist/ir/converters/expressions/access.js +1 -720
  70. package/dist/ir/converters/expressions/access.js.map +1 -1
  71. package/dist/ir/converters/expressions/calls/call-converter.d.ts +23 -0
  72. package/dist/ir/converters/expressions/calls/call-converter.d.ts.map +1 -0
  73. package/dist/ir/converters/expressions/calls/call-converter.js +526 -0
  74. package/dist/ir/converters/expressions/calls/call-converter.js.map +1 -0
  75. package/dist/ir/converters/expressions/calls/call-site-analysis.d.ts +53 -0
  76. package/dist/ir/converters/expressions/calls/call-site-analysis.d.ts.map +1 -0
  77. package/dist/ir/converters/expressions/calls/call-site-analysis.js +554 -0
  78. package/dist/ir/converters/expressions/calls/call-site-analysis.js.map +1 -0
  79. package/dist/ir/converters/expressions/calls/new-converter.d.ts +21 -0
  80. package/dist/ir/converters/expressions/calls/new-converter.d.ts.map +1 -0
  81. package/dist/ir/converters/expressions/calls/new-converter.js +182 -0
  82. package/dist/ir/converters/expressions/calls/new-converter.js.map +1 -0
  83. package/dist/ir/converters/expressions/calls.d.ts +2 -28
  84. package/dist/ir/converters/expressions/calls.d.ts.map +1 -1
  85. package/dist/ir/converters/expressions/calls.js +2 -1344
  86. package/dist/ir/converters/expressions/calls.js.map +1 -1
  87. package/dist/ir/converters/expressions/collections.d.ts.map +1 -1
  88. package/dist/ir/converters/expressions/collections.js +37 -6
  89. package/dist/ir/converters/expressions/collections.js.map +1 -1
  90. package/dist/ir/converters/expressions/functions.js +1 -1
  91. package/dist/ir/converters/expressions/functions.js.map +1 -1
  92. package/dist/ir/converters/expressions/helpers.d.ts.map +1 -1
  93. package/dist/ir/converters/expressions/helpers.js +1 -0
  94. package/dist/ir/converters/expressions/helpers.js.map +1 -1
  95. package/dist/ir/converters/expressions/other.d.ts.map +1 -1
  96. package/dist/ir/converters/expressions/other.js +3 -2
  97. package/dist/ir/converters/expressions/other.js.map +1 -1
  98. package/dist/ir/converters/flow-narrowing.d.ts.map +1 -1
  99. package/dist/ir/converters/flow-narrowing.js +3 -2
  100. package/dist/ir/converters/flow-narrowing.js.map +1 -1
  101. package/dist/ir/converters/statements/declarations/classes/methods.js +1 -1
  102. package/dist/ir/converters/statements/declarations/classes/methods.js.map +1 -1
  103. package/dist/ir/converters/statements/declarations/type-aliases.js +1 -1
  104. package/dist/ir/converters/statements/declarations/type-aliases.js.map +1 -1
  105. package/dist/ir/converters/statements/declarations/variables.d.ts +2 -2
  106. package/dist/ir/converters/statements/declarations/variables.d.ts.map +1 -1
  107. package/dist/ir/converters/statements/declarations/variables.js +289 -2
  108. package/dist/ir/converters/statements/declarations/variables.js.map +1 -1
  109. package/dist/ir/expression-converter.d.ts +0 -1
  110. package/dist/ir/expression-converter.d.ts.map +1 -1
  111. package/dist/ir/expression-converter.js +0 -2
  112. package/dist/ir/expression-converter.js.map +1 -1
  113. package/dist/ir/generic-function-value-lowering.test.d.ts +2 -0
  114. package/dist/ir/generic-function-value-lowering.test.d.ts.map +1 -0
  115. package/dist/ir/generic-function-value-lowering.test.js +312 -0
  116. package/dist/ir/generic-function-value-lowering.test.js.map +1 -0
  117. package/dist/ir/generic-validator.d.ts +3 -4
  118. package/dist/ir/generic-validator.d.ts.map +1 -1
  119. package/dist/ir/generic-validator.js +3 -35
  120. package/dist/ir/generic-validator.js.map +1 -1
  121. package/dist/ir/program-context.d.ts +7 -0
  122. package/dist/ir/program-context.d.ts.map +1 -1
  123. package/dist/ir/program-context.js +1 -0
  124. package/dist/ir/program-context.js.map +1 -1
  125. package/dist/ir/statement-converter.d.ts +0 -2
  126. package/dist/ir/statement-converter.d.ts.map +1 -1
  127. package/dist/ir/statement-converter.js +0 -3
  128. package/dist/ir/statement-converter.js.map +1 -1
  129. package/dist/ir/type-system/internal/handle-types.d.ts +16 -16
  130. package/dist/ir/type-system/internal/handle-types.d.ts.map +1 -1
  131. package/dist/ir/type-system/internal/nominal-env.d.ts +0 -2
  132. package/dist/ir/type-system/internal/nominal-env.d.ts.map +1 -1
  133. package/dist/ir/type-system/internal/nominal-env.js +2 -6
  134. package/dist/ir/type-system/internal/nominal-env.js.map +1 -1
  135. package/dist/ir/type-system/internal/type-converter/converter.d.ts +3 -1
  136. package/dist/ir/type-system/internal/type-converter/converter.d.ts.map +1 -1
  137. package/dist/ir/type-system/internal/type-converter/converter.js +3 -1
  138. package/dist/ir/type-system/internal/type-converter/converter.js.map +1 -1
  139. package/dist/ir/type-system/internal/type-converter/objects.js +7 -1
  140. package/dist/ir/type-system/internal/type-converter/objects.js.map +1 -1
  141. package/dist/ir/type-system/internal/type-converter/orchestrator.d.ts +0 -2
  142. package/dist/ir/type-system/internal/type-converter/orchestrator.d.ts.map +1 -1
  143. package/dist/ir/type-system/internal/type-converter/orchestrator.js +315 -23
  144. package/dist/ir/type-system/internal/type-converter/orchestrator.js.map +1 -1
  145. package/dist/ir/type-system/internal/type-converter/orchestrator.test.d.ts +2 -0
  146. package/dist/ir/type-system/internal/type-converter/orchestrator.test.d.ts.map +1 -0
  147. package/dist/ir/type-system/internal/type-converter/orchestrator.test.js +265 -0
  148. package/dist/ir/type-system/internal/type-converter/orchestrator.test.js.map +1 -0
  149. package/dist/ir/type-system/internal/type-converter/primitives.d.ts.map +1 -1
  150. package/dist/ir/type-system/internal/type-converter/primitives.js +5 -0
  151. package/dist/ir/type-system/internal/type-converter/primitives.js.map +1 -1
  152. package/dist/ir/type-system/internal/type-converter/references.d.ts.map +1 -1
  153. package/dist/ir/type-system/internal/type-converter/references.js +67 -29
  154. package/dist/ir/type-system/internal/type-converter/references.js.map +1 -1
  155. package/dist/ir/type-system/internal/type-converter/utility-types.d.ts.map +1 -1
  156. package/dist/ir/type-system/internal/type-converter/utility-types.js +145 -0
  157. package/dist/ir/type-system/internal/type-converter/utility-types.js.map +1 -1
  158. package/dist/ir/type-system/internal/type-converter/utility-types.test.js +91 -1
  159. package/dist/ir/type-system/internal/type-converter/utility-types.test.js.map +1 -1
  160. package/dist/ir/type-system/internal/type-registry.d.ts +1 -1
  161. package/dist/ir/type-system/internal/type-registry.js +7 -7
  162. package/dist/ir/type-system/internal/type-registry.js.map +1 -1
  163. package/dist/ir/type-system/internal/universe/alias-table.d.ts +0 -14
  164. package/dist/ir/type-system/internal/universe/alias-table.d.ts.map +1 -1
  165. package/dist/ir/type-system/internal/universe/alias-table.js +0 -17
  166. package/dist/ir/type-system/internal/universe/alias-table.js.map +1 -1
  167. package/dist/ir/type-system/internal/universe/clr-catalog.d.ts +3 -0
  168. package/dist/ir/type-system/internal/universe/clr-catalog.d.ts.map +1 -1
  169. package/dist/ir/type-system/internal/universe/clr-catalog.js +4 -1044
  170. package/dist/ir/type-system/internal/universe/clr-catalog.js.map +1 -1
  171. package/dist/ir/type-system/internal/universe/clr-entry-converter.d.ts +51 -0
  172. package/dist/ir/type-system/internal/universe/clr-entry-converter.d.ts.map +1 -0
  173. package/dist/ir/type-system/internal/universe/clr-entry-converter.js +657 -0
  174. package/dist/ir/type-system/internal/universe/clr-entry-converter.js.map +1 -0
  175. package/dist/ir/type-system/internal/universe/clr-type-parser.d.ts +52 -0
  176. package/dist/ir/type-system/internal/universe/clr-type-parser.d.ts.map +1 -0
  177. package/dist/ir/type-system/internal/universe/clr-type-parser.js +415 -0
  178. package/dist/ir/type-system/internal/universe/clr-type-parser.js.map +1 -0
  179. package/dist/ir/type-system/internal/universe/index.d.ts +1 -1
  180. package/dist/ir/type-system/internal/universe/index.d.ts.map +1 -1
  181. package/dist/ir/type-system/internal/universe/index.js +1 -3
  182. package/dist/ir/type-system/internal/universe/index.js.map +1 -1
  183. package/dist/ir/type-system/internal/universe/unified-universe.test.js +2 -0
  184. package/dist/ir/type-system/internal/universe/unified-universe.test.js.map +1 -1
  185. package/dist/ir/type-system/type-system-call-resolution.d.ts +69 -0
  186. package/dist/ir/type-system/type-system-call-resolution.d.ts.map +1 -0
  187. package/dist/ir/type-system/type-system-call-resolution.js +1121 -0
  188. package/dist/ir/type-system/type-system-call-resolution.js.map +1 -0
  189. package/dist/ir/type-system/type-system-inference.d.ts +98 -0
  190. package/dist/ir/type-system/type-system-inference.d.ts.map +1 -0
  191. package/dist/ir/type-system/type-system-inference.js +1083 -0
  192. package/dist/ir/type-system/type-system-inference.js.map +1 -0
  193. package/dist/ir/type-system/type-system-relations.d.ts +15 -0
  194. package/dist/ir/type-system/type-system-relations.d.ts.map +1 -0
  195. package/dist/ir/type-system/type-system-relations.js +152 -0
  196. package/dist/ir/type-system/type-system-relations.js.map +1 -0
  197. package/dist/ir/type-system/type-system-state.d.ts +436 -0
  198. package/dist/ir/type-system/type-system-state.d.ts.map +1 -0
  199. package/dist/ir/type-system/type-system-state.js +212 -0
  200. package/dist/ir/type-system/type-system-state.js.map +1 -0
  201. package/dist/ir/type-system/type-system-utilities.d.ts +56 -0
  202. package/dist/ir/type-system/type-system-utilities.d.ts.map +1 -0
  203. package/dist/ir/type-system/type-system-utilities.js +373 -0
  204. package/dist/ir/type-system/type-system-utilities.js.map +1 -0
  205. package/dist/ir/type-system/type-system.d.ts +17 -358
  206. package/dist/ir/type-system/type-system.d.ts.map +1 -1
  207. package/dist/ir/type-system/type-system.js +67 -2945
  208. package/dist/ir/type-system/type-system.js.map +1 -1
  209. package/dist/ir/types/index.d.ts +1 -0
  210. package/dist/ir/types/index.d.ts.map +1 -1
  211. package/dist/ir/types/index.js +1 -0
  212. package/dist/ir/types/index.js.map +1 -1
  213. package/dist/ir/types/ir-substitution.js +1 -1
  214. package/dist/ir/types/ir-substitution.js.map +1 -1
  215. package/dist/ir/types/statements.d.ts +1 -1
  216. package/dist/ir/types/type-ops.d.ts +9 -0
  217. package/dist/ir/types/type-ops.d.ts.map +1 -0
  218. package/dist/ir/types/type-ops.js +134 -0
  219. package/dist/ir/types/type-ops.js.map +1 -0
  220. package/dist/ir/types/type-ops.test.d.ts +2 -0
  221. package/dist/ir/types/type-ops.test.d.ts.map +1 -0
  222. package/dist/ir/types/type-ops.test.js +73 -0
  223. package/dist/ir/types/type-ops.test.js.map +1 -0
  224. package/dist/ir/validation/attribute-collection/arg-extractor.d.ts +58 -0
  225. package/dist/ir/validation/attribute-collection/arg-extractor.d.ts.map +1 -0
  226. package/dist/ir/validation/attribute-collection/arg-extractor.js +284 -0
  227. package/dist/ir/validation/attribute-collection/arg-extractor.js.map +1 -0
  228. package/dist/ir/validation/attribute-collection/marker-parser.d.ts +28 -0
  229. package/dist/ir/validation/attribute-collection/marker-parser.d.ts.map +1 -0
  230. package/dist/ir/validation/attribute-collection/marker-parser.js +404 -0
  231. package/dist/ir/validation/attribute-collection/marker-parser.js.map +1 -0
  232. package/dist/ir/validation/attribute-collection/orchestrator.d.ts +28 -0
  233. package/dist/ir/validation/attribute-collection/orchestrator.d.ts.map +1 -0
  234. package/dist/ir/validation/attribute-collection/orchestrator.js +332 -0
  235. package/dist/ir/validation/attribute-collection/orchestrator.js.map +1 -0
  236. package/dist/ir/validation/attribute-collection-pass.d.ts +1 -23
  237. package/dist/ir/validation/attribute-collection-pass.d.ts.map +1 -1
  238. package/dist/ir/validation/attribute-collection-pass.js +1 -961
  239. package/dist/ir/validation/attribute-collection-pass.js.map +1 -1
  240. package/dist/ir/validation/attribute-collection-pass.test.js +12 -6
  241. package/dist/ir/validation/attribute-collection-pass.test.js.map +1 -1
  242. package/dist/ir/validation/soundness-gate.d.ts.map +1 -1
  243. package/dist/ir/validation/soundness-gate.js +2 -1
  244. package/dist/ir/validation/soundness-gate.js.map +1 -1
  245. package/dist/ir/validation/soundness-gate.test.js +69 -0
  246. package/dist/ir/validation/soundness-gate.test.js.map +1 -1
  247. package/dist/ir/validation/yield-lowering-pass.d.ts +11 -5
  248. package/dist/ir/validation/yield-lowering-pass.d.ts.map +1 -1
  249. package/dist/ir/validation/yield-lowering-pass.js +942 -48
  250. package/dist/ir/validation/yield-lowering-pass.js.map +1 -1
  251. package/dist/ir/validation/yield-lowering-pass.test.js +1333 -127
  252. package/dist/ir/validation/yield-lowering-pass.test.js.map +1 -1
  253. package/dist/program/binding-loader.d.ts +37 -0
  254. package/dist/program/binding-loader.d.ts.map +1 -0
  255. package/dist/program/binding-loader.js +155 -0
  256. package/dist/program/binding-loader.js.map +1 -0
  257. package/dist/program/binding-registry.d.ts +106 -0
  258. package/dist/program/binding-registry.d.ts.map +1 -0
  259. package/dist/program/binding-registry.js +590 -0
  260. package/dist/program/binding-registry.js.map +1 -0
  261. package/dist/program/binding-types.d.ts +166 -0
  262. package/dist/program/binding-types.d.ts.map +1 -0
  263. package/dist/program/binding-types.js +57 -0
  264. package/dist/program/binding-types.js.map +1 -0
  265. package/dist/program/bindings.d.ts +6 -271
  266. package/dist/program/bindings.d.ts.map +1 -1
  267. package/dist/program/bindings.js +7 -781
  268. package/dist/program/bindings.js.map +1 -1
  269. package/dist/resolver/clr-bindings-resolver.d.ts +0 -1
  270. package/dist/resolver/clr-bindings-resolver.d.ts.map +1 -1
  271. package/dist/resolver/clr-bindings-resolver.js +22 -32
  272. package/dist/resolver/clr-bindings-resolver.js.map +1 -1
  273. package/dist/resolver/clr-bindings-resolver.test.js +0 -27
  274. package/dist/resolver/clr-bindings-resolver.test.js.map +1 -1
  275. package/dist/resolver/import-resolution.d.ts +1 -1
  276. package/dist/resolver/import-resolution.d.ts.map +1 -1
  277. package/dist/resolver/import-resolution.js +2 -7
  278. package/dist/resolver/import-resolution.js.map +1 -1
  279. package/dist/resolver/naming.d.ts.map +1 -1
  280. package/dist/resolver/naming.js +1 -0
  281. package/dist/resolver/naming.js.map +1 -1
  282. package/dist/types/diagnostic.d.ts +1 -1
  283. package/dist/types/diagnostic.d.ts.map +1 -1
  284. package/dist/types/diagnostic.js.map +1 -1
  285. package/dist/validation/features.d.ts.map +1 -1
  286. package/dist/validation/features.js +38 -13
  287. package/dist/validation/features.js.map +1 -1
  288. package/dist/validation/features.test.d.ts +2 -0
  289. package/dist/validation/features.test.d.ts.map +1 -0
  290. package/dist/validation/features.test.js +273 -0
  291. package/dist/validation/features.test.js.map +1 -0
  292. package/dist/validation/generics.d.ts +1 -1
  293. package/dist/validation/generics.d.ts.map +1 -1
  294. package/dist/validation/generics.js +2 -26
  295. package/dist/validation/generics.js.map +1 -1
  296. package/dist/validation/imports.d.ts.map +1 -1
  297. package/dist/validation/imports.js +2 -1
  298. package/dist/validation/imports.js.map +1 -1
  299. package/dist/validation/imports.test.d.ts +2 -0
  300. package/dist/validation/imports.test.d.ts.map +1 -0
  301. package/dist/validation/imports.test.js +112 -0
  302. package/dist/validation/imports.test.js.map +1 -0
  303. package/dist/validation/static-safety.d.ts +6 -6
  304. package/dist/validation/static-safety.d.ts.map +1 -1
  305. package/dist/validation/static-safety.js +163 -109
  306. package/dist/validation/static-safety.js.map +1 -1
  307. package/dist/validation/unsupported-utility-types.d.ts +3 -3
  308. package/dist/validation/unsupported-utility-types.d.ts.map +1 -1
  309. package/dist/validation/unsupported-utility-types.js +4 -7
  310. package/dist/validation/unsupported-utility-types.js.map +1 -1
  311. package/dist/validator.maximus.test.d.ts +2 -0
  312. package/dist/validator.maximus.test.d.ts.map +1 -0
  313. package/dist/validator.maximus.test.js +1214 -0
  314. package/dist/validator.maximus.test.js.map +1 -0
  315. package/dist/validator.test.js +152 -18
  316. package/dist/validator.test.js.map +1 -1
  317. package/package.json +1 -1
  318. package/dist/ir/converters/statements/declarations/registry.d.ts +0 -96
  319. package/dist/ir/converters/statements/declarations/registry.d.ts.map +0 -1
  320. package/dist/ir/converters/statements/declarations/registry.js +0 -130
  321. package/dist/ir/converters/statements/declarations/registry.js.map +0 -1
  322. package/dist/ir/this-parameter-inference.test.d.ts +0 -13
  323. package/dist/ir/this-parameter-inference.test.d.ts.map +0 -1
  324. package/dist/ir/this-parameter-inference.test.js +0 -165
  325. package/dist/ir/this-parameter-inference.test.js.map +0 -1
  326. package/dist/metadata/bindings-loader.d.ts +0 -41
  327. package/dist/metadata/bindings-loader.d.ts.map +0 -1
  328. package/dist/metadata/bindings-loader.js +0 -308
  329. package/dist/metadata/bindings-loader.js.map +0 -1
  330. package/dist/metadata/bindings-loader.test.d.ts +0 -5
  331. package/dist/metadata/bindings-loader.test.d.ts.map +0 -1
  332. package/dist/metadata/bindings-loader.test.js +0 -117
  333. package/dist/metadata/bindings-loader.test.js.map +0 -1
  334. package/dist/metadata/index.d.ts +0 -8
  335. package/dist/metadata/index.d.ts.map +0 -1
  336. package/dist/metadata/index.js +0 -7
  337. package/dist/metadata/index.js.map +0 -1
  338. package/dist/metadata/library-loader.d.ts +0 -42
  339. package/dist/metadata/library-loader.d.ts.map +0 -1
  340. package/dist/metadata/library-loader.js +0 -126
  341. package/dist/metadata/library-loader.js.map +0 -1
  342. package/dist/metadata/loader.d.ts +0 -26
  343. package/dist/metadata/loader.d.ts.map +0 -1
  344. package/dist/metadata/loader.js +0 -333
  345. package/dist/metadata/loader.js.map +0 -1
  346. package/dist/metadata/loader.test.d.ts +0 -5
  347. package/dist/metadata/loader.test.d.ts.map +0 -1
  348. package/dist/metadata/loader.test.js +0 -119
  349. package/dist/metadata/loader.test.js.map +0 -1
  350. package/dist/resolver/naming-policy.d.ts +0 -20
  351. package/dist/resolver/naming-policy.d.ts.map +0 -1
  352. package/dist/resolver/naming-policy.js +0 -40
  353. package/dist/resolver/naming-policy.js.map +0 -1
  354. package/dist/types/bindings.d.ts +0 -153
  355. package/dist/types/bindings.d.ts.map +0 -1
  356. package/dist/types/bindings.js +0 -14
  357. package/dist/types/bindings.js.map +0 -1
  358. package/dist/types/metadata.d.ts +0 -196
  359. package/dist/types/metadata.d.ts.map +0 -1
  360. package/dist/types/metadata.js +0 -10
  361. package/dist/types/metadata.js.map +0 -1
  362. package/dist/types/nested-types.d.ts +0 -111
  363. package/dist/types/nested-types.d.ts.map +0 -1
  364. package/dist/types/nested-types.js +0 -176
  365. package/dist/types/nested-types.js.map +0 -1
  366. package/dist/types/nested-types.test.d.ts +0 -5
  367. package/dist/types/nested-types.test.d.ts.map +0 -1
  368. package/dist/types/nested-types.test.js +0 -135
  369. package/dist/types/nested-types.test.js.map +0 -1
  370. package/dist/types/ref-parameters.d.ts +0 -123
  371. package/dist/types/ref-parameters.d.ts.map +0 -1
  372. package/dist/types/ref-parameters.js +0 -203
  373. package/dist/types/ref-parameters.js.map +0 -1
  374. package/dist/types/ref-parameters.test.d.ts +0 -5
  375. package/dist/types/ref-parameters.test.d.ts.map +0 -1
  376. package/dist/types/ref-parameters.test.js +0 -147
  377. package/dist/types/ref-parameters.test.js.map +0 -1
@@ -1,333 +0,0 @@
1
- /**
2
- * Metadata JSON loader - Reads and validates .metadata.json files from tsbindgen.
3
- *
4
- * This module provides pure functions to load CLR metadata files and validate
5
- * their structure against the expected schema.
6
- *
7
- * @see spec/metadata.md for complete schema documentation
8
- */
9
- import * as fs from "fs";
10
- import * as path from "path";
11
- /**
12
- * Load and parse a metadata.json file.
13
- *
14
- * @param filePath - Absolute path to the .metadata.json file
15
- * @returns Result containing parsed metadata or diagnostics
16
- */
17
- export const loadMetadataFile = (filePath) => {
18
- // Check file exists
19
- if (!fs.existsSync(filePath)) {
20
- return {
21
- ok: false,
22
- error: [
23
- {
24
- code: "TSN9001",
25
- message: `Metadata file not found: ${filePath}`,
26
- severity: "error",
27
- location: undefined,
28
- },
29
- ],
30
- };
31
- }
32
- // Read file contents
33
- let content;
34
- try {
35
- content = fs.readFileSync(filePath, "utf-8");
36
- }
37
- catch (error) {
38
- return {
39
- ok: false,
40
- error: [
41
- {
42
- code: "TSN9002",
43
- message: `Failed to read metadata file: ${error}`,
44
- severity: "error",
45
- location: undefined,
46
- },
47
- ],
48
- };
49
- }
50
- // Parse JSON
51
- let parsed;
52
- try {
53
- parsed = JSON.parse(content);
54
- }
55
- catch (error) {
56
- return {
57
- ok: false,
58
- error: [
59
- {
60
- code: "TSN9003",
61
- message: `Invalid JSON in metadata file: ${error}`,
62
- severity: "error",
63
- location: undefined,
64
- },
65
- ],
66
- };
67
- }
68
- // Validate structure
69
- const validation = validateMetadataFile(parsed, filePath);
70
- if (!validation.ok) {
71
- return validation;
72
- }
73
- return { ok: true, value: validation.value };
74
- };
75
- /**
76
- * Validate that parsed JSON matches MetadataFile schema.
77
- *
78
- * @param data - Parsed JSON data
79
- * @param filePath - File path for error messages
80
- * @returns Result containing validated metadata or diagnostics
81
- */
82
- const validateMetadataFile = (data, filePath) => {
83
- const diagnostics = [];
84
- if (typeof data !== "object" || data === null) {
85
- return {
86
- ok: false,
87
- error: [
88
- {
89
- code: "TSN9004",
90
- message: `Metadata file must be an object, got ${typeof data}`,
91
- severity: "error",
92
- location: undefined,
93
- },
94
- ],
95
- };
96
- }
97
- const obj = data;
98
- // Validate namespace
99
- if (typeof obj.namespace !== "string") {
100
- diagnostics.push({
101
- code: "TSN9005",
102
- message: `Missing or invalid 'namespace' field in ${path.basename(filePath)}`,
103
- severity: "error",
104
- location: undefined,
105
- });
106
- }
107
- // Validate contributingAssemblies
108
- if (!Array.isArray(obj.contributingAssemblies)) {
109
- diagnostics.push({
110
- code: "TSN9006",
111
- message: `Missing or invalid 'contributingAssemblies' field in ${path.basename(filePath)}`,
112
- severity: "error",
113
- location: undefined,
114
- });
115
- }
116
- else if (!obj.contributingAssemblies.every((item) => typeof item === "string")) {
117
- diagnostics.push({
118
- code: "TSN9007",
119
- message: `All 'contributingAssemblies' must be strings in ${path.basename(filePath)}`,
120
- severity: "error",
121
- location: undefined,
122
- });
123
- }
124
- // Validate types array
125
- if (!Array.isArray(obj.types)) {
126
- diagnostics.push({
127
- code: "TSN9008",
128
- message: `Missing or invalid 'types' field in ${path.basename(filePath)}`,
129
- severity: "error",
130
- location: undefined,
131
- });
132
- }
133
- else {
134
- // Validate each type
135
- for (let i = 0; i < obj.types.length; i++) {
136
- const typeValidation = validateTypeMetadata(obj.types[i], filePath, i);
137
- if (!typeValidation.ok) {
138
- diagnostics.push(...typeValidation.error);
139
- }
140
- }
141
- }
142
- if (diagnostics.length > 0) {
143
- return { ok: false, error: diagnostics };
144
- }
145
- return { ok: true, value: obj };
146
- };
147
- /**
148
- * Validate a single TypeMetadata object.
149
- *
150
- * @param data - Type metadata to validate
151
- * @param filePath - File path for error messages
152
- * @param index - Type index in array
153
- * @returns Result indicating validation success or errors
154
- */
155
- const validateTypeMetadata = (data, filePath, index) => {
156
- const diagnostics = [];
157
- const context = `type ${index} in ${path.basename(filePath)}`;
158
- if (typeof data !== "object" || data === null) {
159
- return {
160
- ok: false,
161
- error: [
162
- {
163
- code: "TSN9009",
164
- message: `Invalid ${context}: must be an object`,
165
- severity: "error",
166
- location: undefined,
167
- },
168
- ],
169
- };
170
- }
171
- const type = data;
172
- // Validate required string fields
173
- const requiredStringFields = ["clrName", "tsEmitName"];
174
- for (const field of requiredStringFields) {
175
- if (typeof type[field] !== "string") {
176
- diagnostics.push({
177
- code: "TSN9010",
178
- message: `Invalid ${context}: missing or invalid '${field}'`,
179
- severity: "error",
180
- location: undefined,
181
- });
182
- }
183
- }
184
- // Validate kind
185
- const validKinds = [
186
- "Class",
187
- "Interface",
188
- "Struct",
189
- "Enum",
190
- "Delegate",
191
- ];
192
- if (!validKinds.includes(type.kind)) {
193
- diagnostics.push({
194
- code: "TSN9011",
195
- message: `Invalid ${context}: 'kind' must be one of ${validKinds.join(", ")}`,
196
- severity: "error",
197
- location: undefined,
198
- });
199
- }
200
- // Validate accessibility
201
- const validAccessibility = [
202
- "Public",
203
- "Internal",
204
- "Protected",
205
- "ProtectedInternal",
206
- "PrivateProtected",
207
- "Private",
208
- ];
209
- if (!validAccessibility.includes(type.accessibility)) {
210
- diagnostics.push({
211
- code: "TSN9012",
212
- message: `Invalid ${context}: 'accessibility' must be one of ${validAccessibility.join(", ")}`,
213
- severity: "error",
214
- location: undefined,
215
- });
216
- }
217
- // Validate required boolean fields
218
- const requiredBooleanFields = ["isAbstract", "isSealed", "isStatic"];
219
- for (const field of requiredBooleanFields) {
220
- if (typeof type[field] !== "boolean") {
221
- diagnostics.push({
222
- code: "TSN9013",
223
- message: `Invalid ${context}: '${field}' must be a boolean`,
224
- severity: "error",
225
- location: undefined,
226
- });
227
- }
228
- }
229
- // Validate arity
230
- if (typeof type.arity !== "number" || type.arity < 0) {
231
- diagnostics.push({
232
- code: "TSN9014",
233
- message: `Invalid ${context}: 'arity' must be a non-negative number`,
234
- severity: "error",
235
- location: undefined,
236
- });
237
- }
238
- // Validate required array fields
239
- const requiredArrayFields = [
240
- "methods",
241
- "properties",
242
- "fields",
243
- "events",
244
- "constructors",
245
- ];
246
- for (const field of requiredArrayFields) {
247
- if (!Array.isArray(type[field])) {
248
- diagnostics.push({
249
- code: "TSN9015",
250
- message: `Invalid ${context}: '${field}' must be an array`,
251
- severity: "error",
252
- location: undefined,
253
- });
254
- }
255
- }
256
- // Note: We're doing basic structural validation here
257
- // More detailed validation of nested objects (methods, properties, etc.)
258
- // can be added in future iterations if needed
259
- if (diagnostics.length > 0) {
260
- return { ok: false, error: diagnostics };
261
- }
262
- return { ok: true, value: type };
263
- };
264
- /**
265
- * Load metadata from a directory containing .metadata.json files.
266
- *
267
- * @param directoryPath - Path to directory containing metadata files
268
- * @returns Result containing array of loaded metadata files or diagnostics
269
- */
270
- export const loadMetadataDirectory = (directoryPath) => {
271
- if (!fs.existsSync(directoryPath)) {
272
- return {
273
- ok: false,
274
- error: [
275
- {
276
- code: "TSN9016",
277
- message: `Metadata directory not found: ${directoryPath}`,
278
- severity: "error",
279
- location: undefined,
280
- },
281
- ],
282
- };
283
- }
284
- const stats = fs.statSync(directoryPath);
285
- if (!stats.isDirectory()) {
286
- return {
287
- ok: false,
288
- error: [
289
- {
290
- code: "TSN9017",
291
- message: `Not a directory: ${directoryPath}`,
292
- severity: "error",
293
- location: undefined,
294
- },
295
- ],
296
- };
297
- }
298
- // Find all .metadata.json files
299
- const files = fs
300
- .readdirSync(directoryPath)
301
- .filter((file) => file.endsWith(".metadata.json"))
302
- .map((file) => path.join(directoryPath, file));
303
- if (files.length === 0) {
304
- return {
305
- ok: false,
306
- error: [
307
- {
308
- code: "TSN9018",
309
- message: `No .metadata.json files found in ${directoryPath}`,
310
- severity: "warning",
311
- location: undefined,
312
- },
313
- ],
314
- };
315
- }
316
- // Load each file
317
- const metadataFiles = [];
318
- const diagnostics = [];
319
- for (const file of files) {
320
- const result = loadMetadataFile(file);
321
- if (result.ok) {
322
- metadataFiles.push(result.value);
323
- }
324
- else {
325
- diagnostics.push(...result.error);
326
- }
327
- }
328
- if (diagnostics.length > 0) {
329
- return { ok: false, error: diagnostics };
330
- }
331
- return { ok: true, value: metadataFiles };
332
- };
333
- //# sourceMappingURL=loader.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/metadata/loader.ts"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- /**
2
- * Tests for metadata JSON loader
3
- */
4
- export {};
5
- //# sourceMappingURL=loader.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"loader.test.d.ts","sourceRoot":"","sources":["../../src/metadata/loader.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -1,119 +0,0 @@
1
- /**
2
- * Tests for metadata JSON loader
3
- */
4
- import { describe, it } from "mocha";
5
- import { strict as assert } from "assert";
6
- import * as fs from "fs";
7
- import * as path from "path";
8
- import * as os from "os";
9
- import { loadMetadataFile, loadMetadataDirectory } from "./loader.js";
10
- describe("Metadata Loader", () => {
11
- describe("loadMetadataFile", () => {
12
- it("should load valid metadata file", () => {
13
- // Create temporary metadata file
14
- const tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), "tsonic-test-"));
15
- const metadataPath = path.join(tmpDir, "test.metadata.json");
16
- const metadata = {
17
- namespace: "System",
18
- contributingAssemblies: ["System.Runtime"],
19
- types: [
20
- {
21
- clrName: "System.String",
22
- tsEmitName: "String",
23
- kind: "Class",
24
- accessibility: "Public",
25
- isAbstract: false,
26
- isSealed: true,
27
- isStatic: false,
28
- arity: 0,
29
- methods: [],
30
- properties: [],
31
- fields: [],
32
- events: [],
33
- constructors: [],
34
- },
35
- ],
36
- };
37
- fs.writeFileSync(metadataPath, JSON.stringify(metadata, null, 2));
38
- const result = loadMetadataFile(metadataPath);
39
- // Cleanup
40
- fs.unlinkSync(metadataPath);
41
- fs.rmdirSync(tmpDir);
42
- assert.ok(result.ok);
43
- if (result.ok) {
44
- assert.equal(result.value.namespace, "System");
45
- assert.equal(result.value.types.length, 1);
46
- assert.equal(result.value.types[0]?.tsEmitName, "String");
47
- }
48
- });
49
- it("should return error for non-existent file", () => {
50
- const result = loadMetadataFile("/nonexistent/file.metadata.json");
51
- assert.ok(!result.ok);
52
- if (!result.ok) {
53
- assert.equal(result.error[0]?.code, "TSN9001");
54
- }
55
- });
56
- it("should return error for invalid JSON", () => {
57
- const tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), "tsonic-test-"));
58
- const metadataPath = path.join(tmpDir, "invalid.metadata.json");
59
- fs.writeFileSync(metadataPath, "{ invalid json }");
60
- const result = loadMetadataFile(metadataPath);
61
- // Cleanup
62
- fs.unlinkSync(metadataPath);
63
- fs.rmdirSync(tmpDir);
64
- assert.ok(!result.ok);
65
- if (!result.ok) {
66
- assert.equal(result.error[0]?.code, "TSN9003");
67
- }
68
- });
69
- it("should return error for missing required fields", () => {
70
- const tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), "tsonic-test-"));
71
- const metadataPath = path.join(tmpDir, "incomplete.metadata.json");
72
- // Missing namespace field
73
- fs.writeFileSync(metadataPath, JSON.stringify({ contributingAssemblies: [], types: [] }));
74
- const result = loadMetadataFile(metadataPath);
75
- // Cleanup
76
- fs.unlinkSync(metadataPath);
77
- fs.rmdirSync(tmpDir);
78
- assert.ok(!result.ok);
79
- if (!result.ok) {
80
- assert.equal(result.error[0]?.code, "TSN9005");
81
- }
82
- });
83
- });
84
- describe("loadMetadataDirectory", () => {
85
- it("should load all metadata files from directory", () => {
86
- const tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), "tsonic-test-"));
87
- // Create two metadata files
88
- const metadata1 = {
89
- namespace: "System",
90
- contributingAssemblies: ["System.Runtime"],
91
- types: [],
92
- };
93
- const metadata2 = {
94
- namespace: "System.Collections",
95
- contributingAssemblies: ["System.Collections"],
96
- types: [],
97
- };
98
- fs.writeFileSync(path.join(tmpDir, "System.metadata.json"), JSON.stringify(metadata1));
99
- fs.writeFileSync(path.join(tmpDir, "System.Collections.metadata.json"), JSON.stringify(metadata2));
100
- const result = loadMetadataDirectory(tmpDir);
101
- // Cleanup
102
- fs.unlinkSync(path.join(tmpDir, "System.metadata.json"));
103
- fs.unlinkSync(path.join(tmpDir, "System.Collections.metadata.json"));
104
- fs.rmdirSync(tmpDir);
105
- assert.ok(result.ok);
106
- if (result.ok) {
107
- assert.equal(result.value.length, 2);
108
- }
109
- });
110
- it("should return error for non-existent directory", () => {
111
- const result = loadMetadataDirectory("/nonexistent/directory");
112
- assert.ok(!result.ok);
113
- if (!result.ok) {
114
- assert.equal(result.error[0]?.code, "TSN9016");
115
- }
116
- });
117
- });
118
- });
119
- //# sourceMappingURL=loader.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"loader.test.js","sourceRoot":"","sources":["../../src/metadata/loader.test.ts"],"names":[],"mappings":"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"}
@@ -1,20 +0,0 @@
1
- export type NamingPolicy = "clr" | "none";
2
- export type NamingPolicyConfig = {
3
- readonly all?: NamingPolicy;
4
- readonly namespaces?: NamingPolicy;
5
- readonly classes?: NamingPolicy;
6
- readonly methods?: NamingPolicy;
7
- readonly properties?: NamingPolicy;
8
- readonly fields?: NamingPolicy;
9
- readonly enumMembers?: NamingPolicy;
10
- };
11
- export type NamingPolicyBucket = Exclude<keyof NamingPolicyConfig, "all">;
12
- export declare const resolveNamingPolicy: (config: NamingPolicyConfig | undefined, bucket: NamingPolicyBucket) => NamingPolicy;
13
- /**
14
- * Apply a naming policy to an identifier fragment.
15
- *
16
- * - `none`: preserve case and separators except remove hyphens (`-`)
17
- * - `clr`: word-based PascalCase (CLR/C# convention)
18
- */
19
- export declare const applyNamingPolicy: (name: string, policy: NamingPolicy) => string;
20
- //# sourceMappingURL=naming-policy.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"naming-policy.d.ts","sourceRoot":"","sources":["../../src/resolver/naming-policy.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,MAAM,CAAC;AAE1C,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,CAAC,GAAG,CAAC,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,UAAU,CAAC,EAAE,YAAY,CAAC;IACnC,QAAQ,CAAC,OAAO,CAAC,EAAE,YAAY,CAAC;IAChC,QAAQ,CAAC,OAAO,CAAC,EAAE,YAAY,CAAC;IAChC,QAAQ,CAAC,UAAU,CAAC,EAAE,YAAY,CAAC;IACnC,QAAQ,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC;IAC/B,QAAQ,CAAC,WAAW,CAAC,EAAE,YAAY,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,OAAO,CAAC,MAAM,kBAAkB,EAAE,KAAK,CAAC,CAAC;AAE1E,eAAO,MAAM,mBAAmB,GAC9B,QAAQ,kBAAkB,GAAG,SAAS,EACtC,QAAQ,kBAAkB,KACzB,YAGF,CAAC;AAwBF;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,GAC5B,MAAM,MAAM,EACZ,QAAQ,YAAY,KACnB,MASF,CAAC"}
@@ -1,40 +0,0 @@
1
- export const resolveNamingPolicy = (config, bucket) => {
2
- if (config?.all)
3
- return config.all;
4
- return config?.[bucket] ?? "clr";
5
- };
6
- const splitIntoWords = (name) => {
7
- const tokens = name.split(/[-_]+/g).filter((t) => t.length > 0);
8
- const words = [];
9
- for (const token of tokens) {
10
- const matches = token.match(/[A-Z]+(?![a-z])|[A-Z]?[a-z]+|[0-9]+/g) ?? [];
11
- if (matches.length === 0) {
12
- words.push(token);
13
- }
14
- else {
15
- words.push(...matches);
16
- }
17
- }
18
- return words;
19
- };
20
- const toPascalWord = (word) => {
21
- if (word.length === 0)
22
- return "";
23
- return `${word.charAt(0).toUpperCase()}${word.slice(1)}`;
24
- };
25
- /**
26
- * Apply a naming policy to an identifier fragment.
27
- *
28
- * - `none`: preserve case and separators except remove hyphens (`-`)
29
- * - `clr`: word-based PascalCase (CLR/C# convention)
30
- */
31
- export const applyNamingPolicy = (name, policy) => {
32
- if (policy === "none") {
33
- return name.replace(/-/g, "");
34
- }
35
- const words = splitIntoWords(name);
36
- if (words.length === 0)
37
- return "";
38
- return words.map(toPascalWord).join("");
39
- };
40
- //# sourceMappingURL=naming-policy.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"naming-policy.js","sourceRoot":"","sources":["../../src/resolver/naming-policy.ts"],"names":[],"mappings":"AAcA,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,MAAsC,EACtC,MAA0B,EACZ,EAAE;IAChB,IAAI,MAAM,EAAE,GAAG;QAAE,OAAO,MAAM,CAAC,GAAG,CAAC;IACnC,OAAO,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC;AACnC,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,CAAC,IAAY,EAAqB,EAAE;IACzD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAChE,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,OAAO,GACX,KAAK,CAAC,KAAK,CAAC,sCAAsC,CAAC,IAAI,EAAE,CAAC;QAC5D,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC,IAAY,EAAU,EAAE;IAC5C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACjC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;AAC3D,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,IAAY,EACZ,MAAoB,EACZ,EAAE;IACV,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAChC,CAAC;IAED,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IACnC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAElC,OAAO,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC1C,CAAC,CAAC"}