@typespec/compiler 0.46.0-dev.3 → 0.46.0-dev.30

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 (553) hide show
  1. package/cmd/tsp-server.js +1 -1
  2. package/cmd/tsp.js +1 -1
  3. package/dist/manifest.js +2 -2
  4. package/dist/src/config/config-interpolation.d.ts.map +1 -0
  5. package/dist/src/config/config-interpolation.js.map +1 -0
  6. package/dist/src/config/config-loader.d.ts.map +1 -0
  7. package/dist/{config → src/config}/config-loader.js +1 -0
  8. package/dist/src/config/config-loader.js.map +1 -0
  9. package/dist/src/config/config-schema.d.ts.map +1 -0
  10. package/dist/{config → src/config}/config-schema.js +24 -0
  11. package/dist/src/config/config-schema.js.map +1 -0
  12. package/dist/src/config/index.d.ts.map +1 -0
  13. package/dist/src/config/index.js.map +1 -0
  14. package/dist/{config → src/config}/types.d.ts +8 -1
  15. package/dist/src/config/types.d.ts.map +1 -0
  16. package/dist/{config → src/config}/types.js.map +1 -1
  17. package/dist/src/core/binder.d.ts.map +1 -0
  18. package/dist/src/core/binder.js.map +1 -0
  19. package/dist/{core → src/core}/charcode.d.ts +1 -1
  20. package/dist/src/core/charcode.d.ts.map +1 -0
  21. package/dist/src/core/charcode.js.map +1 -0
  22. package/dist/src/core/checker.d.ts.map +1 -0
  23. package/dist/{core → src/core}/checker.js +13 -8
  24. package/dist/src/core/checker.js.map +1 -0
  25. package/dist/src/core/cli/args.d.ts.map +1 -0
  26. package/dist/{core → src/core}/cli/args.js +1 -0
  27. package/dist/src/core/cli/args.js.map +1 -0
  28. package/dist/{core → src/core}/cli/cli.d.ts.map +1 -1
  29. package/dist/src/core/cli/cli.js.map +1 -0
  30. package/dist/src/core/cli/index.d.ts.map +1 -0
  31. package/dist/src/core/cli/index.js.map +1 -0
  32. package/dist/src/core/decorator-utils.d.ts.map +1 -0
  33. package/dist/src/core/decorator-utils.js.map +1 -0
  34. package/dist/src/core/diagnostics.d.ts.map +1 -0
  35. package/dist/src/core/diagnostics.js.map +1 -0
  36. package/dist/src/core/emitter-utils.d.ts.map +1 -0
  37. package/dist/src/core/emitter-utils.js.map +1 -0
  38. package/dist/src/core/entrypoint-resolution.d.ts.map +1 -0
  39. package/dist/src/core/entrypoint-resolution.js.map +1 -0
  40. package/dist/src/core/fetch.d.ts.map +1 -0
  41. package/dist/src/core/fetch.js.map +1 -0
  42. package/dist/src/core/formatter-fs.d.ts.map +1 -0
  43. package/dist/src/core/formatter-fs.js.map +1 -0
  44. package/dist/src/core/formatter.d.ts.map +1 -0
  45. package/dist/src/core/formatter.js.map +1 -0
  46. package/dist/src/core/helpers/discriminator-utils.d.ts.map +1 -0
  47. package/dist/src/core/helpers/discriminator-utils.js.map +1 -0
  48. package/dist/{core → src/core}/helpers/index.d.ts +1 -0
  49. package/dist/src/core/helpers/index.d.ts.map +1 -0
  50. package/dist/{core → src/core}/helpers/index.js +1 -0
  51. package/dist/src/core/helpers/index.js.map +1 -0
  52. package/dist/src/core/helpers/location-context.d.ts +4 -0
  53. package/dist/src/core/helpers/location-context.d.ts.map +1 -0
  54. package/dist/src/core/helpers/location-context.js +9 -0
  55. package/dist/src/core/helpers/location-context.js.map +1 -0
  56. package/dist/src/core/helpers/operation-utils.d.ts.map +1 -0
  57. package/dist/src/core/helpers/operation-utils.js.map +1 -0
  58. package/dist/src/core/helpers/path-interpolation.d.ts.map +1 -0
  59. package/dist/src/core/helpers/path-interpolation.js.map +1 -0
  60. package/dist/src/core/helpers/projected-names-utils.d.ts.map +1 -0
  61. package/dist/src/core/helpers/projected-names-utils.js.map +1 -0
  62. package/dist/src/core/helpers/type-name-utils.d.ts.map +1 -0
  63. package/dist/src/core/helpers/type-name-utils.js.map +1 -0
  64. package/dist/src/core/helpers/usage-resolver.d.ts.map +1 -0
  65. package/dist/{core → src/core}/helpers/usage-resolver.js +1 -1
  66. package/dist/src/core/helpers/usage-resolver.js.map +1 -0
  67. package/dist/{core → src/core}/index.d.ts +2 -9
  68. package/dist/src/core/index.d.ts.map +1 -0
  69. package/dist/{core → src/core}/index.js +2 -9
  70. package/dist/src/core/index.js.map +1 -0
  71. package/dist/src/core/install.d.ts.map +1 -0
  72. package/dist/src/core/install.js.map +1 -0
  73. package/dist/{core → src/core}/library.d.ts +3 -1
  74. package/dist/src/core/library.d.ts.map +1 -0
  75. package/dist/{core → src/core}/library.js +6 -1
  76. package/dist/src/core/library.js.map +1 -0
  77. package/dist/src/core/linter.d.ts +10 -0
  78. package/dist/src/core/linter.d.ts.map +1 -0
  79. package/dist/src/core/linter.js +166 -0
  80. package/dist/src/core/linter.js.map +1 -0
  81. package/dist/src/core/logger/console-sink.browser.d.ts.map +1 -0
  82. package/dist/src/core/logger/console-sink.browser.js.map +1 -0
  83. package/dist/src/core/logger/console-sink.d.ts.map +1 -0
  84. package/dist/src/core/logger/console-sink.js.map +1 -0
  85. package/dist/src/core/logger/index.d.ts.map +1 -0
  86. package/dist/src/core/logger/index.js.map +1 -0
  87. package/dist/src/core/logger/logger.d.ts.map +1 -0
  88. package/dist/src/core/logger/logger.js.map +1 -0
  89. package/dist/src/core/logger/tracer.d.ts.map +1 -0
  90. package/dist/src/core/logger/tracer.js.map +1 -0
  91. package/dist/{core → src/core}/messages.d.ts +77 -2
  92. package/dist/{core → src/core}/messages.d.ts.map +1 -1
  93. package/dist/{core → src/core}/messages.js +27 -0
  94. package/dist/src/core/messages.js.map +1 -0
  95. package/dist/src/core/module-resolver.d.ts.map +1 -0
  96. package/dist/src/core/module-resolver.js.map +1 -0
  97. package/dist/src/core/node-host.browser.d.ts.map +1 -0
  98. package/dist/src/core/node-host.browser.js.map +1 -0
  99. package/dist/{core → src/core}/node-host.d.ts +3 -0
  100. package/dist/src/core/node-host.d.ts.map +1 -0
  101. package/dist/{core → src/core}/node-host.js +25 -5
  102. package/dist/src/core/node-host.js.map +1 -0
  103. package/dist/{core → src/core}/nonascii.d.ts.map +1 -1
  104. package/dist/{core → src/core}/nonascii.js +29 -20
  105. package/dist/src/core/nonascii.js.map +1 -0
  106. package/dist/{core → src/core}/options.d.ts +3 -1
  107. package/dist/src/core/options.d.ts.map +1 -0
  108. package/dist/{core → src/core}/options.js.map +1 -1
  109. package/dist/src/core/parser.d.ts.map +1 -0
  110. package/dist/{core → src/core}/parser.js +56 -29
  111. package/dist/src/core/parser.js.map +1 -0
  112. package/dist/src/core/path-utils.d.ts.map +1 -0
  113. package/dist/src/core/path-utils.js.map +1 -0
  114. package/dist/{core → src/core}/program.d.ts +3 -17
  115. package/dist/src/core/program.d.ts.map +1 -0
  116. package/dist/{core → src/core}/program.js +91 -47
  117. package/dist/src/core/program.js.map +1 -0
  118. package/dist/src/core/projection-members.d.ts.map +1 -0
  119. package/dist/src/core/projection-members.js.map +1 -0
  120. package/dist/src/core/projector.d.ts.map +1 -0
  121. package/dist/src/core/projector.js.map +1 -0
  122. package/dist/src/core/scanner.d.ts.map +1 -0
  123. package/dist/{core → src/core}/scanner.js +2 -2
  124. package/dist/src/core/scanner.js.map +1 -0
  125. package/dist/src/core/schema-validator.d.ts.map +1 -0
  126. package/dist/src/core/schema-validator.js.map +1 -0
  127. package/dist/src/core/semantic-walker.d.ts.map +1 -0
  128. package/dist/src/core/semantic-walker.js.map +1 -0
  129. package/dist/src/core/type-utils.d.ts.map +1 -0
  130. package/dist/src/core/type-utils.js.map +1 -0
  131. package/dist/{core → src/core}/types.d.ts +110 -11
  132. package/dist/src/core/types.d.ts.map +1 -0
  133. package/dist/{core → src/core}/types.js +3 -3
  134. package/dist/src/core/types.js.map +1 -0
  135. package/dist/{core → src/core}/util.d.ts +1 -1
  136. package/dist/src/core/util.d.ts.map +1 -0
  137. package/dist/{core → src/core}/util.js +1 -1
  138. package/dist/src/core/util.js.map +1 -0
  139. package/dist/src/emitter-framework/asset-emitter.d.ts.map +1 -0
  140. package/dist/{emitter-framework → src/emitter-framework}/asset-emitter.js +6 -8
  141. package/dist/src/emitter-framework/asset-emitter.js.map +1 -0
  142. package/dist/src/emitter-framework/builders/array-builder.d.ts.map +1 -0
  143. package/dist/src/emitter-framework/builders/array-builder.js.map +1 -0
  144. package/dist/src/emitter-framework/builders/object-builder.d.ts.map +1 -0
  145. package/dist/src/emitter-framework/builders/object-builder.js.map +1 -0
  146. package/dist/src/emitter-framework/builders/string-builder.d.ts.map +1 -0
  147. package/dist/src/emitter-framework/builders/string-builder.js.map +1 -0
  148. package/dist/src/emitter-framework/custom-key-map.d.ts.map +1 -0
  149. package/dist/src/emitter-framework/custom-key-map.js.map +1 -0
  150. package/dist/src/emitter-framework/index.d.ts.map +1 -0
  151. package/dist/src/emitter-framework/index.js.map +1 -0
  152. package/dist/src/emitter-framework/placeholder.d.ts.map +1 -0
  153. package/dist/src/emitter-framework/placeholder.js.map +1 -0
  154. package/dist/{emitter-framework → src/emitter-framework}/type-emitter.d.ts +1 -0
  155. package/dist/src/emitter-framework/type-emitter.d.ts.map +1 -0
  156. package/dist/{emitter-framework → src/emitter-framework}/type-emitter.js +10 -1
  157. package/dist/src/emitter-framework/type-emitter.js.map +1 -0
  158. package/dist/{emitter-framework → src/emitter-framework}/types.d.ts +3 -0
  159. package/dist/src/emitter-framework/types.d.ts.map +1 -0
  160. package/dist/{emitter-framework → src/emitter-framework}/types.js +1 -0
  161. package/dist/src/emitter-framework/types.js.map +1 -0
  162. package/dist/src/formatter/index.d.ts.map +1 -0
  163. package/dist/src/formatter/index.js.map +1 -0
  164. package/dist/src/formatter/parser.d.ts.map +1 -0
  165. package/dist/src/formatter/parser.js +49 -0
  166. package/dist/src/formatter/parser.js.map +1 -0
  167. package/dist/src/formatter/print/comment-handler.d.ts.map +1 -0
  168. package/dist/{formatter → src/formatter}/print/comment-handler.js +36 -4
  169. package/dist/src/formatter/print/comment-handler.js.map +1 -0
  170. package/dist/src/formatter/print/index.d.ts.map +1 -0
  171. package/dist/src/formatter/print/index.js.map +1 -0
  172. package/dist/src/formatter/print/needs-parens.d.ts.map +1 -0
  173. package/dist/src/formatter/print/needs-parens.js.map +1 -0
  174. package/dist/{formatter → src/formatter}/print/printer.d.ts +8 -5
  175. package/dist/src/formatter/print/printer.d.ts.map +1 -0
  176. package/dist/{formatter → src/formatter}/print/printer.js +130 -53
  177. package/dist/src/formatter/print/printer.js.map +1 -0
  178. package/dist/src/formatter/print/types.d.ts.map +1 -0
  179. package/dist/src/formatter/print/types.js.map +1 -0
  180. package/dist/src/formatter/types.d.ts +9 -0
  181. package/dist/src/formatter/types.d.ts.map +1 -0
  182. package/dist/src/formatter/types.js +2 -0
  183. package/dist/{formatter/print → src/formatter}/types.js.map +1 -1
  184. package/dist/src/index.d.ts +9 -0
  185. package/dist/src/index.d.ts.map +1 -0
  186. package/dist/src/index.js +9 -0
  187. package/dist/src/index.js.map +1 -0
  188. package/dist/src/init/index.d.ts.map +1 -0
  189. package/dist/src/init/index.js.map +1 -0
  190. package/dist/src/init/init-template.d.ts.map +1 -0
  191. package/dist/src/init/init-template.js.map +1 -0
  192. package/dist/src/init/init.d.ts.map +1 -0
  193. package/dist/src/init/init.js.map +1 -0
  194. package/dist/{lib → src/lib}/decorators.d.ts +9 -0
  195. package/dist/src/lib/decorators.d.ts.map +1 -0
  196. package/dist/{lib → src/lib}/decorators.js +9 -0
  197. package/dist/src/lib/decorators.js.map +1 -0
  198. package/dist/src/lib/service.d.ts.map +1 -0
  199. package/dist/src/lib/service.js.map +1 -0
  200. package/dist/src/manifest.d.ts.map +1 -0
  201. package/dist/src/manifest.js.map +1 -0
  202. package/dist/{cmd → src}/runner.d.ts.map +1 -1
  203. package/dist/{cmd → src}/runner.js +2 -2
  204. package/dist/{cmd → src}/runner.js.map +1 -1
  205. package/dist/src/server/completion.d.ts.map +1 -0
  206. package/dist/src/server/completion.js.map +1 -0
  207. package/dist/src/server/index.d.ts.map +1 -0
  208. package/dist/src/server/index.js.map +1 -0
  209. package/dist/src/server/language-config.d.ts.map +1 -0
  210. package/dist/{server → src/server}/language-config.js +1 -1
  211. package/dist/src/server/language-config.js.map +1 -0
  212. package/dist/src/server/server-utils.d.ts.map +1 -0
  213. package/dist/src/server/server-utils.js.map +1 -0
  214. package/dist/{server → src/server}/server.d.ts.map +1 -1
  215. package/dist/{server → src/server}/server.js +3 -4
  216. package/dist/src/server/server.js.map +1 -0
  217. package/dist/src/server/serverlib.d.ts.map +1 -0
  218. package/dist/{server → src/server}/serverlib.js +2 -2
  219. package/dist/src/server/serverlib.js.map +1 -0
  220. package/dist/src/server/symbol-structure.d.ts.map +1 -0
  221. package/dist/src/server/symbol-structure.js.map +1 -0
  222. package/dist/src/server/tmlanguage.d.ts.map +1 -0
  223. package/dist/{server → src/server}/tmlanguage.js +2 -3
  224. package/dist/src/server/tmlanguage.js.map +1 -0
  225. package/dist/src/server/type-details.d.ts.map +1 -0
  226. package/dist/{server → src/server}/type-details.js +2 -1
  227. package/dist/src/server/type-details.js.map +1 -0
  228. package/dist/src/server/type-signature.d.ts.map +1 -0
  229. package/dist/src/server/type-signature.js.map +1 -0
  230. package/dist/src/testing/expect.d.ts.map +1 -0
  231. package/dist/src/testing/expect.js.map +1 -0
  232. package/dist/{testing → src/testing}/index.d.ts +1 -0
  233. package/dist/src/testing/index.d.ts.map +1 -0
  234. package/dist/{testing → src/testing}/index.js +1 -0
  235. package/dist/src/testing/index.js.map +1 -0
  236. package/dist/src/testing/rule-tester.d.ts +12 -0
  237. package/dist/src/testing/rule-tester.d.ts.map +1 -0
  238. package/dist/src/testing/rule-tester.js +34 -0
  239. package/dist/src/testing/rule-tester.js.map +1 -0
  240. package/dist/src/testing/test-host.d.ts.map +1 -0
  241. package/dist/{testing → src/testing}/test-host.js +2 -2
  242. package/dist/src/testing/test-host.js.map +1 -0
  243. package/dist/src/testing/test-server-host.d.ts.map +1 -0
  244. package/dist/src/testing/test-server-host.js.map +1 -0
  245. package/dist/src/testing/test-utils.d.ts.map +1 -0
  246. package/dist/src/testing/test-utils.js.map +1 -0
  247. package/dist/src/testing/types.d.ts.map +1 -0
  248. package/dist/src/testing/types.js.map +1 -0
  249. package/entrypoints/cli.js +5 -0
  250. package/entrypoints/server.js +5 -0
  251. package/lib/decorators.tsp +9 -1
  252. package/package.json +22 -22
  253. package/dist/config/config-interpolation.d.ts.map +0 -1
  254. package/dist/config/config-interpolation.js.map +0 -1
  255. package/dist/config/config-loader.d.ts.map +0 -1
  256. package/dist/config/config-loader.js.map +0 -1
  257. package/dist/config/config-schema.d.ts.map +0 -1
  258. package/dist/config/config-schema.js.map +0 -1
  259. package/dist/config/index.d.ts.map +0 -1
  260. package/dist/config/index.js.map +0 -1
  261. package/dist/config/types.d.ts.map +0 -1
  262. package/dist/core/binder.d.ts.map +0 -1
  263. package/dist/core/binder.js.map +0 -1
  264. package/dist/core/charcode.d.ts.map +0 -1
  265. package/dist/core/charcode.js.map +0 -1
  266. package/dist/core/checker.d.ts.map +0 -1
  267. package/dist/core/checker.js.map +0 -1
  268. package/dist/core/cli/args.d.ts.map +0 -1
  269. package/dist/core/cli/args.js.map +0 -1
  270. package/dist/core/cli/cli.js.map +0 -1
  271. package/dist/core/cli/index.d.ts.map +0 -1
  272. package/dist/core/cli/index.js.map +0 -1
  273. package/dist/core/decorator-utils.d.ts.map +0 -1
  274. package/dist/core/decorator-utils.js.map +0 -1
  275. package/dist/core/diagnostics.d.ts.map +0 -1
  276. package/dist/core/diagnostics.js.map +0 -1
  277. package/dist/core/emitter-utils.d.ts.map +0 -1
  278. package/dist/core/emitter-utils.js.map +0 -1
  279. package/dist/core/entrypoint-resolution.d.ts.map +0 -1
  280. package/dist/core/entrypoint-resolution.js.map +0 -1
  281. package/dist/core/fetch.d.ts.map +0 -1
  282. package/dist/core/fetch.js.map +0 -1
  283. package/dist/core/formatter-fs.d.ts.map +0 -1
  284. package/dist/core/formatter-fs.js.map +0 -1
  285. package/dist/core/formatter.d.ts.map +0 -1
  286. package/dist/core/formatter.js.map +0 -1
  287. package/dist/core/helpers/discriminator-utils.d.ts.map +0 -1
  288. package/dist/core/helpers/discriminator-utils.js.map +0 -1
  289. package/dist/core/helpers/index.d.ts.map +0 -1
  290. package/dist/core/helpers/index.js.map +0 -1
  291. package/dist/core/helpers/operation-utils.d.ts.map +0 -1
  292. package/dist/core/helpers/operation-utils.js.map +0 -1
  293. package/dist/core/helpers/path-interpolation.d.ts.map +0 -1
  294. package/dist/core/helpers/path-interpolation.js.map +0 -1
  295. package/dist/core/helpers/projected-names-utils.d.ts.map +0 -1
  296. package/dist/core/helpers/projected-names-utils.js.map +0 -1
  297. package/dist/core/helpers/type-name-utils.d.ts.map +0 -1
  298. package/dist/core/helpers/type-name-utils.js.map +0 -1
  299. package/dist/core/helpers/usage-resolver.d.ts.map +0 -1
  300. package/dist/core/helpers/usage-resolver.js.map +0 -1
  301. package/dist/core/index.d.ts.map +0 -1
  302. package/dist/core/index.js.map +0 -1
  303. package/dist/core/install.d.ts.map +0 -1
  304. package/dist/core/install.js.map +0 -1
  305. package/dist/core/library.d.ts.map +0 -1
  306. package/dist/core/library.js.map +0 -1
  307. package/dist/core/logger/console-sink.browser.d.ts.map +0 -1
  308. package/dist/core/logger/console-sink.browser.js.map +0 -1
  309. package/dist/core/logger/console-sink.d.ts.map +0 -1
  310. package/dist/core/logger/console-sink.js.map +0 -1
  311. package/dist/core/logger/index.d.ts.map +0 -1
  312. package/dist/core/logger/index.js.map +0 -1
  313. package/dist/core/logger/logger.d.ts.map +0 -1
  314. package/dist/core/logger/logger.js.map +0 -1
  315. package/dist/core/logger/tracer.d.ts.map +0 -1
  316. package/dist/core/logger/tracer.js.map +0 -1
  317. package/dist/core/manifest.d.ts.map +0 -1
  318. package/dist/core/manifest.js.map +0 -1
  319. package/dist/core/messages.js.map +0 -1
  320. package/dist/core/module-resolver.d.ts.map +0 -1
  321. package/dist/core/module-resolver.js.map +0 -1
  322. package/dist/core/node-host.browser.d.ts.map +0 -1
  323. package/dist/core/node-host.browser.js.map +0 -1
  324. package/dist/core/node-host.d.ts.map +0 -1
  325. package/dist/core/node-host.js.map +0 -1
  326. package/dist/core/nonascii.js.map +0 -1
  327. package/dist/core/options.d.ts.map +0 -1
  328. package/dist/core/parser.d.ts.map +0 -1
  329. package/dist/core/parser.js.map +0 -1
  330. package/dist/core/path-utils.d.ts.map +0 -1
  331. package/dist/core/path-utils.js.map +0 -1
  332. package/dist/core/program.d.ts.map +0 -1
  333. package/dist/core/program.js.map +0 -1
  334. package/dist/core/projection-members.d.ts.map +0 -1
  335. package/dist/core/projection-members.js.map +0 -1
  336. package/dist/core/projector.d.ts.map +0 -1
  337. package/dist/core/projector.js.map +0 -1
  338. package/dist/core/scanner.d.ts.map +0 -1
  339. package/dist/core/scanner.js.map +0 -1
  340. package/dist/core/schema-validator.d.ts.map +0 -1
  341. package/dist/core/schema-validator.js.map +0 -1
  342. package/dist/core/semantic-walker.d.ts.map +0 -1
  343. package/dist/core/semantic-walker.js.map +0 -1
  344. package/dist/core/type-utils.d.ts.map +0 -1
  345. package/dist/core/type-utils.js.map +0 -1
  346. package/dist/core/types.d.ts.map +0 -1
  347. package/dist/core/types.js.map +0 -1
  348. package/dist/core/util.d.ts.map +0 -1
  349. package/dist/core/util.js.map +0 -1
  350. package/dist/emitter-framework/asset-emitter.d.ts.map +0 -1
  351. package/dist/emitter-framework/asset-emitter.js.map +0 -1
  352. package/dist/emitter-framework/builders/array-builder.d.ts.map +0 -1
  353. package/dist/emitter-framework/builders/array-builder.js.map +0 -1
  354. package/dist/emitter-framework/builders/object-builder.d.ts.map +0 -1
  355. package/dist/emitter-framework/builders/object-builder.js.map +0 -1
  356. package/dist/emitter-framework/builders/string-builder.d.ts.map +0 -1
  357. package/dist/emitter-framework/builders/string-builder.js.map +0 -1
  358. package/dist/emitter-framework/custom-key-map.d.ts.map +0 -1
  359. package/dist/emitter-framework/custom-key-map.js.map +0 -1
  360. package/dist/emitter-framework/index.d.ts.map +0 -1
  361. package/dist/emitter-framework/index.js.map +0 -1
  362. package/dist/emitter-framework/placeholder.d.ts.map +0 -1
  363. package/dist/emitter-framework/placeholder.js.map +0 -1
  364. package/dist/emitter-framework/type-emitter.d.ts.map +0 -1
  365. package/dist/emitter-framework/type-emitter.js.map +0 -1
  366. package/dist/emitter-framework/types.d.ts.map +0 -1
  367. package/dist/emitter-framework/types.js.map +0 -1
  368. package/dist/formatter/index.d.ts.map +0 -1
  369. package/dist/formatter/index.js.map +0 -1
  370. package/dist/formatter/parser.d.ts.map +0 -1
  371. package/dist/formatter/parser.js +0 -23
  372. package/dist/formatter/parser.js.map +0 -1
  373. package/dist/formatter/print/comment-handler.d.ts.map +0 -1
  374. package/dist/formatter/print/comment-handler.js.map +0 -1
  375. package/dist/formatter/print/index.d.ts.map +0 -1
  376. package/dist/formatter/print/index.js.map +0 -1
  377. package/dist/formatter/print/needs-parens.d.ts.map +0 -1
  378. package/dist/formatter/print/needs-parens.js.map +0 -1
  379. package/dist/formatter/print/printer.d.ts.map +0 -1
  380. package/dist/formatter/print/printer.js.map +0 -1
  381. package/dist/formatter/print/types.d.ts.map +0 -1
  382. package/dist/init/index.d.ts.map +0 -1
  383. package/dist/init/index.js.map +0 -1
  384. package/dist/init/init-template.d.ts.map +0 -1
  385. package/dist/init/init-template.js.map +0 -1
  386. package/dist/init/init.d.ts.map +0 -1
  387. package/dist/init/init.js.map +0 -1
  388. package/dist/lib/decorators.d.ts.map +0 -1
  389. package/dist/lib/decorators.js.map +0 -1
  390. package/dist/lib/service.d.ts.map +0 -1
  391. package/dist/lib/service.js.map +0 -1
  392. package/dist/server/completion.d.ts.map +0 -1
  393. package/dist/server/completion.js.map +0 -1
  394. package/dist/server/index.d.ts.map +0 -1
  395. package/dist/server/index.js.map +0 -1
  396. package/dist/server/language-config.d.ts.map +0 -1
  397. package/dist/server/language-config.js.map +0 -1
  398. package/dist/server/server-utils.d.ts.map +0 -1
  399. package/dist/server/server-utils.js.map +0 -1
  400. package/dist/server/server.js.map +0 -1
  401. package/dist/server/serverlib.d.ts.map +0 -1
  402. package/dist/server/serverlib.js.map +0 -1
  403. package/dist/server/symbol-structure.d.ts.map +0 -1
  404. package/dist/server/symbol-structure.js.map +0 -1
  405. package/dist/server/tmlanguage.d.ts.map +0 -1
  406. package/dist/server/tmlanguage.js.map +0 -1
  407. package/dist/server/type-details.d.ts.map +0 -1
  408. package/dist/server/type-details.js.map +0 -1
  409. package/dist/server/type-signature.d.ts.map +0 -1
  410. package/dist/server/type-signature.js.map +0 -1
  411. package/dist/testing/expect.d.ts.map +0 -1
  412. package/dist/testing/expect.js.map +0 -1
  413. package/dist/testing/index.d.ts.map +0 -1
  414. package/dist/testing/index.js.map +0 -1
  415. package/dist/testing/test-host.d.ts.map +0 -1
  416. package/dist/testing/test-host.js.map +0 -1
  417. package/dist/testing/test-server-host.d.ts.map +0 -1
  418. package/dist/testing/test-server-host.js.map +0 -1
  419. package/dist/testing/test-utils.d.ts.map +0 -1
  420. package/dist/testing/test-utils.js.map +0 -1
  421. package/dist/testing/types.d.ts.map +0 -1
  422. package/dist/testing/types.js.map +0 -1
  423. /package/dist/{config → src/config}/config-interpolation.d.ts +0 -0
  424. /package/dist/{config → src/config}/config-interpolation.js +0 -0
  425. /package/dist/{config → src/config}/config-loader.d.ts +0 -0
  426. /package/dist/{config → src/config}/config-schema.d.ts +0 -0
  427. /package/dist/{config → src/config}/index.d.ts +0 -0
  428. /package/dist/{config → src/config}/index.js +0 -0
  429. /package/dist/{config → src/config}/types.js +0 -0
  430. /package/dist/{core → src/core}/binder.d.ts +0 -0
  431. /package/dist/{core → src/core}/binder.js +0 -0
  432. /package/dist/{core → src/core}/charcode.js +0 -0
  433. /package/dist/{core → src/core}/checker.d.ts +0 -0
  434. /package/dist/{core → src/core}/cli/args.d.ts +0 -0
  435. /package/dist/{core → src/core}/cli/cli.d.ts +0 -0
  436. /package/dist/{core → src/core}/cli/cli.js +0 -0
  437. /package/dist/{core → src/core}/cli/index.d.ts +0 -0
  438. /package/dist/{core → src/core}/cli/index.js +0 -0
  439. /package/dist/{core → src/core}/decorator-utils.d.ts +0 -0
  440. /package/dist/{core → src/core}/decorator-utils.js +0 -0
  441. /package/dist/{core → src/core}/diagnostics.d.ts +0 -0
  442. /package/dist/{core → src/core}/diagnostics.js +0 -0
  443. /package/dist/{core → src/core}/emitter-utils.d.ts +0 -0
  444. /package/dist/{core → src/core}/emitter-utils.js +0 -0
  445. /package/dist/{core → src/core}/entrypoint-resolution.d.ts +0 -0
  446. /package/dist/{core → src/core}/entrypoint-resolution.js +0 -0
  447. /package/dist/{core → src/core}/fetch.d.ts +0 -0
  448. /package/dist/{core → src/core}/fetch.js +0 -0
  449. /package/dist/{core → src/core}/formatter-fs.d.ts +0 -0
  450. /package/dist/{core → src/core}/formatter-fs.js +0 -0
  451. /package/dist/{core → src/core}/formatter.d.ts +0 -0
  452. /package/dist/{core → src/core}/formatter.js +0 -0
  453. /package/dist/{core → src/core}/helpers/discriminator-utils.d.ts +0 -0
  454. /package/dist/{core → src/core}/helpers/discriminator-utils.js +0 -0
  455. /package/dist/{core → src/core}/helpers/operation-utils.d.ts +0 -0
  456. /package/dist/{core → src/core}/helpers/operation-utils.js +0 -0
  457. /package/dist/{core → src/core}/helpers/path-interpolation.d.ts +0 -0
  458. /package/dist/{core → src/core}/helpers/path-interpolation.js +0 -0
  459. /package/dist/{core → src/core}/helpers/projected-names-utils.d.ts +0 -0
  460. /package/dist/{core → src/core}/helpers/projected-names-utils.js +0 -0
  461. /package/dist/{core → src/core}/helpers/type-name-utils.d.ts +0 -0
  462. /package/dist/{core → src/core}/helpers/type-name-utils.js +0 -0
  463. /package/dist/{core → src/core}/helpers/usage-resolver.d.ts +0 -0
  464. /package/dist/{core → src/core}/install.d.ts +0 -0
  465. /package/dist/{core → src/core}/install.js +0 -0
  466. /package/dist/{core → src/core}/logger/console-sink.browser.d.ts +0 -0
  467. /package/dist/{core → src/core}/logger/console-sink.browser.js +0 -0
  468. /package/dist/{core → src/core}/logger/console-sink.d.ts +0 -0
  469. /package/dist/{core → src/core}/logger/console-sink.js +0 -0
  470. /package/dist/{core → src/core}/logger/index.d.ts +0 -0
  471. /package/dist/{core → src/core}/logger/index.js +0 -0
  472. /package/dist/{core → src/core}/logger/logger.d.ts +0 -0
  473. /package/dist/{core → src/core}/logger/logger.js +0 -0
  474. /package/dist/{core → src/core}/logger/tracer.d.ts +0 -0
  475. /package/dist/{core → src/core}/logger/tracer.js +0 -0
  476. /package/dist/{core → src/core}/module-resolver.d.ts +0 -0
  477. /package/dist/{core → src/core}/module-resolver.js +0 -0
  478. /package/dist/{core → src/core}/node-host.browser.d.ts +0 -0
  479. /package/dist/{core → src/core}/node-host.browser.js +0 -0
  480. /package/dist/{core → src/core}/nonascii.d.ts +0 -0
  481. /package/dist/{core → src/core}/options.js +0 -0
  482. /package/dist/{core → src/core}/parser.d.ts +0 -0
  483. /package/dist/{core → src/core}/path-utils.d.ts +0 -0
  484. /package/dist/{core → src/core}/path-utils.js +0 -0
  485. /package/dist/{core → src/core}/projection-members.d.ts +0 -0
  486. /package/dist/{core → src/core}/projection-members.js +0 -0
  487. /package/dist/{core → src/core}/projector.d.ts +0 -0
  488. /package/dist/{core → src/core}/projector.js +0 -0
  489. /package/dist/{core → src/core}/scanner.d.ts +0 -0
  490. /package/dist/{core → src/core}/schema-validator.d.ts +0 -0
  491. /package/dist/{core → src/core}/schema-validator.js +0 -0
  492. /package/dist/{core → src/core}/semantic-walker.d.ts +0 -0
  493. /package/dist/{core → src/core}/semantic-walker.js +0 -0
  494. /package/dist/{core → src/core}/type-utils.d.ts +0 -0
  495. /package/dist/{core → src/core}/type-utils.js +0 -0
  496. /package/dist/{emitter-framework → src/emitter-framework}/asset-emitter.d.ts +0 -0
  497. /package/dist/{emitter-framework → src/emitter-framework}/builders/array-builder.d.ts +0 -0
  498. /package/dist/{emitter-framework → src/emitter-framework}/builders/array-builder.js +0 -0
  499. /package/dist/{emitter-framework → src/emitter-framework}/builders/object-builder.d.ts +0 -0
  500. /package/dist/{emitter-framework → src/emitter-framework}/builders/object-builder.js +0 -0
  501. /package/dist/{emitter-framework → src/emitter-framework}/builders/string-builder.d.ts +0 -0
  502. /package/dist/{emitter-framework → src/emitter-framework}/builders/string-builder.js +0 -0
  503. /package/dist/{emitter-framework → src/emitter-framework}/custom-key-map.d.ts +0 -0
  504. /package/dist/{emitter-framework → src/emitter-framework}/custom-key-map.js +0 -0
  505. /package/dist/{emitter-framework → src/emitter-framework}/index.d.ts +0 -0
  506. /package/dist/{emitter-framework → src/emitter-framework}/index.js +0 -0
  507. /package/dist/{emitter-framework → src/emitter-framework}/placeholder.d.ts +0 -0
  508. /package/dist/{emitter-framework → src/emitter-framework}/placeholder.js +0 -0
  509. /package/dist/{formatter → src/formatter}/index.d.ts +0 -0
  510. /package/dist/{formatter → src/formatter}/index.js +0 -0
  511. /package/dist/{formatter → src/formatter}/parser.d.ts +0 -0
  512. /package/dist/{formatter → src/formatter}/print/comment-handler.d.ts +0 -0
  513. /package/dist/{formatter → src/formatter}/print/index.d.ts +0 -0
  514. /package/dist/{formatter → src/formatter}/print/index.js +0 -0
  515. /package/dist/{formatter → src/formatter}/print/needs-parens.d.ts +0 -0
  516. /package/dist/{formatter → src/formatter}/print/needs-parens.js +0 -0
  517. /package/dist/{formatter → src/formatter}/print/types.d.ts +0 -0
  518. /package/dist/{formatter → src/formatter}/print/types.js +0 -0
  519. /package/dist/{init → src/init}/index.d.ts +0 -0
  520. /package/dist/{init → src/init}/index.js +0 -0
  521. /package/dist/{init → src/init}/init-template.d.ts +0 -0
  522. /package/dist/{init → src/init}/init-template.js +0 -0
  523. /package/dist/{init → src/init}/init.d.ts +0 -0
  524. /package/dist/{init → src/init}/init.js +0 -0
  525. /package/dist/{lib → src/lib}/service.d.ts +0 -0
  526. /package/dist/{lib → src/lib}/service.js +0 -0
  527. /package/dist/{core → src}/manifest.d.ts +0 -0
  528. /package/dist/{core → src}/manifest.js +0 -0
  529. /package/dist/{cmd → src}/runner.d.ts +0 -0
  530. /package/dist/{server → src/server}/completion.d.ts +0 -0
  531. /package/dist/{server → src/server}/completion.js +0 -0
  532. /package/dist/{server → src/server}/index.d.ts +0 -0
  533. /package/dist/{server → src/server}/index.js +0 -0
  534. /package/dist/{server → src/server}/language-config.d.ts +0 -0
  535. /package/dist/{server → src/server}/server-utils.d.ts +0 -0
  536. /package/dist/{server → src/server}/server-utils.js +0 -0
  537. /package/dist/{server → src/server}/server.d.ts +0 -0
  538. /package/dist/{server → src/server}/serverlib.d.ts +0 -0
  539. /package/dist/{server → src/server}/symbol-structure.d.ts +0 -0
  540. /package/dist/{server → src/server}/symbol-structure.js +0 -0
  541. /package/dist/{server → src/server}/tmlanguage.d.ts +0 -0
  542. /package/dist/{server → src/server}/type-details.d.ts +0 -0
  543. /package/dist/{server → src/server}/type-signature.d.ts +0 -0
  544. /package/dist/{server → src/server}/type-signature.js +0 -0
  545. /package/dist/{testing → src/testing}/expect.d.ts +0 -0
  546. /package/dist/{testing → src/testing}/expect.js +0 -0
  547. /package/dist/{testing → src/testing}/test-host.d.ts +0 -0
  548. /package/dist/{testing → src/testing}/test-server-host.d.ts +0 -0
  549. /package/dist/{testing → src/testing}/test-server-host.js +0 -0
  550. /package/dist/{testing → src/testing}/test-utils.d.ts +0 -0
  551. /package/dist/{testing → src/testing}/test-utils.js +0 -0
  552. /package/dist/{testing → src/testing}/types.d.ts +0 -0
  553. /package/dist/{testing → src/testing}/types.js +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"program.d.ts","sourceRoot":"","sources":["../../../src/core/program.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAiB,MAAM,cAAc,CAAC;AAkBtD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAI/C,OAAO,EACL,YAAY,EACZ,UAAU,EAKV,WAAW,EACX,gBAAgB,EAEhB,eAAe,EACf,WAAW,EACX,eAAe,EAEf,SAAS,EAIT,qBAAqB,EACrB,SAAS,EACT,UAAU,EAGV,WAAW,EAEX,MAAM,EACN,IAAI,EAEJ,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAYpB,MAAM,WAAW,gBAAiB,SAAQ,OAAO;IAC/C,SAAS,EAAE,SAAS,CAAC;CACtB;AAED,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,OAAO,GAAG,gBAAgB,GAClC,OAAO,IAAI,gBAAgB,CAE7B;AAED,MAAM,WAAW,OAAO;IACtB,eAAe,EAAE,eAAe,CAAC;IACjC,QAAQ,CAAC,EAAE,kBAAkB,CAAC;IAC9B,iEAAiE;IACjE,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAC7C,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAC7C,YAAY,EAAE,GAAG,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,EAAE,WAAW,CAAC,CAAC;IAC1D,IAAI,EAAE,YAAY,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3C,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,UAAU,EAAE,CAAC;IACvB,QAAQ,CAAC,WAAW,EAAE,SAAS,UAAU,EAAE,CAAC;IAC5C,kBAAkB,CAAC,cAAc,EAAE,UAAU,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAC5E,UAAU,CAAC,EAAE,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACjE,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAC3C,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC;IACjC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACjC,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACtC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACjC,QAAQ,IAAI,OAAO,CAAC;IACpB,gBAAgB,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI,CAAC;IAC/C,iBAAiB,CAAC,WAAW,EAAE,SAAS,UAAU,EAAE,GAAG,IAAI,CAAC;IAC5D,sBAAsB,CAAC,OAAO,EAAE,WAAW,GAAG,SAAS,GAAG,IAAI,CAAC;IAE/D,sBAAsB,IAAI,SAAS,CAAC;IACpC,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,CAAC,IAAI,GAAG,SAAS,EAAE,SAAS,UAAU,EAAE,CAAC,CAAC;IAEnF,wDAAwD;IACxD,4BAA4B,CAAC,UAAU,EAAE,UAAU,GAAG,eAAe,CAAC;IAEtE;;OAEG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED,UAAU,UAAU;IAClB,YAAY,EAAE,WAAW,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,eAAe,CAAC;IAC1B,gBAAgB,EAAE,MAAM,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED,cAAM,QAAS,SAAQ,GAAG,CAAC,SAAS,GAAG,SAAS,EAAE,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;CAAG;AACxE,cAAM,QAAS,SAAQ,GAAG,CAAC,SAAS,GAAG,SAAS,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;CAAG;AAE/D,cAAM,YAAY,CAAC,CAAC,CAAE,YAAW,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;IACxB,OAAO,CAAC,KAAK;IAAY,OAAO,CAAC,SAAS,CAAC;gBAAnC,KAAK,EAAE,QAAQ,EAAU,SAAS,CAAC,uBAAW;IAEzE,GAAG,CAAC,CAAC,EAAE,IAAI;IAIX,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG;IAKnB,GAAG,CAAC,CAAC,EAAE,IAAI;IAIX,MAAM,CAAC,CAAC,EAAE,IAAI;IAId,OAAO,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,CAAC,EAAE,GAAG;IAK3E,IAAI,IAAI,WAEP;IAED,KAAK;IAIL,OAAO;IAIP,MAAM;IAIN,IAAI;IAIJ,CAAC,MAAM,CAAC,QAAQ,CAAC;IAIjB,CAAC,MAAM,CAAC,WAAW,CAAC,SAAc;IAElC,QAAQ,CAAC,OAAO,CAAC,EAAE,IAAI,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;CAQvC;AAED,cAAM,YAAa,YAAW,GAAG,CAAC,IAAI,CAAC;IAClB,OAAO,CAAC,KAAK;IAAY,OAAO,CAAC,SAAS,CAAC;gBAAnC,KAAK,EAAE,QAAQ,EAAU,SAAS,CAAC,uBAAW;IAEzE,GAAG,CAAC,CAAC,EAAE,IAAI;IAIX,GAAG,CAAC,CAAC,EAAE,IAAI;IAKX,MAAM,CAAC,CAAC,EAAE,IAAI;IAId,OAAO,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,OAAO,CAAC,EAAE,GAAG;IAK9E,IAAI,IAAI,WAEP;IAED,KAAK;IAIL,MAAM;IAIN,IAAI;IAIJ,OAAO;IAIP,CAAC,MAAM,CAAC,QAAQ,CAAC;IAIjB,CAAC,MAAM,CAAC,WAAW,CAAC,SAAc;IAElC,QAAQ,CAAC,OAAO,CAAC,EAAE,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;CAQpC;AAOD,wBAAgB,cAAc,CAC5B,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,qBAAqB,EAAE,EACpC,SAAS,CAAC,EAAE,IAAI,GACf,gBAAgB,CAElB;AAED,wBAAsB,OAAO,CAC3B,IAAI,EAAE,YAAY,EAClB,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,eAAoB,EAC7B,UAAU,CAAC,EAAE,OAAO,GACnB,OAAO,CAAC,OAAO,CAAC,CAs5BlB;AAED,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,EAChC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,EAChC,SAAS,CAAC,EAAE,SAAS;uBAEK,MAAM;oBAWT,MAAM,KAAG,YAAY;EAY7C"}
