@typespec/compiler 1.18.0-dev.4 → 1.18.0-dev.5

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 (280) hide show
  1. package/dist/generated-defs/TypeSpec.d.ts +69 -1
  2. package/dist/generated-defs/TypeSpec.d.ts.map +1 -1
  3. package/dist/manifest.js +2 -2
  4. package/dist/src/config/config-to-options.d.ts +2 -0
  5. package/dist/src/config/config-to-options.d.ts.map +1 -1
  6. package/dist/src/config/config-to-options.js.map +1 -1
  7. package/dist/src/config/types.d.ts +26 -1
  8. package/dist/src/config/types.d.ts.map +1 -1
  9. package/dist/src/core/checker.d.ts +23 -0
  10. package/dist/src/core/checker.d.ts.map +1 -1
  11. package/dist/src/core/checker.js.map +1 -1
  12. package/dist/src/core/code-fixes.d.ts +6 -0
  13. package/dist/src/core/code-fixes.d.ts.map +1 -1
  14. package/dist/src/core/code-fixes.js +6 -0
  15. package/dist/src/core/code-fixes.js.map +1 -1
  16. package/dist/src/core/compiler-code-fixes/suppress.codefix.d.ts +7 -0
  17. package/dist/src/core/compiler-code-fixes/suppress.codefix.d.ts.map +1 -1
  18. package/dist/src/core/compiler-code-fixes/suppress.codefix.js +7 -0
  19. package/dist/src/core/compiler-code-fixes/suppress.codefix.js.map +1 -1
  20. package/dist/src/core/decorator-utils.d.ts +17 -0
  21. package/dist/src/core/decorator-utils.d.ts.map +1 -1
  22. package/dist/src/core/decorator-utils.js +5 -0
  23. package/dist/src/core/decorator-utils.js.map +1 -1
  24. package/dist/src/core/diagnostics.d.ts +9 -0
  25. package/dist/src/core/diagnostics.d.ts.map +1 -1
  26. package/dist/src/core/diagnostics.js +2 -0
  27. package/dist/src/core/diagnostics.js.map +1 -1
  28. package/dist/src/core/emitter-utils.d.ts +5 -0
  29. package/dist/src/core/emitter-utils.d.ts.map +1 -1
  30. package/dist/src/core/emitter-utils.js.map +1 -1
  31. package/dist/src/core/file-ref.d.ts +2 -0
  32. package/dist/src/core/file-ref.d.ts.map +1 -1
  33. package/dist/src/core/file-ref.js +1 -0
  34. package/dist/src/core/file-ref.js.map +1 -1
  35. package/dist/src/core/helpers/discriminator-utils.d.ts +14 -0
  36. package/dist/src/core/helpers/discriminator-utils.d.ts.map +1 -1
  37. package/dist/src/core/helpers/discriminator-utils.js +5 -0
  38. package/dist/src/core/helpers/discriminator-utils.js.map +1 -1
  39. package/dist/src/core/helpers/location-context.d.ts +1 -0
  40. package/dist/src/core/helpers/location-context.d.ts.map +1 -1
  41. package/dist/src/core/helpers/location-context.js +1 -0
  42. package/dist/src/core/helpers/location-context.js.map +1 -1
  43. package/dist/src/core/helpers/operation-utils.d.ts +1 -0
  44. package/dist/src/core/helpers/operation-utils.d.ts.map +1 -1
  45. package/dist/src/core/helpers/operation-utils.js.map +1 -1
  46. package/dist/src/core/helpers/type-name-utils.d.ts +7 -0
  47. package/dist/src/core/helpers/type-name-utils.d.ts.map +1 -1
  48. package/dist/src/core/helpers/type-name-utils.js +3 -0
  49. package/dist/src/core/helpers/type-name-utils.js.map +1 -1
  50. package/dist/src/core/helpers/usage-resolver.d.ts +9 -0
  51. package/dist/src/core/helpers/usage-resolver.d.ts.map +1 -1
  52. package/dist/src/core/helpers/usage-resolver.js +4 -0
  53. package/dist/src/core/helpers/usage-resolver.js.map +1 -1
  54. package/dist/src/core/intrinsic-type-state.d.ts +44 -17
  55. package/dist/src/core/intrinsic-type-state.d.ts.map +1 -1
  56. package/dist/src/core/intrinsic-type-state.js +41 -17
  57. package/dist/src/core/intrinsic-type-state.js.map +1 -1
  58. package/dist/src/core/library.d.ts +2 -0
  59. package/dist/src/core/library.d.ts.map +1 -1
  60. package/dist/src/core/library.js +2 -0
  61. package/dist/src/core/library.js.map +1 -1
  62. package/dist/src/core/logger/console-sink.d.ts +4 -0
  63. package/dist/src/core/logger/console-sink.d.ts.map +1 -1
  64. package/dist/src/core/logger/console-sink.js +1 -0
  65. package/dist/src/core/logger/console-sink.js.map +1 -1
  66. package/dist/src/core/numeric.d.ts +11 -1
  67. package/dist/src/core/numeric.d.ts.map +1 -1
  68. package/dist/src/core/numeric.js.map +1 -1
  69. package/dist/src/core/options.d.ts +8 -2
  70. package/dist/src/core/options.d.ts.map +1 -1
  71. package/dist/src/core/param-message.d.ts +9 -0
  72. package/dist/src/core/param-message.d.ts.map +1 -1
  73. package/dist/src/core/param-message.js +9 -0
  74. package/dist/src/core/param-message.js.map +1 -1
  75. package/dist/src/core/parser.d.ts +19 -0
  76. package/dist/src/core/parser.d.ts.map +1 -1
  77. package/dist/src/core/parser.js +18 -0
  78. package/dist/src/core/parser.js.map +1 -1
  79. package/dist/src/core/path-utils.d.ts +24 -0
  80. package/dist/src/core/path-utils.d.ts.map +1 -1
  81. package/dist/src/core/path-utils.js +9 -1
  82. package/dist/src/core/path-utils.js.map +1 -1
  83. package/dist/src/core/perf.d.ts +8 -1
  84. package/dist/src/core/perf.d.ts.map +1 -1
  85. package/dist/src/core/perf.js +8 -1
  86. package/dist/src/core/perf.js.map +1 -1
  87. package/dist/src/core/program.d.ts +31 -1
  88. package/dist/src/core/program.d.ts.map +1 -1
  89. package/dist/src/core/program.js +5 -0
  90. package/dist/src/core/program.js.map +1 -1
  91. package/dist/src/core/semantic-walker.d.ts +20 -5
  92. package/dist/src/core/semantic-walker.d.ts.map +1 -1
  93. package/dist/src/core/semantic-walker.js +13 -3
  94. package/dist/src/core/semantic-walker.js.map +1 -1
  95. package/dist/src/core/source-file.d.ts +2 -0
  96. package/dist/src/core/source-file.d.ts.map +1 -1
  97. package/dist/src/core/source-file.js +2 -0
  98. package/dist/src/core/source-file.js.map +1 -1
  99. package/dist/src/core/type-utils.d.ts +8 -0
  100. package/dist/src/core/type-utils.d.ts.map +1 -1
  101. package/dist/src/core/type-utils.js +8 -0
  102. package/dist/src/core/type-utils.js.map +1 -1
  103. package/dist/src/core/types.d.ts +1004 -46
  104. package/dist/src/core/types.d.ts.map +1 -1
  105. package/dist/src/core/types.js +130 -5
  106. package/dist/src/core/types.js.map +1 -1
  107. package/dist/src/experimental/mutators.d.ts +32 -3
  108. package/dist/src/experimental/mutators.d.ts.map +1 -1
  109. package/dist/src/experimental/mutators.js +11 -3
  110. package/dist/src/experimental/mutators.js.map +1 -1
  111. package/dist/src/experimental/realm.d.ts +34 -1
  112. package/dist/src/experimental/realm.d.ts.map +1 -1
  113. package/dist/src/experimental/realm.js +34 -1
  114. package/dist/src/experimental/realm.js.map +1 -1
  115. package/dist/src/init/core-templates.d.ts +3 -0
  116. package/dist/src/init/core-templates.d.ts.map +1 -1
  117. package/dist/src/init/core-templates.js.map +1 -1
  118. package/dist/src/init/init-template.d.ts +9 -0
  119. package/dist/src/init/init-template.d.ts.map +1 -1
  120. package/dist/src/init/init-template.js.map +1 -1
  121. package/dist/src/init/scaffold.d.ts +1 -0
  122. package/dist/src/init/scaffold.d.ts.map +1 -1
  123. package/dist/src/init/scaffold.js.map +1 -1
  124. package/dist/src/init/template-source/types.d.ts +2 -0
  125. package/dist/src/init/template-source/types.d.ts.map +1 -1
  126. package/dist/src/init/template-source/types.js.map +1 -1
  127. package/dist/src/lib/decorators.d.ts +84 -2
  128. package/dist/src/lib/decorators.d.ts.map +1 -1
  129. package/dist/src/lib/decorators.js +71 -7
  130. package/dist/src/lib/decorators.js.map +1 -1
  131. package/dist/src/lib/encoded-names.d.ts +4 -0
  132. package/dist/src/lib/encoded-names.d.ts.map +1 -1
  133. package/dist/src/lib/encoded-names.js +4 -0
  134. package/dist/src/lib/encoded-names.js.map +1 -1
  135. package/dist/src/lib/examples.d.ts +29 -2
  136. package/dist/src/lib/examples.d.ts.map +1 -1
  137. package/dist/src/lib/examples.js +25 -2
  138. package/dist/src/lib/examples.js.map +1 -1
  139. package/dist/src/lib/key.d.ts +2 -0
  140. package/dist/src/lib/key.d.ts.map +1 -1
  141. package/dist/src/lib/key.js +2 -0
  142. package/dist/src/lib/key.js.map +1 -1
  143. package/dist/src/lib/paging.d.ts +27 -0
  144. package/dist/src/lib/paging.d.ts.map +1 -1
  145. package/dist/src/lib/paging.js +7 -0
  146. package/dist/src/lib/paging.js.map +1 -1
  147. package/dist/src/lib/service.d.ts +9 -2
  148. package/dist/src/lib/service.d.ts.map +1 -1
  149. package/dist/src/lib/service.js +5 -2
  150. package/dist/src/lib/service.js.map +1 -1
  151. package/dist/src/lib/visibility.d.ts +44 -10
  152. package/dist/src/lib/visibility.d.ts.map +1 -1
  153. package/dist/src/lib/visibility.js +42 -10
  154. package/dist/src/lib/visibility.js.map +1 -1
  155. package/dist/src/manifest.d.ts +2 -0
  156. package/dist/src/manifest.d.ts.map +1 -1
  157. package/dist/src/manifest.js +1 -0
  158. package/dist/src/manifest.js.map +1 -1
  159. package/dist/src/module-resolver/module-resolver.d.ts +12 -1
  160. package/dist/src/module-resolver/module-resolver.d.ts.map +1 -1
  161. package/dist/src/module-resolver/module-resolver.js +7 -1
  162. package/dist/src/module-resolver/module-resolver.js.map +1 -1
  163. package/dist/src/module-resolver/types.d.ts +14 -1
  164. package/dist/src/module-resolver/types.d.ts.map +1 -1
  165. package/dist/src/server/client-config-provider.d.ts +14 -0
  166. package/dist/src/server/client-config-provider.d.ts.map +1 -1
  167. package/dist/src/server/client-config-provider.js.map +1 -1
  168. package/dist/src/server/server-compile-manager.d.ts +30 -4
  169. package/dist/src/server/server-compile-manager.d.ts.map +1 -1
  170. package/dist/src/server/server-compile-manager.js +21 -0
  171. package/dist/src/server/server-compile-manager.js.map +1 -1
  172. package/dist/src/server/serverlib.d.ts +9 -0
  173. package/dist/src/server/serverlib.d.ts.map +1 -1
  174. package/dist/src/server/serverlib.js +9 -0
  175. package/dist/src/server/serverlib.js.map +1 -1
  176. package/dist/src/server/types.d.ts +133 -0
  177. package/dist/src/server/types.d.ts.map +1 -1
  178. package/dist/src/server/types.js +26 -0
  179. package/dist/src/server/types.js.map +1 -1
  180. package/dist/src/server/update-manager.d.ts +24 -7
  181. package/dist/src/server/update-manager.d.ts.map +1 -1
  182. package/dist/src/server/update-manager.js +16 -7
  183. package/dist/src/server/update-manager.js.map +1 -1
  184. package/dist/src/testing/code-fix-testing.d.ts +2 -0
  185. package/dist/src/testing/code-fix-testing.d.ts.map +1 -1
  186. package/dist/src/testing/code-fix-testing.js.map +1 -1
  187. package/dist/src/testing/expect.d.ts +16 -10
  188. package/dist/src/testing/expect.d.ts.map +1 -1
  189. package/dist/src/testing/expect.js +9 -3
  190. package/dist/src/testing/expect.js.map +1 -1
  191. package/dist/src/testing/fourslash.d.ts +3 -3
  192. package/dist/src/testing/fourslash.d.ts.map +1 -1
  193. package/dist/src/testing/fs.d.ts +4 -0
  194. package/dist/src/testing/fs.d.ts.map +1 -1
  195. package/dist/src/testing/fs.js +4 -0
  196. package/dist/src/testing/fs.js.map +1 -1
  197. package/dist/src/testing/marked-template.d.ts +25 -2
  198. package/dist/src/testing/marked-template.d.ts.map +1 -1
  199. package/dist/src/testing/marked-template.js +7 -2
  200. package/dist/src/testing/marked-template.js.map +1 -1
  201. package/dist/src/testing/rule-tester.d.ts +22 -0
  202. package/dist/src/testing/rule-tester.d.ts.map +1 -1
  203. package/dist/src/testing/rule-tester.js +9 -0
  204. package/dist/src/testing/rule-tester.js.map +1 -1
  205. package/dist/src/testing/source-utils.d.ts +7 -2
  206. package/dist/src/testing/source-utils.d.ts.map +1 -1
  207. package/dist/src/testing/source-utils.js +2 -2
  208. package/dist/src/testing/source-utils.js.map +1 -1
  209. package/dist/src/testing/test-compiler-host.d.ts +8 -0
  210. package/dist/src/testing/test-compiler-host.d.ts.map +1 -1
  211. package/dist/src/testing/test-compiler-host.js +4 -0
  212. package/dist/src/testing/test-compiler-host.js.map +1 -1
  213. package/dist/src/testing/test-host.d.ts +4 -0
  214. package/dist/src/testing/test-host.d.ts.map +1 -1
  215. package/dist/src/testing/test-host.js +4 -0
  216. package/dist/src/testing/test-host.js.map +1 -1
  217. package/dist/src/testing/test-utils.d.ts +14 -2
  218. package/dist/src/testing/test-utils.d.ts.map +1 -1
  219. package/dist/src/testing/test-utils.js +9 -0
  220. package/dist/src/testing/test-utils.js.map +1 -1
  221. package/dist/src/testing/tester.d.ts +12 -0
  222. package/dist/src/testing/tester.d.ts.map +1 -1
  223. package/dist/src/testing/tester.js +7 -0
  224. package/dist/src/testing/tester.js.map +1 -1
  225. package/dist/src/testing/types.d.ts +101 -36
  226. package/dist/src/testing/types.d.ts.map +1 -1
  227. package/dist/src/testing/types.js +4 -1
  228. package/dist/src/testing/types.js.map +1 -1
  229. package/dist/src/typekit/define-kit.d.ts +6 -0
  230. package/dist/src/typekit/define-kit.d.ts.map +1 -1
  231. package/dist/src/typekit/define-kit.js.map +1 -1
  232. package/dist/src/typekit/kits/array.d.ts +3 -0
  233. package/dist/src/typekit/kits/array.d.ts.map +1 -1
  234. package/dist/src/typekit/kits/array.js.map +1 -1
  235. package/dist/src/typekit/kits/builtin.d.ts +3 -0
  236. package/dist/src/typekit/kits/builtin.d.ts.map +1 -1
  237. package/dist/src/typekit/kits/builtin.js.map +1 -1
  238. package/dist/src/typekit/kits/entity.d.ts +3 -0
  239. package/dist/src/typekit/kits/entity.d.ts.map +1 -1
  240. package/dist/src/typekit/kits/entity.js.map +1 -1
  241. package/dist/src/typekit/kits/enum-member.d.ts +3 -0
  242. package/dist/src/typekit/kits/enum-member.d.ts.map +1 -1
  243. package/dist/src/typekit/kits/enum-member.js.map +1 -1
  244. package/dist/src/typekit/kits/enum.d.ts +3 -0
  245. package/dist/src/typekit/kits/enum.d.ts.map +1 -1
  246. package/dist/src/typekit/kits/enum.js.map +1 -1
  247. package/dist/src/typekit/kits/intrinsic.d.ts +5 -0
  248. package/dist/src/typekit/kits/intrinsic.d.ts.map +1 -1
  249. package/dist/src/typekit/kits/intrinsic.js.map +1 -1
  250. package/dist/src/typekit/kits/model.d.ts +4 -0
  251. package/dist/src/typekit/kits/model.d.ts.map +1 -1
  252. package/dist/src/typekit/kits/model.js.map +1 -1
  253. package/dist/src/typekit/kits/record.d.ts +3 -0
  254. package/dist/src/typekit/kits/record.d.ts.map +1 -1
  255. package/dist/src/typekit/kits/record.js.map +1 -1
  256. package/dist/src/typekit/kits/scalar.d.ts +1 -1
  257. package/dist/src/typekit/kits/tuple.d.ts +5 -0
  258. package/dist/src/typekit/kits/tuple.d.ts.map +1 -1
  259. package/dist/src/typekit/kits/tuple.js.map +1 -1
  260. package/dist/src/typekit/kits/type.d.ts +5 -0
  261. package/dist/src/typekit/kits/type.d.ts.map +1 -1
  262. package/dist/src/typekit/kits/type.js.map +1 -1
  263. package/dist/src/typekit/kits/value.d.ts +8 -0
  264. package/dist/src/typekit/kits/value.d.ts.map +1 -1
  265. package/dist/src/typekit/kits/value.js.map +1 -1
  266. package/dist/src/types/package-json.d.ts +30 -0
  267. package/dist/src/types/package-json.d.ts.map +1 -1
  268. package/dist/src/utils/misc.d.ts +6 -0
  269. package/dist/src/utils/misc.d.ts.map +1 -1
  270. package/dist/src/utils/misc.js +6 -0
  271. package/dist/src/utils/misc.js.map +1 -1
  272. package/dist/src/utils/state-accessor.d.ts +10 -0
  273. package/dist/src/utils/state-accessor.d.ts.map +1 -1
  274. package/dist/src/utils/state-accessor.js +5 -0
  275. package/dist/src/utils/state-accessor.js.map +1 -1
  276. package/dist/src/yaml/types.d.ts +3 -0
  277. package/dist/src/yaml/types.d.ts.map +1 -1
  278. package/lib/std/decorators.tsp +16 -3
  279. package/lib/std/visibility.tsp +14 -0
  280. package/package.json +1 -1