@@ -1,13 +1,14 @@
1
1
  var _a, _b;
2
2
  import { createAssetEmitter } from "../emitter-framework/asset-emitter.js";
3
+ import { MANIFEST } from "../manifest.js";
3
4
  import { createBinder } from "./binder.js";
4
5
  import { createChecker } from "./checker.js";
5
6
  import { compilerAssert, createSourceFile } from "./diagnostics.js";
6
7
  import { resolveTypeSpecEntrypoint, resolveTypeSpecEntrypointForDir, } from "./entrypoint-resolution.js";
7
8
  import { getLibraryUrlsLoaded } from "./library.js";
9
+ import { createLinter } from "./linter.js";
8
10
  import { createLogger } from "./logger/index.js";
9
11
  import { createTracer } from "./logger/tracer.js";
10
- import { MANIFEST } from "./manifest.js";
11
12
  import { createDiagnostic } from "./messages.js";
12
13
  import { resolveModule, } from "./module-resolver.js";
13
14
  import { isImportStatement, parse, parseStandaloneTypeReference } from "./parser.js";
@@ -136,6 +137,7 @@ export async function compile(host, mainFile, options = {}, oldProgram // NOTE:
136
137
  const emitters = [];
137
138
  const requireImports = new Map();
138
139
  const loadedLibraries = new Map();
140
+ const sourceFileLocationContexts = new WeakMap();
139
141
  let error = false;
140
142
  const logger = createLogger({ sink: host.logSink });
141
143
  const tracer = createTracer(logger, { filter: options.trace });
@@ -167,6 +169,7 @@ export async function compile(host, mainFile, options = {}, oldProgram // NOTE:
167
169
  },
168
170
  getGlobalNamespaceType,
169
171
  resolveTypeReference,
172
+ getSourceFileLocationContext,
170
173
  projectRoot: getDirectoryPath((_d = (_c = options.config) !== null && _c !== void 0 ? _c : resolvedMain) !== null && _d !== void 0 ? _d : ""),
171
174
  };