@@ -1,6 +1,12 @@
1
1
  import type { CodeFix, CodeFixContext, CodeFixEdit, CompilerHost } from "./types.js";
2
+ /**
3
+ * Resolve all fixes and write their combined edits, grouped by source file, through the host.
4
+ * Edits for a file must use the same original source text and must not overlap.
5
+ */
2
6
  export declare function applyCodeFixes(host: CompilerHost, codeFixes: readonly CodeFix[]): Promise<void>;
7
+ /** Run a fix callback and normalize its result to an edit array without writing any files. */
3
8
  export declare function resolveCodeFix(codeFix: CodeFix): Promise<CodeFixEdit[]>;
9
+ /** Resolve a fix and write its edits using the source text retained in each edit's source file. */
4
10
  export declare function applyCodeFix(host: CompilerHost, codeFix: CodeFix): Promise<void>;
5
11
  export declare function applyCodeFixEditsOnText(content: string, edits: CodeFixEdit[]): string;
6
12
  export declare function createCodeFixContext(): CodeFixContext;
@@ -1 +1 @@
1
- {"version":3,"file":"code-fixes.d.ts","sourceRoot":"","sources":["../../../src/core/code-fixes.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,OAAO,EACP,cAAc,EACd,WAAW,EACX,YAAY,EAMb,MAAM,YAAY,CAAC;AAEpB,wBAAsB,cAAc,CAAC,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,OAAO,EAAE,iBAIrF;AAED,wBAAsB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAK7E;AAED,wBAAsB,YAAY,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,iBAGtE;AAmBD,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,MAAM,CAkBrF;AAED,wBAAgB,oBAAoB,IAAI,cAAc,CAkCrD"}
1
+ {"version":3,"file":"code-fixes.d.ts","sourceRoot":"","sources":["../../../src/core/code-fixes.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,OAAO,EACP,cAAc,EACd,WAAW,EACX,YAAY,EAMb,MAAM,YAAY,CAAC;AAEpB;;;GAGG;AACH,wBAAsB,cAAc,CAAC,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,OAAO,EAAE,iBAIrF;AAED,8FAA8F;AAC9F,wBAAsB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAK7E;AAED,mGAAmG;AACnG,wBAAsB,YAAY,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,iBAGtE;AAmBD,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,MAAM,CAkBrF;AAED,wBAAgB,oBAAoB,IAAI,cAAc,CAkCrD"}
@@ -1,16 +1,22 @@
1
1
  import { isArray } from "../utils/misc.js";
2
+ /**
3
+ * Resolve all fixes and write their combined edits, grouped by source file, through the host.
4
+ * Edits for a file must use the same original source text and must not overlap.
5
+ */
2
6
  export async function applyCodeFixes(host, codeFixes) {
3
7
  if (!codeFixes.length)
4
8
  return;
5
9
  const edits = (await Promise.all(codeFixes.map((codeFix) => resolveCodeFix(codeFix)))).flat();
6
10
  await applyCodeFixEdits(host, edits);
7
11
  }
12
+ /** Run a fix callback and normalize its result to an edit array without writing any files. */
8
13
  export async function resolveCodeFix(codeFix) {
9
14
  const context = createCodeFixContext();
10
15
  const values = await codeFix.fix(context);
11
16
  const textEdit = values === undefined ? [] : isArray(values) ? values : [values];
12
17
  return textEdit;
13
18
  }
19
+ /** Resolve a fix and write its edits using the source text retained in each edit's source file. */
14
20
  export async function applyCodeFix(host, codeFix) {
15
21
  const edits = await resolveCodeFix(codeFix);
16
22
  await applyCodeFixEdits(host, edits);
@@ -1 +1 @@
1
- {"version":3,"file":"code-fixes.js","sourceRoot":"","sources":["../../../src/core/code-fixes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"code-fixes.js","sourceRoot":"","sources":["../../../src/core/code-fixes.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,16 @@
1
1
  import type { Diagnostic } from "../types.js";
2
2
  import { type CodeFix, type DiagnosticTarget } from "../types.js";
3
+ /**
4
+ * Create a fix that inserts a `#suppress` directive before the nearest supported suppression target.
5
+ * Requires a bound, non-synthetic target or an explicit location in a real source file.
6
+ * Check {@link getSourceLocation} before offering the fix and skip targets whose location is synthetic.
7
+ */
3
8
  export declare function createSuppressCodeFix(diagnosticTarget: DiagnosticTarget, warningCode: string, suppressionMessage?: string): CodeFix;
4
9
  /**
5
10
  * Create code fixes to suppress the given diagnostics.
6
11
  * This function groups diagnostics by their suppression target to avoid duplicate suppressions.
12
+ * Only warnings with a target are considered. Targets must satisfy the source-location preconditions
13
+ * of {@link createSuppressCodeFix}.
7
14
  * @param diagnostics The diagnostics to suppress.
8
15
  * @param suppressionMessage The suppression message to use.
9
16
  * @returns An array of code fixes to apply the suppressions.
@@ -1 +1 @@
1
- {"version":3,"file":"suppress.codefix.d.ts","sourceRoot":"","sources":["../../../../src/core/compiler-code-fixes/suppress.codefix.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAGL,KAAK,OAAO,EACZ,KAAK,gBAAgB,EAGtB,MAAM,aAAa,CAAC;AAyBrB,wBAAgB,qBAAqB,CACnC,gBAAgB,EAAE,gBAAgB,EAClC,WAAW,EAAE,MAAM,EACnB,kBAAkB,GAAE,MAAW,GAC9B,OAAO,CAiBT;AACD;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACrC,WAAW,EAAE,SAAS,UAAU,EAAE,EAClC,kBAAkB,GAAE,MAAW,GAC9B,SAAS,OAAO,EAAE,CAwBpB"}
1
+ {"version":3,"file":"suppress.codefix.d.ts","sourceRoot":"","sources":["../../../../src/core/compiler-code-fixes/suppress.codefix.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAGL,KAAK,OAAO,EACZ,KAAK,gBAAgB,EAGtB,MAAM,aAAa,CAAC;AAyBrB;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,gBAAgB,EAAE,gBAAgB,EAClC,WAAW,EAAE,MAAM,EACnB,kBAAkB,GAAE,MAAW,GAC9B,OAAO,CAiBT;AACD;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CACrC,WAAW,EAAE,SAAS,UAAU,EAAE,EAClC,kBAAkB,GAAE,MAAW,GAC9B,SAAS,OAAO,EAAE,CAwBpB"}
@@ -22,6 +22,11 @@ const mapGroupBy = Map.groupBy ??
22
22
  }
23
23
  return result;
24
24
  });
25
+ /**
26
+ * Create a fix that inserts a `#suppress` directive before the nearest supported suppression target.
27
+ * Requires a bound, non-synthetic target or an explicit location in a real source file.
28
+ * Check {@link getSourceLocation} before offering the fix and skip targets whose location is synthetic.
29
+ */
25
30
  export function createSuppressCodeFix(diagnosticTarget, warningCode, suppressionMessage = "") {
26
31
  return defineCodeFix({
27
32
  id: "suppress",
@@ -40,6 +45,8 @@ export function createSuppressCodeFix(diagnosticTarget, warningCode, suppression
40
45
  /**
41
46
  * Create code fixes to suppress the given diagnostics.
42
47
  * This function groups diagnostics by their suppression target to avoid duplicate suppressions.
48
+ * Only warnings with a target are considered. Targets must satisfy the source-location preconditions
49
+ * of {@link createSuppressCodeFix}.
43
50
  * @param diagnostics The diagnostics to suppress.
44
51
  * @param suppressionMessage The suppression message to use.
45
52
  * @returns An array of code fixes to apply the suppressions.
@@ -1 +1 @@
1
- {"version":3,"file":"suppress.codefix.js","sourceRoot":"","sources":["../../../../src/core/compiler-code-fixes/suppress.codefix.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"suppress.codefix.js","sourceRoot":"","sources":["../../../../src/core/compiler-code-fixes/suppress.codefix.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,8 @@
1
1
  import type { Program } from "./program.js";
2
2
  import type { DecoratorContext, DecoratorFunction, Diagnostic, DiagnosticTarget, IntrinsicScalarName, ModelProperty, Scalar, Type } from "./types.js";
3
+ /** Values accepted by legacy decorator helpers: semantic types or marshalled JavaScript literals. */
3
4
  export type TypeSpecValue = Type | string | number | boolean;
5
+ /** Map an accepted kind to a JavaScript literal value or a narrowed semantic type. */
4
6
  export type InferredTypeSpecValue<K extends TypeKind> = K extends "Any" ? TypeSpecValue : K extends (infer T extends Type["kind"])[] ? InferredTypeSpecValue<T> : K extends "String" ? string : K extends "Number" ? number : K extends "Boolean" ? boolean : Type & {
5
7
  kind: K;
6
8
  };
@@ -23,6 +25,7 @@ export declare function isIntrinsicType(program: Program, type: Scalar, kind: In
23
25
  * @returns boolean if the target is of one of the allowed types.
24
26
  */
25
27
  export declare function isTypeSpecValueTypeOf<K extends TypeKind>(target: TypeSpecValue, expectedType: K | readonly K[]): target is InferredTypeSpecValue<K>;
28
+ /** Describe a decorator's accepted target kinds, positional parameters, and optional rest parameter. */
26
29
  export interface DecoratorDefinition<T extends TypeKind, P extends readonly DecoratorParamDefinition<TypeKind>[], S extends DecoratorParamDefinition<TypeKind> | undefined = undefined> {
27
30
  /**
28
31
  * Name of the decorator.
@@ -41,6 +44,7 @@ export interface DecoratorDefinition<T extends TypeKind, P extends readonly Deco
41
44
  */
42
45
  readonly spreadArgs?: S;
43
46
  }
47
+ /** Accepted kinds and optionality for one positional or rest decorator parameter. */
44
48
  export interface DecoratorParamDefinition<K extends TypeKind> {
45
49
  /**
46
50
  * Kind of the parameter
@@ -51,16 +55,24 @@ export interface DecoratorParamDefinition<K extends TypeKind> {
51
55
  */
52
56
  readonly optional?: boolean;
53
57
  }
58
+ /** Build the decorator's argument tuple, appending rest arguments when a spread definition exists. */
54
59
  type InferParameters<P extends readonly DecoratorParamDefinition<TypeKind>[], S extends DecoratorParamDefinition<TypeKind> | undefined> = S extends undefined ? InferPosParameters<P> : [...InferPosParameters<P>, ...InferSpreadParameter<S>];
60
+ /** Infer the array element type for a decorator's rest arguments. */
55
61
  type InferSpreadParameter<S extends DecoratorParamDefinition<TypeKind> | undefined> = S extends DecoratorParamDefinition<Type["kind"]> ? InferParameter<S>[] : never;
62
+ /** Preserve positional parameter order while mapping definitions to their accepted values. */
56
63
  type InferPosParameters<P extends readonly DecoratorParamDefinition<TypeKind>[]> = {
57
64
  [K in keyof P]: InferParameter<P[K]>;
58
65
  };
66
+ /** Include `undefined` for an optional decorator parameter. */
59
67
  type InferParameter<P extends DecoratorParamDefinition<TypeKind>> = P["optional"] extends true ? InferParameterKind<P["kind"]> | undefined : InferParameterKind<P["kind"]>;
68
+ /** Combine the accepted value types for one kind or a list of alternative kinds. */
60
69
  type InferParameterKind<P extends TypeKind | readonly TypeKind[]> = P extends readonly (infer T extends TypeKind)[] ? InferredTypeSpecValue<T> : P extends TypeKind ? InferredTypeSpecValue<P> : never;
70
+ /** Validation callback contract whose target and argument types are inferred from decorator definitions. */
61
71
  export interface DecoratorValidator<T extends TypeKind, P extends readonly DecoratorParamDefinition<TypeKind>[], S extends DecoratorParamDefinition<TypeKind> | undefined = undefined> {
72
+ /** Return whether this decorator application is valid for the supplied target and arguments. */
62
73
  validate(context: DecoratorContext, target: InferredTypeSpecValue<T>, parameters: InferParameters<P, S>): boolean;
63
74
  }
75
+ /** A semantic type kind, or `"Any"` to accept every kind in decorator validation. */
64
76
  export type TypeKind = Type["kind"] | "Any";
65
77
  export declare function validateDecoratorParamCount(context: DecoratorContext, min: number, max: number | undefined, parameters: unknown[]): boolean;
66
78
  /**
@@ -70,6 +82,11 @@ export declare function validateDecoratorParamCount(context: DecoratorContext, m
70
82
  * @param target The diagnostic target in case of errors.
71
83
  */
72
84
  export declare function typespecTypeToJson<T>(typespecType: TypeSpecValue, target: DiagnosticTarget): [T | undefined, Diagnostic[]];
85
+ /**
86
+ * Report duplicate applications of a decorator written directly on the type's declaration.
87
+ * Inherited, copied, and augment-decorator applications do not count as duplicates here.
88
+ * @returns Whether at most one matching application is present.
89
+ */
73
90
  export declare function validateDecoratorUniqueOnNode(context: DecoratorContext, type: Type, decorator: DecoratorFunction): boolean;
74
91
  /**
75
92
  * Validate that a given decorator is not on a type or any of its base types.
@@ -1 +1 @@
1
- {"version":3,"file":"decorator-utils.d.ts","sourceRoot":"","sources":["../../../src/core/decorator-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"decorator-utils.d.ts","sourceRoot":"","sources":["../../../src/core/decorator-utils.ts"],"names":[],"mappings":"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"}
@@ -167,6 +167,11 @@ function typespecTypeToJsonInternal(typespecType, target, path) {
167
167
  return [undefined, [diagnostic]];
168
168
  }
169
169
  }
170
+ /**
171
+ * Report duplicate applications of a decorator written directly on the type's declaration.
172
+ * Inherited, copied, and augment-decorator applications do not count as duplicates here.
173
+ * @returns Whether at most one matching application is present.
174
+ */
170
175
  export function validateDecoratorUniqueOnNode(context, type, decorator) {
171
176
  compilerAssert("decorators" in type, "Type should have decorators");
172
177
  const sameDecorators = type.decorators.filter((x) => x.decorator === decorator &&
@@ -1 +1 @@
1
- {"version":3,"file":"decorator-utils.js","sourceRoot":"","sources":["../../../src/core/decorator-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"decorator-utils.js","sourceRoot":"","sources":["../../../src/core/decorator-utils.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,11 @@
1
1
  import type { Program } from "./program.js";
2
2
  import type { CodeFix, Diagnostic, DiagnosticResult, DiagnosticTarget, LogSink, Node, SourceLocation, Type, TypeSpecDiagnosticTarget } from "./types.js";
3
3
  import { NoTarget } from "./types.js";
4
+ /** Output callback accepting one line of text, or no text for an empty line. */
4
5
  export type WriteLine = (text?: string) => void;
6
+ /** Callback receiving a diagnostic for collection, reporting, or other caller-defined handling. */
5
7
  export type DiagnosticHandler = (diagnostic: Diagnostic) => void;
8
+ /** Write diagnostics to a log sink, resolving identifier locations and template-instantiation traces. */
6
9
  export declare function logDiagnostics(diagnostics: readonly Diagnostic[], logger: LogSink): void;
7
10
  /**
8
11
  * Find the syntax node for a TypeSpec diagnostic target.
@@ -19,6 +22,7 @@ export declare function logDiagnostics(diagnostics: readonly Diagnostic[], logge
19
22
  * doesn't have an associated node.
20
23
  */
21
24
  export declare function getNodeForTarget(target: TypeSpecDiagnosticTarget): Node | undefined;
25
+ /** Control which part of a diagnostic target is used as its source range. */
22
26
  export interface SourceLocationOptions {
23
27
  /**
24
28
  * If trying to resolve the location of a type with an ID, show the location of the ID node instead of the entire type.
@@ -26,8 +30,11 @@ export interface SourceLocationOptions {
26
30
  */
27
31
  locateId?: boolean;
28
32
  }
33
+ /** Resolve a diagnostic target's source range, using a synthetic location when no bound source exists. */
29
34
  export declare function getSourceLocation(target: DiagnosticTarget, options?: SourceLocationOptions): SourceLocation;
35
+ /** Return no location for an absent target or the explicit {@link NoTarget} sentinel. */
30
36
  export declare function getSourceLocation(target: typeof NoTarget | undefined, options?: SourceLocationOptions): undefined;
37
+ /** Resolve an optional diagnostic target, returning undefined only when there is no target. */
31
38
  export declare function getSourceLocation(target: DiagnosticTarget | typeof NoTarget | undefined, options?: SourceLocationOptions): SourceLocation | undefined;
32
39
  /**
33
40
  * Verbose output is enabled by default for runs in mocha explorer in VS Code,
@@ -69,6 +76,7 @@ export declare function reportDeprecated(program: Program, message: string, targ
69
76
  * Helper object to collect diagnostics from function following the diagnostics accessor pattern(foo() => [T, Diagnostic[]])
70
77
  */
71
78
  export interface DiagnosticCollector {
79
+ /** Collected diagnostics in insertion order; this view grows as results are piped or added. */
72
80
  readonly diagnostics: readonly Diagnostic[];
73
81
  /**
74
82
  * Add a diagnostic to the collection
@@ -103,5 +111,6 @@ export declare function createDiagnosticCollector(): DiagnosticCollector;
103
111
  * @returns Actual result.
104
112
  */
105
113
  export declare function ignoreDiagnostics<T>(result: DiagnosticResult<T>): T;
114
+ /** Type-check a code-fix definition and return it unchanged; this does not apply the fix. */
106
115
  export declare function defineCodeFix(fix: CodeFix): CodeFix;
107
116
  //# sourceMappingURL=diagnostics.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../../../src/core/diagnostics.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../../../src/core/diagnostics.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAE5C,OAAO,KAAK,EACV,OAAO,EACP,UAAU,EACV,gBAAgB,EAChB,gBAAgB,EAChB,OAAO,EACP,IAAI,EAEJ,cAAc,EACd,IAAI,EACJ,wBAAwB,EAEzB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAa,QAAQ,EAA2B,MAAM,YAAY,CAAC;AAE1E,gFAAgF;AAChF,MAAM,MAAM,SAAS,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;AAChD,mGAAmG;AACnG,MAAM,MAAM,iBAAiB,GAAG,CAAC,UAAU,EAAE,UAAU,KAAK,IAAI,CAAC;AAEjE,yGAAyG;AACzG,wBAAgB,cAAc,CAAC,WAAW,EAAE,SAAS,UAAU,EAAE,EAAE,MAAM,EAAE,OAAO,QAWjF;AAYD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,wBAAwB,GAAG,IAAI,GAAG,SAAS,CAqCnF;AAgBD,6EAA6E;AAC7E,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AACD,0GAA0G;AAC1G,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,gBAAgB,EACxB,OAAO,CAAC,EAAE,qBAAqB,GAC9B,cAAc,CAAC;AAClB,yFAAyF;AACzF,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,OAAO,QAAQ,GAAG,SAAS,EACnC,OAAO,CAAC,EAAE,qBAAqB,GAC9B,SAAS,CAAC;AACb,+FAA+F;AAC/F,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,gBAAgB,GAAG,OAAO,QAAQ,GAAG,SAAS,EACtD,OAAO,CAAC,EAAE,qBAAqB,GAC9B,cAAc,GAAG,SAAS,CAAC;AAuE9B;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAClC,iBAAiB,EAAE,MAAM,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,KAAK,IAAI,CAAC,QAWvE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAC5B,SAAS,EAAE,GAAG,EACd,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,gBAAgB,GACxB,OAAO,CAAC,SAAS,CAqBnB;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,EAAE,EACrD,eAAe,EAAE,MAAM,EACvB,CAAC,EAAE,IAAI,EACP,GAAG,KAAK,EAAE,KAAK,GACd,OAAO,CAAC,CAAC,IAAI,IAAI,GAAG;IAAE,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;CAAE,CAI7C;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,gBAAgB,GAAG,OAAO,QAAQ,EAC1C,UAAU,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,IAAI,GAC5C,IAAI,CAaN;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,+FAA+F;IAC/F,QAAQ,CAAC,WAAW,EAAE,SAAS,UAAU,EAAE,CAAC;IAE5C;;;OAGG;IACH,GAAG,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI,CAAC;IAElC;;;OAGG;IACH,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAExC;;;;OAIG;IACH,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAEvC;;;;OAIG;IACH,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;CAC3D;AAED;;GAEG;AACH,wBAAgB,yBAAyB,IAAI,mBAAmB,CAkC/D;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC,CAEnE;AAED,6FAA6F;AAC7F,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAEnD"}
@@ -1,6 +1,7 @@
1
1
  import { createDiagnostic } from "./messages.js";
2
2
  import { createSourceFile } from "./source-file.js";
3
3
  import { NodeFlags, NoTarget, SymbolFlags, SyntaxKind } from "./types.js";
4
+ /** Write diagnostics to a log sink, resolving identifier locations and template-instantiation traces. */
4
5
  export function logDiagnostics(diagnostics, logger) {
5
6
  for (const diagnostic of diagnostics) {
6
7
  logger.log({
@@ -260,6 +261,7 @@ export function createDiagnosticCollector() {
260
261
  export function ignoreDiagnostics(result) {
261
262
  return result[0];
262
263
  }
264
+ /** Type-check a code-fix definition and return it unchanged; this does not apply the fix. */
263
265
  export function defineCodeFix(fix) {
264
266
  return fix;
265
267
  }
@@ -1 +1 @@
1
- {"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../../../src/core/diagnostics.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAcpD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAK1E,MAAM,UAAU,cAAc,CAAC,WAAkC,EAAE,MAAe;IAChF,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;QACrC,MAAM,CAAC,GAAG,CAAC;YACT,KAAK,EAAE,UAAU,CAAC,QAAQ;YAC1B,OAAO,EAAE,UAAU,CAAC,OAAO;YAC3B,IAAI,EAAE,UAAU,CAAC,IAAI;YACrB,GAAG,EAAE,UAAU,CAAC,GAAG;YACnB,cAAc,EAAE,iBAAiB,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;YACxE,OAAO,EAAE,mBAAmB,CAAC,UAAU,CAAC;SACzC,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,gBAAgB;AAChB,MAAM,UAAU,mBAAmB,CAAC,UAAsB;IACxD,OAAO,wCAAwC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QAC3E,OAAO;YACL,OAAO,EAAE,uCAAuC;YAChD,QAAQ,EAAE,iBAAiB,CAAC,CAAC,CAAC;SAC/B,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAgC;IAC/D,IAAI,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,YAAY,IAAI,MAAM,CAAC,EAAE,CAAC;QACrD,yBAAyB;QACzB,IAAI,CAAC,CAAC,cAAc,IAAI,MAAM,CAAC,EAAE,CAAC;YAChC,OAAO,MAAM,CAAC,IAAI,CAAC;QACrB,CAAC;QAED,SAAS;QACT,IAAI,MAAM,CAAC,KAAK,GAAG,WAAW,CAAC,KAAK,EAAE,CAAC;YACrC,MAAM,GAAG,MAAM,CAAC,YAAa,CAAC;QAChC,CAAC;QAED,OAAO,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAChC,CAAC;SAAM,IAAI,YAAY,IAAI,MAAM,EAAE,CAAC;QAClC,QAAQ,MAAM,CAAC,UAAU,EAAE,CAAC;YAC1B,KAAK,MAAM;gBACT,OAAO,MAAM,CAAC,IAAI,CAAC;YACrB,KAAK,OAAO;gBACV,OAAO,YAAY,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;YAClD,KAAK,0BAA0B;gBAC7B,8EAA8E;gBAC9E,wEAAwE;gBACxE,wEAAwE;gBACxE,8BAA8B;gBAC9B,OAAO,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE,IAAI,IAAI,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC;YACpE,KAAK,eAAe;gBAClB,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;YAC1B;gBACE,OAAO,SAAS,CAAC;QACrB,CAAC;IACH,CAAC;SAAM,IAAI,MAAM,IAAI,MAAM,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC/D,OAAO;QACP,OAAO,MAAc,CAAC;IACxB,CAAC;SAAM,CAAC;QACN,OAAO;QACP,OAAQ,MAAe,CAAC,IAAI,CAAC;IAC/B,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,KAAY;IAChC,wEAAwE;IACxE,2EAA2E;IAC3E,+EAA+E;IAC/E,QAAQ,KAAK,CAAC,SAAS,EAAE,CAAC;QACxB,KAAK,aAAa,CAAC;QACnB,KAAK,YAAY,CAAC;QAClB,KAAK,UAAU;YACb,OAAO,KAAK,CAAC,IAAI,CAAC;QACpB;YACE,OAAO,SAAS,CAAC;IACrB,CAAC;AACH,CAAC;AAqBD,MAAM,UAAU,iBAAiB,CAC/B,MAAsD,EACtD,OAAO,GAA0B,EAAE;IAEnC,IAAI,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QAChD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,MAAM,IAAI,MAAM,EAAE,CAAC;QACrB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,IAAI,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACtC,OAAO,IAAI,CAAC,CAAC,CAAC,uBAAuB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,6BAA6B,EAAE,CAAC;AACzF,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,wCAAwC,CACtD,MAAsD;IAEtD,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,gBAAgB,IAAI,MAAM,CAAC,EAAE,CAAC;QAChE,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,MAAM,GAAG,EAAE,CAAC;IAClB,IAAI,OAAO,GAAG,MAAM,CAAC,cAAc,CAAC;IACpC,OAAO,OAAO,EAAE,CAAC;QACf,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACjC,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;IAClC,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,6BAA6B,CAAC,GAAG,GAAG,oBAAoB;IAC/D,OAAO;QACL,IAAI,EAAE,gBAAgB,CAAC,EAAE,EAAE,GAAG,CAAC;QAC/B,GAAG,EAAE,CAAC;QACN,GAAG,EAAE,CAAC;QACN,WAAW,EAAE,IAAI;KAClB,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAAC,IAAU,EAAE,OAA8B;IACzE,IAAI,IAAI,GAAG,IAAI,CAAC;IAEhB,OAAO,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACjC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,cAAc,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,YAAY,EAAE,CAAC;QACrF,OAAO,6BAA6B,CAClC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,SAAS;YAC9B,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,wHAAwH,CAC7H,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,CAAC,QAAQ,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,EAAE,KAAK,SAAS,EAAE,CAAC;QAC9D,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC;IACjB,CAAC;IAED,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,GAAG,EAAE,IAAI,CAAC,GAAG;KACd,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,oBAAoB,CAClC,iBAAsE;IAEtE,IAAI,OAAO,CAAC,GAAG,CAAC,4BAA4B,EAAE,CAAC;QAC7C,IAAI,OAAO,iBAAiB,KAAK,QAAQ,EAAE,CAAC;YAC1C,sCAAsC;YACtC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QACjC,CAAC;aAAM,CAAC;YACN,sCAAsC;YACtC,iBAAiB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,cAAc,CAC5B,SAAc,EACd,OAAe,EACf,MAAyB;IAEzB,IAAI,SAAS,EAAE,CAAC;QACd,OAAO;IACT,CAAC;IAED,IAAI,MAAM,EAAE,CAAC;QACX,IAAI,QAAoC,CAAC;QACzC,IAAI,CAAC;YACH,QAAQ,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;QACvC,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC,CAAA,CAAC;QAErB,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,6BAA6B,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YACtE,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;YAChC,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC;YAC1B,MAAM,GAAG,GAAG,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC;YAC9B,OAAO,IAAI,sCAAsC,IAAI,cAAc,IAAI,YAAY,GAAG,EAAE,CAAC;QAC3F,CAAC;IACH,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;AAC3B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CACxB,eAAuB,EACvB,CAAO,EACP,GAAG,KAAY;IAEf,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,YAAY,eAAe,eAAe,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAChF,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAC9B,OAAgB,EAChB,OAAe,EACf,MAA0C,EAC1C,UAA6C;IAE7C,IAAI,OAAO,CAAC,eAAe,CAAC,gBAAgB,KAAK,IAAI,EAAE,CAAC;QACtD,MAAM,MAAM,GAAG,UAAU,IAAI,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpE,MAAM,CACJ,gBAAgB,CAAC;YACf,IAAI,EAAE,YAAY;YAClB,MAAM,EAAE;gBACN,OAAO;aACR;YACD,MAAM;SACP,CAAC,CACH,CAAC;IACJ,CAAC;AACH,CAAC;AAmCD;;GAEG;AACH,MAAM,UAAU,yBAAyB;IACvC,MAAM,WAAW,GAAiB,EAAE,CAAC;IAErC,OAAO;QACL,WAAW;QACX,GAAG;QACH,IAAI;QACJ,IAAI;QACJ,IAAI;KACL,CAAC;IAEF,SAAS,GAAG,CAAC,UAAsB;QACjC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC/B,CAAC;IAED,SAAS,IAAI,CAAI,MAA2B;QAC1C,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,MAAM,CAAC;QAC9B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,SAAS,IAAI,CAAI,KAAQ;QACvB,OAAO,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IAC9B,CAAC;IAED,SAAS,IAAI,CAAI,MAA2B;QAC1C,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,MAAM,CAAC;QAC9B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;QACD,OAAO,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IAC9B,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAI,MAA2B;IAC9D,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,GAAY;IACxC,OAAO,GAAG,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../../../src/core/diagnostics.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,13 @@
1
1
  import type { Program } from "./program.js";
2
+ /** Requested line-ending style for emitted text; `"crlf"` enables line-break conversion. */
2
3
  export type NewLine = "lf" | "crlf";
4
+ /** Destination and text passed to {@link emitFile}. */
3
5
  export interface EmitFileOptions {
6
+ /** Output file path; the parent directory is created before writing. */
4
7
  path: string;
8
+ /** Text to write through the program's compiler host. */
5
9
  content: string;
10
+ /** Convert line breaks to CRLF for `"crlf"`; omitted or `"lf"` leaves the content unchanged. */
6
11
  newLine?: NewLine;
7
12
  }
8
13
  export declare function getEmittedFilesForProgram(program: Program): string[];
@@ -1 +1 @@
1
- {"version":3,"file":"emitter-utils.d.ts","sourceRoot":"","sources":["../../../src/core/emitter-utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAE5C,MAAM,MAAM,OAAO,GAAG,IAAI,GAAG,MAAM,CAAC;AACpC,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAOD,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,EAAE,CAMpE;AAED;;;;GAIG;AACH,wBAAsB,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAWxF"}
1
+ {"version":3,"file":"emitter-utils.d.ts","sourceRoot":"","sources":["../../../src/core/emitter-utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAE5C,4FAA4F;AAC5F,MAAM,MAAM,OAAO,GAAG,IAAI,GAAG,MAAM,CAAC;AACpC,uDAAuD;AACvD,MAAM,WAAW,eAAe;IAC9B,wEAAwE;IACxE,IAAI,EAAE,MAAM,CAAC;IACb,yDAAyD;IACzD,OAAO,EAAE,MAAM,CAAC;IAChB,gGAAgG;IAChG,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAOD,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,EAAE,CAMpE;AAED;;;;GAIG;AACH,wBAAsB,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAWxF"}
@@ -1 +1 @@
1
- {"version":3,"file":"emitter-utils.js","sourceRoot":"","sources":["../../../src/core/emitter-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAUnD,MAAM,yBAAyB,GAAG,MAAM,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;AAC7E,IAAK,UAAkB,CAAC,yBAAyB,CAAC,KAAK,SAAS,EAAE,CAAC;IAChE,UAAkB,CAAC,yBAAyB,CAAC,GAAG,IAAI,OAAO,EAAqB,CAAC;AACpF,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,OAAgB;IACxD,MAAM,QAAQ,GAAI,UAAkB,CAAC,yBAAyB,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC7E,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAC9B,MAAM,GAAG,GAAa,EAAE,CAAC;IACxB,UAAkB,CAAC,yBAAyB,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACjE,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,OAAgB,EAAE,OAAwB;IACvE,qBAAqB;IACrB,MAAM,YAAY,GAAG,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IACxC,MAAM,OAAO,GACX,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,KAAK,MAAM;QAC3C,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,gBAAgB,EAAE,MAAM,CAAC;QACnD,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;IACtB,yBAAyB,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAEtD,OAAO,MAAM,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAC7D,CAAC"}
1
+ {"version":3,"file":"emitter-utils.js","sourceRoot":"","sources":["../../../src/core/emitter-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAenD,MAAM,yBAAyB,GAAG,MAAM,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;AAC7E,IAAK,UAAkB,CAAC,yBAAyB,CAAC,KAAK,SAAS,EAAE,CAAC;IAChE,UAAkB,CAAC,yBAAyB,CAAC,GAAG,IAAI,OAAO,EAAqB,CAAC;AACpF,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,OAAgB;IACxD,MAAM,QAAQ,GAAI,UAAkB,CAAC,yBAAyB,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC7E,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAC9B,MAAM,GAAG,GAAa,EAAE,CAAC;IACxB,UAAkB,CAAC,yBAAyB,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACjE,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,OAAgB,EAAE,OAAwB;IACvE,qBAAqB;IACrB,MAAM,YAAY,GAAG,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IACxC,MAAM,OAAO,GACX,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,KAAK,MAAM;QAC3C,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,gBAAgB,EAAE,MAAM,CAAC;QACnD,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;IACtB,yBAAyB,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAEtD,OAAO,MAAM,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAC7D,CAAC"}
@@ -5,10 +5,12 @@
5
5
  * safe to include in code that is bundled for the browser (e.g. the playground).
6
6
  */
7
7
  export interface FileRef {
8
+ /** Discriminant used to recognize a lazy file reference without reading the file. */
8
9
  readonly kind: "file-ref";
9
10
  /** Path to the file, relative to the package root. */
10
11
  readonly path: string;
11
12
  }
13
+ /** Factories for lazy file references whose content is read later by documentation tooling. */
12
14
  export declare const fileRef: {
13
15
  /**
14
16
  * Create a {@link FileRef} pointing to a file relative to the package root (the directory
@@ -1 +1 @@
1
- {"version":3,"file":"file-ref.d.ts","sourceRoot":"","sources":["../../../src/core/file-ref.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,sDAAsD;IACtD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,eAAO,MAAM,OAAO;IAClB;;;;;;;;OAQG;IACH,eAAe,OAAO,MAAM,GAAG,OAAO;CAGvC,CAAC;AAEF,sCAAsC;AACtC,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,OAAO,CAE1D"}
1
+ {"version":3,"file":"file-ref.d.ts","sourceRoot":"","sources":["../../../src/core/file-ref.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,WAAW,OAAO;IACtB,qFAAqF;IACrF,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,sDAAsD;IACtD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,+FAA+F;AAC/F,eAAO,MAAM,OAAO;IAClB;;;;;;;;OAQG;IACH,eAAe,OAAO,MAAM,GAAG,OAAO;CAGvC,CAAC;AAEF,sCAAsC;AACtC,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,OAAO,CAE1D"}
@@ -1,3 +1,4 @@
1
+ /** Factories for lazy file references whose content is read later by documentation tooling. */
1
2
  export const fileRef = {
2
3
  /**
3
4
  * Create a {@link FileRef} pointing to a file relative to the package root (the directory
@@ -1 +1 @@
1
- {"version":3,"file":"file-ref.js","sourceRoot":"","sources":["../../../src/core/file-ref.ts"],"names":[],"mappings":"AAYA,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB;;;;;;;;OAQG;IACH,eAAe,CAAC,IAAY;QAC1B,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;IACpC,CAAC;CACF,CAAC;AAEF,sCAAsC;AACtC,MAAM,UAAU,SAAS,CAAC,KAAc;IACtC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAK,KAAiB,CAAC,IAAI,KAAK,UAAU,CAAC;AAC/F,CAAC"}
1
+ {"version":3,"file":"file-ref.js","sourceRoot":"","sources":["../../../src/core/file-ref.ts"],"names":[],"mappings":"AAaA,+FAA+F;AAC/F,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB;;;;;;;;OAQG;IACH,eAAe,CAAC,IAAY;QAC1B,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;IACpC,CAAC;CACF,CAAC;AAEF,sCAAsC;AACtC,MAAM,UAAU,SAAS,CAAC,KAAc;IACtC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAK,KAAiB,CAAC,IAAI,KAAK,UAAU,CAAC;AAC/F,CAAC"}
@@ -2,17 +2,31 @@ import type { DiscriminatedOptions } from "../../../generated-defs/TypeSpec.js";
2
2
  import type { Discriminator } from "../intrinsic-type-state.js";
3
3
  import type { Program } from "../program.js";
4
4
  import type { Diagnostic, Model, Type, Union } from "../types.js";
5
+ /** Resolved variants and envelope settings for a union decorated with `@discriminated`. */
5
6
  export interface DiscriminatedUnion {
7
+ /** Discriminated-union settings with defaults filled in. */
6
8
  readonly options: Required<DiscriminatedOptions>;
9
+ /** Named variant types keyed by their discriminator values. */
7
10
  readonly variants: Map<string, Type>;
11
+ /** Unnamed variant used when no named discriminator value matches, if one was declared. */
8
12
  readonly defaultVariant?: Type;
13
+ /** Original union from which the variant metadata was derived. */
9
14
  readonly type: Union;
10
15
  }
16
+ /** Discriminator values resolved from models derived from a base model using `@discriminator`. */
11
17
  export interface DiscriminatedUnionLegacy {
18
+ /** Distinguishes inheritance-based discrimination from union-based discrimination. */
12
19
  kind: "legacy";
20
+ /** Property carrying the discriminator value on the derived models. */
13
21
  propertyName: string;
22
+ /** Derived models keyed by their resolved string or encoded enum-member discriminator values. */
14
23
  variants: Map<string, Model>;
15
24
  }
25
+ /**
26
+ * Resolve `@discriminated` metadata and validate a union's variants.
27
+ * Returns `undefined` without diagnostics when the union has no `@discriminated` settings.
28
+ * Validation diagnostics are returned, not reported to the program.
29
+ */
16
30
  export declare function getDiscriminatedUnion(typeOrProgram: Program, typeOrDiscriminator: Union): [DiscriminatedUnion | undefined, readonly Diagnostic[]];
17
31
  /**
18
32
  * Run the validation on all discriminated models to make sure the discriminator are valid.
@@ -1 +1 @@
1
- {"version":3,"file":"discriminator-utils.d.ts","sourceRoot":"","sources":["../../../../src/core/helpers/discriminator-utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAIhF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAGhE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAE7C,OAAO,KAAK,EAAE,UAAU,EAAc,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAE9E,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,oBAAoB,CAAC,CAAC;IACjD,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACrC,QAAQ,CAAC,cAAc,CAAC,EAAE,IAAI,CAAC;IAC/B,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;CACtB;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,QAAQ,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;CAC9B;AAED,wBAAgB,qBAAqB,CACnC,aAAa,EAAE,OAAO,EACtB,mBAAmB,EAAE,KAAK,GACzB,CAAC,kBAAkB,GAAG,SAAS,EAAE,SAAS,UAAU,EAAE,CAAC,CAEzD;AAED;;;GAGG;AACH,wBAAgB,sCAAsC,CAAC,OAAO,EAAE,OAAO,QAQtE;AA8ED;;;;;GAKG;AACH,wBAAgB,oCAAoC,CAClD,IAAI,EAAE,KAAK,EACX,aAAa,EAAE,aAAa,GAC3B,CAAC,wBAAwB,EAAE,SAAS,UAAU,EAAE,CAAC,CAAC;AACrD;;;;;GAKG;AACH,wBAAgB,oCAAoC,CAClD,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,KAAK,EACX,aAAa,EAAE,aAAa,GAC3B,CAAC,wBAAwB,EAAE,SAAS,UAAU,EAAE,CAAC,CAAC"}
1
+ {"version":3,"file":"discriminator-utils.d.ts","sourceRoot":"","sources":["../../../../src/core/helpers/discriminator-utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAIhF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAGhE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAE7C,OAAO,KAAK,EAAE,UAAU,EAAc,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAE9E,2FAA2F;AAC3F,MAAM,WAAW,kBAAkB;IACjC,4DAA4D;IAC5D,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,oBAAoB,CAAC,CAAC;IACjD,+DAA+D;IAC/D,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACrC,2FAA2F;IAC3F,QAAQ,CAAC,cAAc,CAAC,EAAE,IAAI,CAAC;IAC/B,kEAAkE;IAClE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;CACtB;AAED,kGAAkG;AAClG,MAAM,WAAW,wBAAwB;IACvC,sFAAsF;IACtF,IAAI,EAAE,QAAQ,CAAC;IACf,uEAAuE;IACvE,YAAY,EAAE,MAAM,CAAC;IACrB,iGAAiG;IACjG,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;CAC9B;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,aAAa,EAAE,OAAO,EACtB,mBAAmB,EAAE,KAAK,GACzB,CAAC,kBAAkB,GAAG,SAAS,EAAE,SAAS,UAAU,EAAE,CAAC,CAEzD;AAED;;;GAGG;AACH,wBAAgB,sCAAsC,CAAC,OAAO,EAAE,OAAO,QAQtE;AA8ED;;;;;GAKG;AACH,wBAAgB,oCAAoC,CAClD,IAAI,EAAE,KAAK,EACX,aAAa,EAAE,aAAa,GAC3B,CAAC,wBAAwB,EAAE,SAAS,UAAU,EAAE,CAAC,CAAC;AACrD;;;;;GAKG;AACH,wBAAgB,oCAAoC,CAClD,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,KAAK,EACX,aAAa,EAAE,aAAa,GAC3B,CAAC,wBAAwB,EAAE,SAAS,UAAU,EAAE,CAAC,CAAC"}
@@ -4,6 +4,11 @@ import { isDefined } from "../../utils/misc.js";
4
4
  import { getDiscriminatedOptions, getDiscriminatedTypes } from "../intrinsic-type-state.js";
5
5
  import { createDiagnostic } from "../messages.js";
6
6
  import { isTemplateDeclarationOrInstance } from "../type-utils.js";
7
+ /**
8
+ * Resolve `@discriminated` metadata and validate a union's variants.
9
+ * Returns `undefined` without diagnostics when the union has no `@discriminated` settings.
10
+ * Validation diagnostics are returned, not reported to the program.
11
+ */
7
12
  export function getDiscriminatedUnion(typeOrProgram, typeOrDiscriminator) {
8
13
  return getDiscriminatedUnionForUnion(typeOrProgram, typeOrDiscriminator);
9
14
  }
@@ -1 +1 @@
1
- {"version":3,"file":"discriminator-utils.js","sourceRoot":"","sources":["../../../../src/core/helpers/discriminator-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"discriminator-utils.js","sourceRoot":"","sources":["../../../../src/core/helpers/discriminator-utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,6BAA6B,EAAE,MAAM,4BAA4B,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,OAAO,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAC5F,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElD,OAAO,EAAE,+BAA+B,EAAE,MAAM,kBAAkB,CAAC;AAyBnE;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CACnC,aAAsB,EACtB,mBAA0B;IAE1B,OAAO,6BAA6B,CAAC,aAAa,EAAE,mBAAmB,CAAC,CAAC;AAC3E,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,sCAAsC,CAAC,OAAgB;IACrE,KAAK,MAAM,CAAC,IAAI,EAAE,aAAa,CAAC,IAAI,qBAAqB,CAAC,OAAO,CAAC,EAAE,CAAC;QACnE,+CAA+C;QAC/C,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC1B,MAAM,CAAC,CAAC,EAAE,WAAW,CAAC,GAAG,oCAAoC,CAAC,OAAO,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC;YAC5F,OAAO,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,6BAA6B,CACpC,OAAgB,EAChB,IAAW;IAEX,MAAM,OAAO,GAAG,uBAAuB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACvD,MAAM,WAAW,GAAiB,EAAE,CAAC;IACrC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IACzB,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAgB,CAAC;IACzC,IAAI,cAAc,CAAC;IAEnB,mEAAmE;IACnE,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;QAC7C,IAAI,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACrC,IAAI,cAAc,EAAE,CAAC;gBACnB,WAAW,CAAC,IAAI,CACd,gBAAgB,CAAC;oBACf,IAAI,EAAE,qCAAqC;oBAC3C,SAAS,EAAE,yBAAyB;oBACpC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,IAAI,IAAI,aAAa,EAAE;oBACjD,MAAM,EAAE,OAAO;iBAChB,CAAC,CACH,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;YAChC,CAAC;YACD,SAAS;QACX,CAAC;QACD,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,OAAO,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;YAChC,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAClC,WAAW,CAAC,IAAI,CACd,gBAAgB,CAAC;oBACf,IAAI,EAAE,qCAAqC;oBAC3C,SAAS,EAAE,iBAAiB;oBAC5B,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE;oBACzC,MAAM,EAAE,OAAO;iBAChB,CAAC,CACH,CAAC;gBACF,SAAS;YACX,CAAC;YAED,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;YAC5E,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACvB,MAAM,GAAG,GAAG,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC/C,IAAI,GAAG,KAAK,OAAO,CAAC,IAAI,EAAE,CAAC;oBACzB,WAAW,CAAC,IAAI,CACd,gBAAgB,CAAC;wBACf,IAAI,EAAE,qCAAqC;wBAC3C,SAAS,EAAE,sBAAsB;wBACjC,MAAM,EAAE;4BACN,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE;4BAC7B,YAAY,EAAE,OAAO,CAAC,yBAAyB;4BAC/C,aAAa,EAAE,GAAI;4BACnB,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;yBAClC;wBACD,MAAM,EAAE,OAAO,CAAC,IAAI;qBACrB,CAAC,CACH,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO;QACL;YACE,IAAI;YACJ,OAAO;YACP,QAAQ;YACR,cAAc;SACf;QACD,WAAW;KACZ,CAAC;AACJ,CAAC;AAuBD,MAAM,UAAU,oCAAoC,CAClD,aAA8B,EAC9B,mBAA0C,EAC1C,aAA6B;IAE7B,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;QAChC,OAAO,4CAA4C,CACjD,SAAS,EACT,aAAsB,EACtB,mBAAoC,CACrC,CAAC;IACJ,CAAC;IACD,OAAO,4CAA4C,CACjD,aAAwB,EACxB,mBAA4B,EAC5B,aAAa,CACd,CAAC;AACJ,CAAC;AAED,SAAS,4CAA4C,CACnD,OAA4B,EAC5B,IAAW,EACX,aAA4B;IAE5B,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAiB,CAAC;IAC1C,MAAM,WAAW,GAAiB,EAAE,CAAC;IACrC,MAAM,UAAU,GAAG,IAAI,gBAAgB,EAAiB,CAAC;IAEzD,SAAS,kBAAkB,CAAC,OAAc;QACxC,KAAK,MAAM,YAAY,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;YACjD,IAAI,+BAA+B,CAAC,YAAY,CAAC,EAAE,CAAC;gBAClD,SAAS,CAAC,iEAAiE;YAC7E,CAAC;YACD,MAAM,IAAI,GAAG,sBAAsB,CAAC,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC;YACvF,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACvB,IAAI,YAAY,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC5C,WAAW,CAAC,IAAI,CACd,gBAAgB,CAAC;wBACf,IAAI,EAAE,gCAAgC;wBACtC,MAAM,EAAE,EAAE,aAAa,EAAE,aAAa,CAAC,YAAY,EAAE;wBACrD,MAAM,EAAE,YAAY;qBACrB,CAAC,CACH,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,kBAAkB,CAAC,YAAY,CAAC,CAAC;gBACnC,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;oBACvB,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;oBACpC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;gBAClC,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACzB,kCAAkC,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IAC5D,MAAM,kBAAkB,GAA6B;QACnD,IAAI,EAAE,QAAQ;QACd,YAAY,EAAE,aAAa,CAAC,YAAY;QACxC,QAAQ;KACT,CAAC;IAEF,OAAO,CAAC,kBAAkB,EAAE,WAAW,CAAC,CAAC;AAC3C,CAAC;AAED,SAAS,kCAAkC,CACzC,UAA2C,EAC3C,WAAyB;IAEzB,KAAK,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,IAAI,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC;QAC1D,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,WAAW,CAAC,IAAI,CACd,gBAAgB,CAAC;gBACf,IAAI,EAAE,6BAA6B;gBACnC,SAAS,EAAE,WAAW;gBACtB,MAAM,EAAE,EAAE,aAAa,EAAE,YAAY,EAAE;gBACvC,MAAM,EAAE,KAAK;aACd,CAAC,CACH,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,wBAAwB,CAC/B,KAAY,EACZ,aAA4B,EAC5B,WAAyB;IAEzB,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;IAC9D,IAAI,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC1B,WAAW,CAAC,IAAI,CACd,gBAAgB,CAAC;YACf,IAAI,EAAE,6BAA6B;YACnC,SAAS,EAAE,UAAU;YACrB,MAAM,EAAE,IAAI;SACb,CAAC,CACH,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,sBAAsB,CAC7B,OAA4B,EAC5B,KAAY,EACZ,aAA4B,EAC5B,WAAyB;IAEzB,MAAM,IAAI,GAAG,wBAAwB,CAAC,KAAK,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC;IACzE,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAC;IAE5B,MAAM,IAAI,GAAG,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACjD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,WAAW,CAAC,IAAI,CACd,gBAAgB,CAAC;YACf,IAAI,EAAE,6BAA6B;YACnC,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YAChC,MAAM,EAAE,IAAI;SACb,CAAC,CACH,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,eAAe,CAAC,OAA4B,EAAE,IAAU;IAC/D,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,QAAQ;YACX,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtB,KAAK,OAAO;YACV,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;iBAC/B,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;iBAChD,MAAM,CAAC,SAAS,CAAC,CAAC;QACvB,KAAK,YAAY,EAAE,CAAC;YAClB,MAAM,KAAK,GAAG,sBAAsB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YACpD,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAClD,CAAC;QACD,KAAK,cAAc;YACjB,OAAO,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7C;YACE,OAAO,EAAE,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,OAAgB,EAAE,IAAU;IAClD,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,QAAQ;YACX,OAAO,IAAI,CAAC,KAAK,CAAC;QACpB,KAAK,YAAY,EAAE,CAAC;YAClB,MAAM,KAAK,GAAG,sBAAsB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YACpD,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QACvD,CAAC;QACD;YACE,OAAO,SAAS,CAAC;IACrB,CAAC;AACH,CAAC;AAED,qDAAqD;AACrD,SAAS,sBAAsB,CAAC,OAA4B,EAAE,MAAkB;IAC9E,OAAO,OAAO;QACZ,CAAC,CAAC,6BAA6B,CAAC,OAAO,EAAE,MAAM,EAAE,kBAAkB,CAAC;QACpE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC;AACpC,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import type { Program } from "../program.js";
2
2
  import type { DiagnosticTarget, LocationContext } from "../types.js";
3
+ /** Identify whether a diagnostic target comes from the project, a library, or a synthetic location. */
3
4
  export declare function getLocationContext(program: Program, type: DiagnosticTarget): LocationContext;
4
5
  //# sourceMappingURL=location-context.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"location-context.d.ts","sourceRoot":"","sources":["../../../../src/core/helpers/location-context.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAErE,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,gBAAgB,GAAG,eAAe,CAO5F"}
1
+ {"version":3,"file":"location-context.d.ts","sourceRoot":"","sources":["../../../../src/core/helpers/location-context.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAErE,uGAAuG;AACvG,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,gBAAgB,GAAG,eAAe,CAO5F"}
@@ -1,4 +1,5 @@
1
1
  import { getSourceLocation } from "../diagnostics.js";
2
+ /** Identify whether a diagnostic target comes from the project, a library, or a synthetic location. */
2
3
  export function getLocationContext(program, type) {
3
4
  const sourceLocation = getSourceLocation(type);
4
5
  if (sourceLocation.isSynthetic) {
@@ -1 +1 @@
1
- {"version":3,"file":"location-context.js","sourceRoot":"","sources":["../../../../src/core/helpers/location-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAItD,MAAM,UAAU,kBAAkB,CAAC,OAAgB,EAAE,IAAsB;IACzE,MAAM,cAAc,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAE/C,IAAI,cAAc,CAAC,WAAW,EAAE,CAAC;QAC/B,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;IAC/B,CAAC;IACD,OAAO,OAAO,CAAC,4BAA4B,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;AACnE,CAAC"}
1
+ {"version":3,"file":"location-context.js","sourceRoot":"","sources":["../../../../src/core/helpers/location-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAItD,uGAAuG;AACvG,MAAM,UAAU,kBAAkB,CAAC,OAAgB,EAAE,IAAsB;IACzE,MAAM,cAAc,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAE/C,IAAI,cAAc,CAAC,WAAW,EAAE,CAAC;QAC/B,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;IAC/B,CAAC;IACD,OAAO,OAAO,CAAC,4BAA4B,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;AACnE,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import type { Interface, Namespace, Operation } from "../types.js";
2
+ /** Control whether operation listing includes a namespace's nested namespaces. */
2
3
  export interface ListOperationOptions {
3
4
  /**
4
5
  * If the container is a namespace look for operation in sub namespaces.
@@ -1 +1 @@
1
- {"version":3,"file":"operation-utils.d.ts","sourceRoot":"","sources":["../../../../src/core/helpers/operation-utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAEnE,MAAM,WAAW,oBAAoB;IACnC;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,SAAS,GAAG,SAAS,EAChC,OAAO,GAAE,oBAAyB,GACjC,SAAS,EAAE,CAuCb"}
1
+ {"version":3,"file":"operation-utils.d.ts","sourceRoot":"","sources":["../../../../src/core/helpers/operation-utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAEnE,kFAAkF;AAClF,MAAM,WAAW,oBAAoB;IACnC;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,SAAS,GAAG,SAAS,EAChC,OAAO,GAAE,oBAAyB,GACjC,SAAS,EAAE,CAuCb"}
@@ -1 +1 @@
1
- {"version":3,"file":"operation-utils.js","sourceRoot":"","sources":["../../../../src/core/helpers/operation-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,+BAA+B,EAAE,MAAM,kBAAkB,CAAC;AAW1F;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAC9B,SAAgC,EAChC,OAAO,GAAyB,EAAE;IAElC,MAAM,UAAU,GAAgB,EAAE,CAAC;IAEnC,SAAS,aAAa,CAAC,OAA8B;QACnD,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,IAAI,qBAAqB,CAAC,OAAO,CAAC,EAAE,CAAC;YACnE,qCAAqC;YACrC,OAAO;QACT,CAAC;QAED,KAAK,MAAM,EAAE,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC;YAC7C,4BAA4B;YAC5B,IAAI,CAAC,+BAA+B,CAAC,EAAE,CAAC,EAAE,CAAC;gBACzC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACtB,CAAC;QACH,CAAC;QAED,IACE,OAAO,CAAC,IAAI,KAAK,WAAW;YAC5B,CAAC,CACC,OAAO,CAAC,IAAI,KAAK,YAAY;gBAC7B,OAAO,CAAC,SAAS,EAAE,IAAI,KAAK,UAAU;gBACtC,OAAO,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,KAAK,EAAE,CACzC,EACD,CAAC;YACD,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC;YAE5C,MAAM,QAAQ,GAAG;gBACf,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjD,GAAG,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE;aAC/B,CAAC;YAEF,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;gBAC7B,aAAa,CAAC,KAAK,CAAC,CAAC;YACvB,CAAC;QACH,CAAC;IACH,CAAC;IAED,aAAa,CAAC,SAAS,CAAC,CAAC;IACzB,OAAO,UAAU,CAAC;AACpB,CAAC"}
1
+ {"version":3,"file":"operation-utils.js","sourceRoot":"","sources":["../../../../src/core/helpers/operation-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,+BAA+B,EAAE,MAAM,kBAAkB,CAAC;AAY1F;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAC9B,SAAgC,EAChC,OAAO,GAAyB,EAAE;IAElC,MAAM,UAAU,GAAgB,EAAE,CAAC;IAEnC,SAAS,aAAa,CAAC,OAA8B;QACnD,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,IAAI,qBAAqB,CAAC,OAAO,CAAC,EAAE,CAAC;YACnE,qCAAqC;YACrC,OAAO;QACT,CAAC;QAED,KAAK,MAAM,EAAE,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC;YAC7C,4BAA4B;YAC5B,IAAI,CAAC,+BAA+B,CAAC,EAAE,CAAC,EAAE,CAAC;gBACzC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACtB,CAAC;QACH,CAAC;QAED,IACE,OAAO,CAAC,IAAI,KAAK,WAAW;YAC5B,CAAC,CACC,OAAO,CAAC,IAAI,KAAK,YAAY;gBAC7B,OAAO,CAAC,SAAS,EAAE,IAAI,KAAK,UAAU;gBACtC,OAAO,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,KAAK,EAAE,CACzC,EACD,CAAC;YACD,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC;YAE5C,MAAM,QAAQ,GAAG;gBACf,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjD,GAAG,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE;aAC/B,CAAC;YAEF,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;gBAC7B,aAAa,CAAC,KAAK,CAAC,CAAC;YACvB,CAAC;QACH,CAAC;IACH,CAAC;IAED,aAAa,CAAC,SAAS,CAAC,CAAC;IACzB,OAAO,UAAU,CAAC;AACpB,CAAC"}
@@ -1,11 +1,18 @@
1
1
  import type { Entity, Namespace, Type } from "../types.js";
2
+ /** Control qualification and identifier escaping when displaying semantic entities. */
2
3
  export interface TypeNameOptions {
4
+ /** Stop namespace qualification at the first namespace for which this returns false. */
3
5
  namespaceFilter?: (ns: Namespace) => boolean;
6
+ /** Escape identifiers as TypeSpec source rather than displaying their unescaped names. */
4
7
  printable?: boolean;
8
+ /** Omit enclosing namespace and member-container qualification where supported. */
5
9
  nameOnly?: boolean;
6
10
  }
11
+ /** Format a type's name or inline representation, omitting standard-library namespace prefixes. */
7
12
  export declare function getTypeName(type: Type, options?: TypeNameOptions): string;
13
+ /** Format a type, preview a value, or display the alternatives of a mixed parameter constraint. */
8
14
  export declare function getEntityName(entity: Entity, options?: TypeNameOptions): string;
15
+ /** Check for the global `TypeSpec` or `TypeSpec.Reflection` namespace by its namespace ancestry. */
9
16
  export declare function isStdNamespace(namespace: Namespace): boolean;
10
17
  /**
11
18
  * Return the full name of the namespace(e.g. "Foo.Bar")
@@ -1 +1 @@
1
- {"version":3,"file":"type-name-utils.d.ts","sourceRoot":"","sources":["../../../../src/core/helpers/type-name-utils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,MAAM,EAON,SAAS,EAIT,IAAI,EAGL,MAAM,aAAa,CAAC;AAKrB,MAAM,WAAW,eAAe;IAC9B,eAAe,CAAC,EAAE,CAAC,EAAE,EAAE,SAAS,KAAK,OAAO,CAAC;IAC7C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,MAAM,CA2CzE;AAmCD,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,MAAM,CAkB/E;AAED,wBAAgB,cAAc,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAO5D;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,MAAM,CAavF"}
1
+ {"version":3,"file":"type-name-utils.d.ts","sourceRoot":"","sources":["../../../../src/core/helpers/type-name-utils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,MAAM,EAON,SAAS,EAIT,IAAI,EAGL,MAAM,aAAa,CAAC;AAKrB,uFAAuF;AACvF,MAAM,WAAW,eAAe;IAC9B,wFAAwF;IACxF,eAAe,CAAC,EAAE,CAAC,EAAE,EAAE,SAAS,KAAK,OAAO,CAAC;IAC7C,0FAA0F;IAC1F,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,mFAAmF;IACnF,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,mGAAmG;AACnG,wBAAgB,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,MAAM,CA2CzE;AAmCD,mGAAmG;AACnG,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,MAAM,CAkB/E;AAED,oGAAoG;AACpG,wBAAgB,cAAc,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAO5D;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,MAAM,CAavF"}