172
175
  trace("compiler.options", JSON.stringify(options, null, 2));
@@ -181,22 +184,25 @@ export async function compile(host, mainFile, options = {}, oldProgram // NOTE:
181
184
  if (resolvedMain && options.additionalImports) {
182
185
  const importScript = options.additionalImports.map((i) => `import "${i}";`).join("\n");
183
186
  const sourceFile = createSourceFile(importScript, joinPaths(getDirectoryPath(resolvedMain), `__additional_imports`));
187
+ sourceFileLocationContexts.set(sourceFile, { type: "project" });
184
188
  await loadTypeSpecScript(sourceFile);
185
189
  }
186
190
  if (resolvedMain) {
187
- await loadMain(resolvedMain, options);
191
+ await loadMain(resolvedMain);
188
192
  }
189
- if (resolvedMain) {
190
- let emit = options.emit;
191
- let emitterOptions = options.options;
192
- /* eslint-disable deprecation/deprecation */
193
- if (options.emitters) {
194
- emit !== null && emit !== void 0 ? emit : (emit = Object.keys(options.emitters));
195
- emitterOptions !== null && emitterOptions !== void 0 ? emitterOptions : (emitterOptions = options.emitters);
196
- }
197
- /* eslint-enable deprecation/deprecation */
198
- await loadEmitters(resolvedMain, emit !== null && emit !== void 0 ? emit : [], emitterOptions !== null && emitterOptions !== void 0 ? emitterOptions : {});
193
+ else {
194
+ return program;
199
195
  }
196
+ const basedir = getDirectoryPath(resolvedMain);
197
+ let emit = options.emit;
198
+ let emitterOptions = options.options;
199
+ /* eslint-disable deprecation/deprecation */
200
+ if (options.emitters) {
201
+ emit !== null && emit !== void 0 ? emit : (emit = Object.keys(options.emitters));
202
+ emitterOptions !== null && emitterOptions !== void 0 ? emitterOptions : (emitterOptions = options.emitters);
203
+ }
204
+ /* eslint-enable deprecation/deprecation */
205
+ await loadEmitters(basedir, emit !== null && emit !== void 0 ? emit : [], emitterOptions !== null && emitterOptions !== void 0 ? emitterOptions : {});
200
206
  if (oldProgram &&
201
207
  mapEquals(oldProgram.sourceFiles, program.sourceFiles) &&
202
208
  deepEquals(oldProgram.compilerOptions, program.compilerOptions)) {
@@ -204,11 +210,16 @@ export async function compile(host, mainFile, options = {}, oldProgram // NOTE:
204
210
  }
205
211
  // let GC reclaim old program, we do not reuse it beyond this point.
206
212
  oldProgram = undefined;
213
+ const linter = createLinter(program, (name) => loadLibrary(basedir, name));
214
+ if (options.linterRuleSet) {
215
+ program.reportDiagnostics(await linter.extendRuleSet(options.linterRuleSet));
216
+ }
207
217
  program.checker = createChecker(program);
208
218
  program.checker.checkProgram();
209
219
  if (program.hasError()) {
210
220
  return program;
211
221
  }
222
+ // onValidate stage
212
223
  for (const cb of validateCbs) {
213
224
  try {
214
225
  await cb(program);
@@ -239,6 +250,9 @@ export async function compile(host, mainFile, options = {}, oldProgram // NOTE:
239
250
  if (program.hasError()) {
240
251
  return program;
241
252
  }
253
+ // Linter stage
254
+ program.reportDiagnostics(linter.lint());
255
+ // Emitter stage
242
256
  for (const instance of emitters) {
243
257
  await runEmitter(instance);
244
258
  }
@@ -287,16 +301,17 @@ export async function compile(host, mainFile, options = {}, oldProgram // NOTE:
287
301
  }
288
302
  }
289
303
  async function loadStandardLibrary(program) {
304
+ const locationContext = { type: "compiler" };
290
305
  for (const dir of host.getLibDirs()) {
291
- await loadDirectory(dir, NoTarget);
306
+ await loadDirectory(dir, locationContext, NoTarget);
292
307
  }
293
308
  }
294
- async function loadDirectory(dir, diagnosticTarget) {
309
+ async function loadDirectory(dir, locationContext, diagnosticTarget) {
295
310
  const mainFile = await resolveTypeSpecEntrypointForDir(host, dir, reportDiagnostic);
296
- await loadTypeSpecFile(mainFile, diagnosticTarget);
311
+ await loadTypeSpecFile(mainFile, locationContext, diagnosticTarget);
297
312
  return mainFile;
298
313
  }
299
- async function loadTypeSpecFile(path, diagnosticTarget) {
314
+ async function loadTypeSpecFile(path, locationContext, diagnosticTarget) {
300
315
  if (seenSourceFiles.has(path)) {
301
316
  return;
302
317
  }
@@ -305,15 +320,17 @@ export async function compile(host, mainFile, options = {}, oldProgram // NOTE:
305
320
  diagnosticTarget,
306
321
  });
307
322
  if (file) {
323
+ sourceFileLocationContexts.set(file, locationContext);
308
324
  await loadTypeSpecScript(file);
309
325
  }
310
326
  }
311
- async function loadJsFile(path, diagnosticTarget) {
327
+ async function loadJsFile(path, locationContext, diagnosticTarget) {
312
328
  const sourceFile = program.jsSourceFiles.get(path);
313
329
  if (sourceFile !== undefined) {
314
330
  return sourceFile;
315
331
  }
316
332
  const file = createSourceFile("", path);
333
+ sourceFileLocationContexts.set(file, locationContext);
317
334
  const exports = await doIO(host.getJsImport, path, program.reportDiagnostic, {
318
335
  diagnosticTarget,
319
336
  jsDiagnosticTarget: { file, pos: 0, end: 0 },
@@ -343,8 +360,8 @@ export async function compile(host, mainFile, options = {}, oldProgram // NOTE:
343
360
  /**
344
361
  * Import the Javascript files decorator and lifecycle hooks.
345
362
  */
346
- async function importJsFile(path, diagnosticTarget) {
347
- const file = await loadJsFile(path, diagnosticTarget);
363
+ async function importJsFile(path, locationContext, diagnosticTarget) {
364
+ const file = await loadJsFile(path, locationContext, diagnosticTarget);
348
365
  if (file !== undefined) {
349
366
  program.jsSourceFiles.set(path, file);
350
367
  binder.bindJsSourceFile(file);
@@ -376,15 +393,20 @@ export async function compile(host, mainFile, options = {}, oldProgram // NOTE:
376
393
  async function loadScriptImports(file) {
377
394
  // collect imports
378
395
  const basedir = getDirectoryPath(file.file.path);
379
- await loadImports(file.statements.filter(isImportStatement).map((x) => ({ path: x.path.value, target: x })), basedir);
396
+ await loadImports(file.statements.filter(isImportStatement).map((x) => ({ path: x.path.value, target: x })), basedir, getSourceFileLocationContext(file.file));
397
+ }
398
+ function getSourceFileLocationContext(sourcefile) {
399
+ const locationContext = sourceFileLocationContexts.get(sourcefile);
400
+ compilerAssert(locationContext, "SourceFile should have a declaration locationContext.");
401
+ return locationContext;
380
402
  }
381
- async function loadImports(imports, relativeTo) {
403
+ async function loadImports(imports, relativeTo, locationContext) {
382
404
  // collect imports
383
405
  for (const { path, target } of imports) {
384
- await loadImport(path, target, relativeTo);
406
+ await loadImport(path, target, relativeTo, locationContext);
385
407
  }
386
408
  }
387
- async function loadImport(path, target, relativeTo) {
409
+ async function loadImport(path, target, relativeTo, locationContext) {
388
410
  const library = await resolveTypeSpecLibrary(path, relativeTo, target);
389
411
  if (library === undefined) {
390
412
  return;
@@ -395,49 +417,68 @@ export async function compile(host, mainFile, options = {}, oldProgram // NOTE:
395
417
  manifest: library.manifest,
396
418
  });
397
419
  trace("import-resolution.library", `Loading library "${path}" from "${library.mainFile}"`);
420
+ const metadata = computeModuleMetadata(library);
421
+ locationContext = {
422
+ type: "library",
423
+ metadata,
424
+ };
398
425
  }
399
426
  const importFilePath = library.type === "module" ? library.mainFile : library.path;
400
427
  const isDirectory = (await host.stat(importFilePath)).isDirectory();
401
428
  if (isDirectory) {
402
- return await loadDirectory(importFilePath, target);
429
+ return await loadDirectory(importFilePath, locationContext, target);
403
430
  }
404
431
  const sourceFileKind = host.getSourceFileKind(importFilePath);
405
432
  switch (sourceFileKind) {
406
433
  case "js":
407
- return await importJsFile(importFilePath, target);
434
+ return await importJsFile(importFilePath, locationContext, target);
408
435
  case "typespec":
409
- return await loadTypeSpecFile(importFilePath, target);
436
+ return await loadTypeSpecFile(importFilePath, locationContext, target);
410
437
  default:
411
438
  program.reportDiagnostic(createDiagnostic({ code: "invalid-import", target }));
412
439
  }
413
440
  }
414
- async function loadEmitters(mainFile, emitterNameOrPaths, emitterOptions) {
441
+ async function loadEmitters(basedir, emitterNameOrPaths, emitterOptions) {
415
442
  for (const emitterNameOrPath of emitterNameOrPaths) {
416
- const emitter = await loadEmitter(mainFile, emitterNameOrPath, emitterOptions);
443
+ const emitter = await loadEmitter(basedir, emitterNameOrPath, emitterOptions);
417
444
  if (emitter) {
418
445
  emitters.push(emitter);
419
446
  }
420
447
  }
421
448
  }
422
- async function resolveEmitterModuleAndEntrypoint(mainFile, emitterNameOrPath) {
423
- const basedir = getDirectoryPath(mainFile);
449
+ async function resolveEmitterModuleAndEntrypoint(basedir, emitterNameOrPath) {
450
+ const locationContext = { type: "project" };
424
451
  // attempt to resolve a node module with this name
425
- const [module, diagnostics] = await resolveJSLibrary(emitterNameOrPath, basedir);
452
+ const [module, diagnostics] = await resolveJSLibrary(emitterNameOrPath, basedir, locationContext);
426
453
  if (!module) {
427
454
  return [undefined, diagnostics];
428
455
  }
429
456
  const entrypoint = module.type === "file" ? module.path : module.mainFile;
430
- const file = await loadJsFile(entrypoint, NoTarget);
457
+ const file = await loadJsFile(entrypoint, locationContext, NoTarget);
431
458
  return [{ module, entrypoint: file }, []];
432
459
  }
433
- async function loadEmitter(mainFile, emitterNameOrPath, emittersOptions) {
434
- var _c, _d, _e, _f;
435
- const [resolution, diagnostics] = await resolveEmitterModuleAndEntrypoint(mainFile, emitterNameOrPath);
460
+ async function loadLibrary(basedir, libraryNameOrPath) {
461
+ const [resolution, diagnostics] = await resolveEmitterModuleAndEntrypoint(basedir, libraryNameOrPath);
436
462
  if (resolution === undefined) {
437
463
  program.reportDiagnostics(diagnostics);
438
464
  return undefined;
439
465
  }
440
466
  const { module, entrypoint } = resolution;
467
+ const libDefinition = entrypoint === null || entrypoint === void 0 ? void 0 : entrypoint.esmExports.$lib;
468
+ const metadata = computeLibraryMetadata(module, libDefinition);
469
+ return {
470
+ ...resolution,
471
+ metadata,
472
+ definition: libDefinition,
473
+ };
474
+ }
475
+ async function loadEmitter(basedir, emitterNameOrPath, emittersOptions) {
476
+ var _c, _d, _e, _f;
477
+ const library = await loadLibrary(basedir, emitterNameOrPath);
478
+ if (library === undefined) {
479
+ return undefined;
480
+ }
481
+ const { entrypoint, metadata } = library;
441
482
  if (entrypoint === undefined) {
442
483
  program.reportDiagnostic(createDiagnostic({
443
484
  code: "invalid-emitter",
@@ -447,8 +488,7 @@ export async function compile(host, mainFile, options = {}, oldProgram // NOTE:
447
488
  return undefined;
448
489
  }
449
490
  const emitFunction = entrypoint.esmExports.$onEmit;
450
- const libDefinition = entrypoint.esmExports.$lib;
451
- const metadata = computeLibraryMetadata(module, libDefinition);
491
+ const libDefinition = library.definition;
452
492
  let { "emitter-output-dir": emitterOutputDir, ...emitterOptions } = (_d = emittersOptions[(_c = metadata.name) !== null && _c !== void 0 ? _c : emitterNameOrPath]) !== null && _d !== void 0 ? _d : {};
453
493
  if (emitterOutputDir === undefined) {
454
494
  emitterOutputDir = [options.outputDir, metadata.name].filter(isDefined).join("/");
@@ -484,20 +524,25 @@ export async function compile(host, mainFile, options = {}, oldProgram // NOTE:
484
524
  }
485
525
  }
486
526
  function computeLibraryMetadata(module, libDefinition) {
487
- var _c, _d, _e;
488
527
  if (module.type === "file") {
489
528
  return {
529
+ type: "file",
490
530
  name: libDefinition === null || libDefinition === void 0 ? void 0 : libDefinition.name,
491
531
  };
492
532
  }
533
+ return computeModuleMetadata(module);
534
+ }
535
+ function computeModuleMetadata(module) {
536
+ var _c, _d;
493
537
  const metadata = {
494
- name: (_c = libDefinition === null || libDefinition === void 0 ? void 0 : libDefinition.name) !== null && _c !== void 0 ? _c : module.manifest.name,
538
+ type: "module",
539
+ name: module.manifest.name,
495
540
  };
496
541
  if (module.manifest.homepage) {
497
542
  metadata.homepage = module.manifest.homepage;
498
543
  }
499
- if ((_d = module.manifest.bugs) === null || _d === void 0 ? void 0 : _d.url) {
500
- metadata.bugs = { url: (_e = module.manifest.bugs) === null || _e === void 0 ? void 0 : _e.url };
544
+ if ((_c = module.manifest.bugs) === null || _c === void 0 ? void 0 : _c.url) {
545
+ metadata.bugs = { url: (_d = module.manifest.bugs) === null || _d === void 0 ? void 0 : _d.url };
501
546
  }
502
547
  return metadata;
503
548
  }
@@ -578,7 +623,7 @@ export async function compile(host, mainFile, options = {}, oldProgram // NOTE:
578
623
  * resolves a module specifier like "myLib" to an absolute path where we can find the main of
579
624
  * that module, e.g. "/typespec/node_modules/myLib/dist/lib.js".
580
625
  */
581
- async function resolveJSLibrary(specifier, baseDir) {
626
+ async function resolveJSLibrary(specifier, baseDir, locationContext) {
582
627
  try {
583
628
  return [await resolveModule(getResolveModuleHost(), specifier, { baseDir }), []];
584
629
  }
@@ -625,17 +670,16 @@ export async function compile(host, mainFile, options = {}, oldProgram // NOTE:
625
670
  /**
626
671
  * Load the main file from the given path
627
672
  * @param mainPath Absolute path to the main file.
628
- * @param options Compiler options.
629
- * @returns
630
673
  */
631
- async function loadMain(mainPath, options) {
674
+ async function loadMain(mainPath) {
632
675
  await checkForCompilerVersionMismatch(mainPath);
633
676
  const sourceFileKind = host.getSourceFileKind(mainPath);
677
+ const locationContext = { type: "project" };
634
678
  switch (sourceFileKind) {
635
679
  case "js":
636
- return await importJsFile(mainPath, NoTarget);
680
+ return await importJsFile(mainPath, locationContext, NoTarget);
637
681
  case "typespec":
638
- return await loadTypeSpecFile(mainPath, NoTarget);
682
+ return await loadTypeSpecFile(mainPath, locationContext, NoTarget);
639
683
  default:
640
684
  program.reportDiagnostic(createDiagnostic({ code: "invalid-main", target: NoTarget }));
641
685
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"program.js","sourceRoot":"","sources":["../../../src/core/program.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"projection-members.d.ts","sourceRoot":"","sources":["../../../src/core/projection-members.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,OAAO,EAAc,IAAI,EAAgB,MAAM,YAAY,CAAC;AAE5D,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG;KACxD,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG;QAAE,IAAI,EAAE,KAAK,CAAA;KAAE,KAAK,IAAI,CAAC;CACjF,CAqZA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"projection-members.js","sourceRoot":"","sources":["../../../src/core/projection-members.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"projector.d.ts","sourceRoot":"","sources":["../../../src/core/projector.ts"],"names":[],"mappings":"AAEA,OAAO,EAA4C,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEnG,OAAO,EAUL,qBAAqB,EAIrB,IAAI,EAIL,MAAM,YAAY,CAAC;AAGpB;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,qBAAqB,EAAE,EACpC,SAAS,CAAC,EAAE,IAAI,GACf,gBAAgB,CAumBlB"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"projector.js","sourceRoot":"","sources":["../../../src/core/projector.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scanner.d.ts","sourceRoot":"","sources":["../../../src/core/scanner.ts"],"names":[],"mappings":"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"}
@@ -113,7 +113,7 @@ export var Token;
113
113
  /** @internal */ Token[Token["__EndKeyword"] = 72] = "__EndKeyword";
114
114
  ///////////////////////////////////////////////////////////////
115
115
  /** @internal */ Token[Token["__Count"] = 72] = "__Count";
116
- })(Token = Token || (Token = {}));
116
+ })(Token || (Token = {}));
117
117
  /** @internal */
118
118
  export const TokenDisplay = getTokenDisplayTable([
119
119
  [Token.None, "none"],
@@ -226,7 +226,7 @@ export var TokenFlags;
226
226
  TokenFlags[TokenFlags["NonAscii"] = 8] = "NonAscii";
227
227
  TokenFlags[TokenFlags["DocComment"] = 16] = "DocComment";
228
228
  TokenFlags[TokenFlags["Backticked"] = 32] = "Backticked";
229
- })(TokenFlags = TokenFlags || (TokenFlags = {}));
229
+ })(TokenFlags || (TokenFlags = {}));
230
230
  export function isTrivia(token) {
231
231
  return token >= Token.__StartTrivia && token < Token.__EndTrivia;
232
232
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scanner.js","sourceRoot":"","sources":["../../../src/core/scanner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-validator.d.ts","sourceRoot":"","sources":["../../../src/core/schema-validator.ts"],"names":[],"mappings":"AAEA,OAAO,EAAc,cAAc,EAAE,mBAAmB,EAAwB,MAAM,YAAY,CAAC;AAEnG,MAAM,WAAW,0BAA0B;IACzC,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,wBAAgB,yBAAyB,CAAC,CAAC,EACzC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,EACzB,OAAO,GAAE,0BAA+B,GACvC,mBAAmB,CAwBrB"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-validator.js","sourceRoot":"","sources":["../../../src/core/schema-validator.ts"],"names":[],"mappings":"AAAA,OAAO,GAAoB,MAAM,KAAK,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAmD,QAAQ,EAAc,MAAM,YAAY,CAAC;AAMnG,MAAM,UAAU,yBAAyB,CACvC,MAAyB,EACzB,UAAsC,EAAE;IAExC,MAAM,GAAG,GAAG,IAAK,GAAW,CAAC;QAC3B,MAAM,EAAE,IAAI;QACZ,WAAW,EAAE,OAAO,CAAC,WAAW;KACjC,CAAC,CAAC;IAEH,OAAO,EAAE,QAAQ,EAAE,CAAC;IAEpB,SAAS,QAAQ,CAAC,MAAe,EAAE,MAAoC;;QACrE,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACrC,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC/B,cAAc,CACZ,CAAC,KAAK,IAAI,CAAC,QAAQ,CAAC,MAAM,EAC1B,6DAA6D,CAC9D,CAAC;QAEF,MAAM,WAAW,GAAG,EAAE,CAAC;QACvB,KAAK,MAAM,KAAK,IAAI,MAAA,QAAQ,CAAC,MAAM,mCAAI,EAAE,EAAE;YACzC,MAAM,UAAU,GAAG,oBAAoB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YACvD,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SAC9B;QAED,OAAO,WAAW,CAAC;IACrB,CAAC;AACH,CAAC;AAED,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;AAEvD,SAAS,oBAAoB,CAC3B,KAAkB,EAClB,MAAoC;IAEpC,MAAM,YAAY,GAAG,CAAC,qBAAqB,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC,YAAY,IAAI,GAAG,GAAG,CAAC,CAAC;IAC3F,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,CAC7D,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,CAC1C,EAAE;QACD,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QACrF,YAAY,CAAC,IAAI,CAAC,KAAK,IAAI,KAAK,cAAc,EAAE,CAAC,CAAC;KACnD;IAED,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxC,OAAO;QACL,IAAI,EAAE,gBAAgB;QACtB,OAAO;QACP,QAAQ,EAAE,OAAO;QACjB,MAAM,EAAE,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE;KACxE,CAAC;AACJ,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"semantic-walker.d.ts","sourceRoot":"","sources":["../../../src/core/semantic-walker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,OAAO,EAKL,KAAK,EACL,aAAa,EACb,SAAS,EAGT,oBAAoB,EAGpB,IAAI,EACJ,aAAa,EAGd,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,0BAA0B,CAAC,EAAE,OAAO,CAAC;CACtC;AAED,MAAM,WAAW,0BAA0B;IACzC;;;OAGG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAMD;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,oBAAoB,EAC/B,OAAO,GAAE,iBAAsB,QAMhC;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,oBAAoB,EAC/B,OAAO,EAAE,iBAAiB,QAI3B;AAED;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CAAC,CAAC,SAAS,aAAa,EAChE,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,CAAC,EACZ,OAAO,GAAE,0BAA+B,GACvC,CAAC,CAgBH;AAED,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,aAAa,EACxB,OAAO,GAAE,0BAA0B,GAAG,iBAAsB,QAG7D;AAED;;;;GAIG;AACH,wBAAgB,6BAA6B,CAC3C,YAAY,EAAE,YAAY,CAAC,oBAAoB,CAAC,GAC/C,oBAAoB,CAStB;AAiQD,wBAAgB,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAQxF;AAED,qBAAa,YAAY,CAAC,CAAC,SAAS;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,GAAG,CAAA;CAAE;IAC1E,OAAO,CAAC,SAAS,CAA2D;IAErE,EAAE,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG;IAS3E,IAAI,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAQlE"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"semantic-walker.js","sourceRoot":"","sources":["../../../src/core/semantic-walker.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAIL,YAAY,GAab,MAAM,YAAY,CAAC;AAiBpB,MAAM,cAAc,GAAG;IACrB,0BAA0B,EAAE,KAAK;CAClC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAC7B,OAAgB,EAChB,SAA+B,EAC/B,UAA6B,EAAE;IAE/B,MAAM,OAAO,GAAG,uBAAuB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC5D,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAE9B,qBAAqB,CAAC,OAAO,CAAC,sBAAsB,EAAE,EAAE,OAAO,CAAC,CAAC;AACnE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAC1B,IAAU,EACV,SAA+B,EAC/B,OAA0B;IAE1B,MAAM,OAAO,GAAG,uBAAuB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC5D,oBAAoB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACtC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,0BAA0B,CACxC,SAAoB,EACpB,SAAY,EACZ,UAAsC,EAAE;IAExC,MAAM,gBAAgB,GAAkB,EAAE,CAAC;IAC3C,KAAK,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;QACxD,gBAAgB,CAAC,IAAkC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE;YAC3D,IAAI,CAAC,KAAK,SAAS,IAAI,WAAW,IAAI,CAAC,EAAE;gBACvC,IAAI,OAAO,CAAC,iBAAiB,IAAI,CAAC,CAAC,SAAS,KAAK,SAAS,EAAE;oBAC1D,OAAO,YAAY,CAAC,WAAW,CAAC;iBACjC;gBACD,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE;oBAC1D,OAAO,YAAY,CAAC,WAAW,CAAC;iBACjC;aACF;YACD,OAAO,QAAQ,CAAC,CAAQ,CAAC,CAAC;QAC5B,CAAC,CAAC;KACH;IACD,OAAO,gBAAuB,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,SAAoB,EACpB,SAAwB,EACxB,UAA0D,EAAE;IAE5D,YAAY,CAAC,SAAS,EAAE,0BAA0B,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;AAC9F,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,6BAA6B,CAC3C,YAAgD;IAEhD,MAAM,QAAQ,GAAyB,EAAE,CAAC;IAC1C,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE;QAClC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,EAAE;YAChC,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,GAAI,IAAc,CAAC,CAAC;QACnD,CAAC,CAAC;KACH;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,cAAc,CAAC,YAAuB,EAAE,SAAoB;IACnE,IAAI,OAAO,GAA0B,YAAY,CAAC;IAClD,OAAO,OAAO,KAAK,SAAS,EAAE;QAC5B,IAAI,OAAO,KAAK,SAAS,EAAE;YACzB,OAAO,IAAI,CAAC;SACb;QACD,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC;KAC7B;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AACD,SAAS,uBAAuB,CAC9B,SAA+B,EAC/B,UAA6B,EAAE;IAE/B,OAAO;QACL,OAAO,EAAE,IAAI,GAAG,EAAE;QAClB,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,EAAE,WAAC,OAAA,MAAA,SAAS,CAAC,GAAG,CAAC,0DAAG,GAAI,IAAc,CAAC,CAAA,EAAA;QAC5D,OAAO,EAAE,cAAc,CAAC,OAAO,CAAC;KACjC,CAAC;AACJ,CAAC;AAID,SAAS,cAAc,CAAC,OAA0B;IAChD,OAAO,EAAE,GAAG,cAAc,EAAE,GAAG,OAAO,EAAE,CAAC;AAC3C,CAAC;AAUD,SAAS,qBAAqB,CAAC,SAAoB,EAAE,OAA0B;IAC7E,IAAI,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,KAAK,YAAY,CAAC,WAAW;QAAE,OAAO;IAC9E,KAAK,MAAM,KAAK,IAAI,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE;QAC7C,iBAAiB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;KACnC;IACD,KAAK,MAAM,MAAM,IAAI,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE;QAC/C,kBAAkB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACrC;IACD,KAAK,MAAM,SAAS,IAAI,SAAS,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE;QACrD,qBAAqB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;KAC3C;IAED,KAAK,MAAM,YAAY,IAAI,SAAS,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE;QACxD,qBAAqB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;KAC9C;IAED,KAAK,MAAM,KAAK,IAAI,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE;QAC7C,iBAAiB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;KACnC;IAED,KAAK,MAAM,KAAK,IAAI,SAAS,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE;QACjD,qBAAqB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;KACvC;IAED,KAAK,MAAM,QAAQ,IAAI,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE;QAC/C,gBAAgB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;KACrC;IAED,KAAK,MAAM,SAAS,IAAI,SAAS,CAAC,qBAAqB,CAAC,MAAM,EAAE,EAAE;QAChE,4BAA4B,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;KAClD;AACH,CAAC;AAED,SAAS,YAAY,CAAC,OAAiB,EAAE,IAAU;IACjD,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;QACrB,OAAO,IAAI,CAAC;KACb;IACD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAClB,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,6BAA6B,CACpC,OAA0B,EAC1B,IAA2C;IAE3C,IAAI,OAAO,CAAC,OAAO,CAAC,0BAA0B,EAAE;QAC9C,OAAO,IAAI,CAAC,UAAU,IAAI,qBAAqB,CAAC,IAAI,CAAC,CAAC;KACvD;SAAM;QACL,OAAO,IAAI,CAAC,UAAU,CAAC;KACxB;AACH,CAAC;AACD,SAAS,qBAAqB,CAAC,SAAoB,EAAE,OAA0B;IAC7E,IAAI,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE;QAC5C,OAAO;KACR;IACD,IAAI,CAAC,6BAA6B,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE;QACtD,OAAO;KACR;IACD,IAAI,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,KAAK,YAAY,CAAC,WAAW;QAAE,OAAO;IAC9E,KAAK,MAAM,SAAS,IAAI,SAAS,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE;QAChE,oBAAoB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;KAC1C;IACD,oBAAoB,CAAC,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACpD,IAAI,SAAS,CAAC,eAAe,EAAE;QAC7B,oBAAoB,CAAC,SAAS,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;KAC1D;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAY,EAAE,OAA0B;IACjE,IAAI,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE;QACxC,OAAO;KACR;IACD,IAAI,CAAC,6BAA6B,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE;QAClD,OAAO;KACR;IACD,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,YAAY,CAAC,WAAW;QAAE,OAAO;IACtE,KAAK,MAAM,QAAQ,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE;QAChD,yBAAyB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;KAC9C;IACD,IAAI,KAAK,CAAC,SAAS,EAAE;QACnB,iBAAiB,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;KAC7C;IACD,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE;QACxC,oBAAoB,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;KACpD;IACD,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;AACnC,CAAC;AAED,SAAS,yBAAyB,CAAC,QAAuB,EAAE,OAA0B;IACpF,IAAI,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE;QAC3C,OAAO;KACR;IACD,IAAI,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,QAAQ,CAAC,KAAK,YAAY,CAAC,WAAW;QAAE,OAAO;IACjF,oBAAoB,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAC/C,CAAC;AAED,SAAS,kBAAkB,CAAC,MAAc,EAAE,OAA0B;IACpE,IAAI,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE;QACzC,OAAO;KACR;IACD,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,KAAK,YAAY,CAAC,WAAW;QAAE,OAAO;IACxE,IAAI,MAAM,CAAC,UAAU,EAAE;QACrB,kBAAkB,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;KAChD;IAED,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;AACrC,CAAC;AAED,SAAS,qBAAqB,CAAC,IAAe,EAAE,OAA0B;IACxE,IAAI,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE;QACvC,OAAO;KACR;IACD,IAAI,CAAC,6BAA6B,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE;QACjD,OAAO;KACR;IAED,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IAChC,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE;QACzC,qBAAqB,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;KACpC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAU,EAAE,OAA0B;IAC9D,IAAI,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE;QACvC,OAAO;KACR;IAED,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AAC7B,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAW,EAAE,OAA0B;IAChE,IAAI,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE;QACvC,OAAO;KACR;IACD,IAAI,CAAC,6BAA6B,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE;QACjD,OAAO;KACR;IACD,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,YAAY,CAAC,WAAW;QAAE,OAAO;IACrE,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE;QAC5C,wBAAwB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;KAC5C;AACH,CAAC;AAED,SAAS,wBAAwB,CAAC,IAAkB,EAAE,OAA0B;IAC9E,IAAI,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE;QACvC,OAAO;KACR;IACD,IAAI,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,KAAK,YAAY,CAAC,WAAW;QAAE,OAAO;IAC5E,oBAAoB,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAC3C,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAW,EAAE,OAA0B;IAChE,IAAI,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE;QACvC,OAAO;KACR;IACD,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,YAAY,CAAC,WAAW;QAAE,OAAO;IACrE,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE;QAC/B,oBAAoB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;KACtC;AACH,CAAC;AAED,SAAS,yBAAyB,CAAC,IAAuB,EAAE,OAA0B;IACpF,IAAI,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE;QACvC,OAAO;KACR;IACD,IAAI,OAAO,CAAC,IAAI,CAAC,mBAAmB,EAAE,IAAI,CAAC,KAAK,YAAY,CAAC,WAAW;QAAE,OAAO;AACnF,CAAC;AAED,SAAS,4BAA4B,CAAC,IAAe,EAAE,OAA0B;IAC/E,IAAI,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE;QACvC,OAAO;KACR;IACD,IAAI,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,KAAK,YAAY,CAAC,WAAW;QAAE,OAAO;AAC3E,CAAC;AAED,SAAS,oBAAoB,CAAC,IAAU,EAAE,OAA0B;IAClE,QAAQ,IAAI,CAAC,IAAI,EAAE;QACjB,KAAK,OAAO;YACV,OAAO,iBAAiB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC1C,KAAK,QAAQ;YACX,OAAO,kBAAkB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC3C,KAAK,eAAe;YAClB,OAAO,yBAAyB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAClD,KAAK,WAAW;YACd,OAAO,qBAAqB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC9C,KAAK,WAAW;YACd,OAAO,qBAAqB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC9C,KAAK,MAAM;YACT,OAAO,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACzC,KAAK,WAAW;YACd,OAAO,qBAAqB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC9C,KAAK,OAAO;YACV,OAAO,iBAAiB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC1C,KAAK,cAAc;YACjB,OAAO,wBAAwB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACjD,KAAK,OAAO;YACV,OAAO,iBAAiB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC1C,KAAK,mBAAmB;YACtB,OAAO,yBAAyB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAClD,KAAK,WAAW;YACd,OAAO,4BAA4B,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACrD,KAAK,QAAQ,CAAC;QACd,KAAK,YAAY,CAAC;QAClB,KAAK,UAAU,CAAC;QAChB,KAAK,mBAAmB,CAAC;QACzB,KAAK,SAAS,CAAC;QACf,KAAK,YAAY,CAAC;QAClB,KAAK,WAAW,CAAC;QACjB,KAAK,QAAQ,CAAC;QACd,KAAK,QAAQ;YACX,OAAO;QACT;YACE,6CAA6C;YAC7C,kEAAkE;YAClE,MAAM,YAAY,GAAU,IAAI,CAAC;YACjC,OAAO;KACV;AACH,CAAC;AAED,+DAA+D;AAC/D,MAAM,UAAU,WAAW,CAAC,IAAW,EAAE,YAAoB;IAC3D,OAAO,IAAI,CAAC,SAAS,EAAE;QACrB,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE;YACrC,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;SAC1C;QACD,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC;KACvB;IACD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,OAAO,YAAY;IAAzB;QACU,cAAS,GAAiD,IAAI,GAAG,EAAE,CAAC;IAmB9E,CAAC;IAjBQ,EAAE,CAAoB,IAAO,EAAE,QAA4C;QAChF,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,KAAK,EAAE;YACT,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SACtB;aAAM;YACL,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;SACtC;IACH,CAAC;IAEM,IAAI,CAAoB,IAAO,EAAE,GAAG,IAAsB;QAC/D,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,SAAS,EAAE;YACb,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE;gBAChC,QAAQ,CAAC,GAAI,IAAY,CAAC,CAAC;aAC5B;SACF;IACH,CAAC;CACF;AAED,MAAM,UAAU,GAAsC;IACpD,MAAM;IACN,mBAAmB;IACnB,uBAAuB;IACvB,QAAQ;IACR,YAAY;IACZ,OAAO;IACP,WAAW;IACX,eAAe;IACf,mBAAmB;IACnB,WAAW;IACX,eAAe;IACf,MAAM;IACN,UAAU;IACV,YAAY;IACZ,gBAAgB;IAChB,WAAW;IACX,eAAe;IACf,WAAW;IACX,eAAe;IACf,QAAQ;IACR,YAAY;IACZ,QAAQ;IACR,YAAY;IACZ,SAAS;IACT,aAAa;IACb,OAAO;IACP,WAAW;IACX,OAAO;IACP,WAAW;IACX,cAAc;IACd,kBAAkB;IAClB,WAAW;IACX,eAAe;IACf,UAAU;IACV,cAAc;IACd,QAAQ;IACR,YAAY;IACZ,YAAY;IACZ,gBAAgB;CACjB,CAAC"}