@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 +1 @@
1
- {"version":3,"file":"expect.d.ts","sourceRoot":"","sources":["../../../src/testing/expect.ts"],"names":[],"mappings":"AAGA,OAAO,EAAY,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAI7D;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,SAAS,UAAU,EAAE,QAIvE;AAKD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAE1B;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAE/B;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAEvB;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,SAAS,UAAU,EAAE,EAClC,KAAK,EAAE,eAAe,GAAG,eAAe,EAAE,EAC1C,OAAO;IACL,MAAM;CACP,QA2EF"}
1
+ {"version":3,"file":"expect.d.ts","sourceRoot":"","sources":["../../../src/testing/expect.ts"],"names":[],"mappings":"AAGA,OAAO,EAAY,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAI7D;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,SAAS,UAAU,EAAE,QAIvE;AAKD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAE1B;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAE/B;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAEvB;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,SAAS,UAAU,EAAE,EAClC,KAAK,EAAE,eAAe,GAAG,eAAe,EAAE,EAC1C,OAAO;IACL,MAAM;CACP,QA2EF"}
@@ -5,7 +5,7 @@ import { NoTarget } from "../core/types.js";
5
5
  import { isArray } from "../utils/misc.js";
6
6
  import { resolveVirtualPath } from "./test-utils.js";
7
7
  /**
8
- * Assert there is no diagnostics.
8
+ * Assert that the collection contains neither warnings nor errors.
9
9
  * @param diagnostics Diagnostics
10
10
  */
11
11
  export function expectDiagnosticEmpty(diagnostics) {
@@ -17,8 +17,14 @@ function formatDiagnostics(diagnostics) {
17
17
  return diagnostics.map((x) => formatDiagnostic(x)).join("\n");
18
18
  }
19
19
  /**
20
- * Validate the diagnostic array contains exactly the given diagnostics.
21
- * @param diagnostics Array of the diagnostics
20
+ * Match diagnostics by index, checking only the specified fields of each expectation.
21
+ * Strict mode is enabled by default and also requires equal array lengths. With `strict: false`,
22
+ * extra diagnostics after the expected prefix are allowed; expectations are not searched for or reordered.
23
+ * File or offset expectations require the diagnostic to have a source target.
24
+ *
25
+ * @param diagnostics Diagnostics in reporting order.
26
+ * @param match A single expectation or an ordered array of expectations.
27
+ * @param options Controls whether extra diagnostics are rejected.
22
28
  */
23
29
  export function expectDiagnostics(diagnostics, match, options = {
24
30
  strict: true,
@@ -1 +1 @@
1
- {"version":3,"file":"expect.js","sourceRoot":"","sources":["../../../src/testing/expect.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"expect.js","sourceRoot":"","sources":["../../../src/testing/expect.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,10 @@
1
1
  /**
2
- * PositionedMarker represents a marker in the code with its name and position.
2
+ * A named fourslash-style comment's location in the complete compiled source.
3
3
  */
4
4
  export interface PositionedMarker {
5
- /** Marker name */
5
+ /** Name inside the marker comment, used as the collected entity's result key. */
6
6
  readonly name: string;
7
- /** Position of the marker */
7
+ /** Zero-based UTF-16 offset immediately after the marker comment; the comment is not removed. */
8
8
  readonly pos: number;
9
9
  }
10
10
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"fourslash.d.ts","sourceRoot":"","sources":["../../../src/testing/fourslash.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,kBAAkB;IAClB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,6BAA6B;IAC7B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAU/D"}
1
+ {"version":3,"file":"fourslash.d.ts","sourceRoot":"","sources":["../../../src/testing/fourslash.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,iFAAiF;IACjF,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,iGAAiG;IACjG,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAU/D"}
@@ -8,5 +8,9 @@ export declare const mockFile: {
8
8
  /** Define a JS file with the given named exports */
9
9
  js: (exports: Record<string, unknown>) => JsFile;
10
10
  };
11
+ /**
12
+ * Create an empty, mutable virtual filesystem and its compiler host.
13
+ * Library files and test decorators are not mounted automatically; {@link createTester} sets them up.
14
+ */
11
15
  export declare function createTestFileSystem(options?: TestHostOptions): TestFileSystem;
12
16
  //# sourceMappingURL=fs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"fs.d.ts","sourceRoot":"","sources":["../../../src/testing/fs.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAG/D,OAAO,KAAK,EAAE,MAAM,EAAY,cAAc,EAAuB,MAAM,YAAY,CAAC;AAExF,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,UAMlE;AAED;;GAEG;AACH,eAAO,MAAM,QAAQ;IACnB,oDAAoD;IACpD,EAAE,YAAY,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,MAAM;CAG/C,CAAC;AAEF,wBAAgB,oBAAoB,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,cAAc,CAI9E"}
1
+ {"version":3,"file":"fs.d.ts","sourceRoot":"","sources":["../../../src/testing/fs.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAG/D,OAAO,KAAK,EAAE,MAAM,EAAY,cAAc,EAAuB,MAAM,YAAY,CAAC;AAExF,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,UAMlE;AAED;;GAEG;AACH,eAAO,MAAM,QAAQ;IACnB,oDAAoD;IACpD,EAAE,YAAY,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,MAAM;CAG/C,CAAC;AAEF;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,cAAc,CAI9E"}
@@ -21,6 +21,10 @@ export const mockFile = {
21
21
  return { kind: "js", exports };
22
22
  },
23
23
  };
24
+ /**
25
+ * Create an empty, mutable virtual filesystem and its compiler host.
26
+ * Library files and test decorators are not mounted automatically; {@link createTester} sets them up.
27
+ */
24
28
  export function createTestFileSystem(options) {
25
29
  const virtualFs = createStringMap(!!options?.caseInsensitiveFileSystem);
26
30
  const jsImports = createStringMap(!!options?.caseInsensitiveFileSystem);
@@ -1 +1 @@
1
- {"version":3,"file":"fs.js","sourceRoot":"","sources":["../../../src/testing/fs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fs.js","sourceRoot":"","sources":["../../../src/testing/fs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,uBAAuB,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAGtD,MAAM,UAAU,kBAAkB,CAAC,IAAY,EAAE,GAAG,KAAe;IACjE,0EAA0E;IAC1E,0EAA0E;IAC1E,+BAA+B;IAC/B,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC;IACnE,OAAO,WAAW,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,CAAC;AAC9C,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,oDAAoD;IACpD,EAAE,EAAE,CAAC,OAAgC,EAAU,EAAE;QAC/C,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IACjC,CAAC;CACF,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAAyB;IAC5D,MAAM,SAAS,GAAG,eAAe,CAAS,CAAC,CAAC,OAAO,EAAE,yBAAyB,CAAC,CAAC;IAChF,MAAM,SAAS,GAAG,eAAe,CAAe,CAAC,CAAC,OAAO,EAAE,yBAAyB,CAAC,CAAC;IACtF,OAAO,4BAA4B,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;AACrE,CAAC;AAED,SAAS,4BAA4B,CACnC,SAA8B,EAC9B,SAA2C,EAC3C,OAAyB;IAEzB,MAAM,YAAY,GAAG,sBAAsB,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IAE3E,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,OAAO;QACL,GAAG;QACH,eAAe;QACf,SAAS;QACT,mBAAmB;QACnB,aAAa;QACb,aAAa;QACb,kBAAkB;QAClB,EAAE,EAAE,SAAS;QACb,YAAY;QACZ,MAAM;QACN,KAAK;KACN,CAAC;IAEF,SAAS,eAAe;QACtB,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;QAC7E,CAAC;IACH,CAAC;IAED,SAAS,GAAG,CAAC,IAAY,EAAE,QAAkB;QAC3C,eAAe,EAAE,CAAC;QAClB,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACjC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACzB,CAAC;aAAM,CAAC;YACN,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAED,SAAS,MAAM,CAAC,IAAY,EAAE,QAAgB;QAC5C,eAAe,EAAE,CAAC;QAClB,SAAS,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,CAAC;IACpD,CAAC;IAED,SAAS,SAAS,CAAC,IAAY,EAAE,QAA6B;QAC5D,eAAe,EAAE,CAAC;QAElB,MAAM,GAAG,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACrC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,sBAAsB;QAC9C,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IACtD,CAAC;IAED,SAAS,eAAe,CAAC,IAAY,EAAE,QAAgB;QACrD,eAAe,EAAE,CAAC;QAClB,SAAS,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,UAAU,mBAAmB,CAAC,IAAY,EAAE,YAAoB;QACnE,eAAe,EAAE,CAAC;QAElB,SAAS,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,MAAM,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC;IAChF,CAAC;IAED,KAAK,UAAU,aAAa,CAAC,MAAc,EAAE,cAAsB;QACjE,eAAe,EAAE,CAAC;QAElB,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,CAAC;QAC9C,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;YACjD,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YACxC,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,CAAC;YACnC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;gBACf,IAAI,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;oBACjC,MAAM,aAAa,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;gBACjD,CAAC;qBAAM,CAAC;oBACN,MAAM,mBAAmB,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;gBACvD,CAAC;YACH,CAAC;YACD,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;gBACpB,MAAM,aAAa,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;YACjD,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,UAAU,aAAa,CAAC,IAAY,EAAE,YAAoB;QAC7D,eAAe,EAAE,CAAC;QAElB,MAAM,GAAG,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACrC,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC;QAE/D,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACvB,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAC9B,CAAC;IAED,4DAA4D;IAC5D,KAAK,UAAU,kBAAkB,CAAC,WAAgC;QAChE,eAAe,EAAE,CAAC;QAElB,KAAK,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,WAAW,CAAC,KAAK,EAAE,CAAC;YAClE,MAAM,SAAS,GAAG,WAAW,CAAC,WAAW,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;YAChE,MAAM,OAAO,GAAG,MAAM,oBAAoB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YAC/D,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;gBAC5B,MAAM,YAAY,GAAG,WAAW,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;gBACnD,MAAM,eAAe,GAAG,kBAAkB,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;gBAC/D,QAAQ,uBAAuB,CAAC,YAAY,CAAC,EAAE,CAAC;oBAC9C,KAAK,MAAM,CAAC;oBACZ,KAAK,OAAO;wBACV,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;wBACvD,eAAe,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;wBAC3C,MAAM;oBACR,KAAK,KAAK,CAAC;oBACX,KAAK,MAAM;wBACT,MAAM,aAAa,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;wBACnD,MAAM;gBACV,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IACD,SAAS,MAAM;QACb,MAAM,GAAG,IAAI,CAAC;IAChB,CAAC;IAED,SAAS,KAAK;QACZ,OAAO,4BAA4B,CAAC,IAAI,GAAG,CAAC,SAAS,CAAC,EAAE,IAAI,GAAG,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,CAAC;IACvF,CAAC;AACH,CAAC"}
@@ -1,21 +1,35 @@
1
1
  import type { ArrayValue, BooleanLiteral, BooleanValue, Entity, Enum, EnumMember, EnumValue, Interface, Model, ModelProperty, Namespace, NumericLiteral, NumericValue, ObjectValue, Operation, Scalar, ScalarValue, StringLiteral, StringValue, Type, Union, UnionVariant, Value } from "../core/types.js";
2
+ /** A named type or value expectation interpolated by {@link t.code} and checked during compilation. */
2
3
  export type Marker<T extends Entity, N extends string> = T extends Type ? TypeMarker<T, N> : T extends Value ? ValueMarker<T, N> : never;
4
+ /** Select a type entity and optionally require a particular semantic type kind. */
3
5
  export interface TypeMarker<T extends Type, N extends string> {
6
+ /** Requires the resolved entity to be a type rather than a runtime value. */
4
7
  readonly entityKind: "Type";
8
+ /** Required type kind; when absent, any type kind is accepted. */
5
9
  readonly kind?: T["kind"];
10
+ /** Identifier inserted into the source and used as the compilation result key. */
6
11
  readonly name: N;
7
12
  }
13
+ /** Select a runtime value entity and optionally require a particular value kind. */
8
14
  export interface ValueMarker<T extends Value, N extends string> {
15
+ /** Requires the resolved entity to be a runtime value rather than a type. */
9
16
  readonly entityKind: "Value";
17
+ /** Required value kind; when absent, any runtime value is accepted. */
10
18
  readonly valueKind?: T["valueKind"];
19
+ /** Identifier inserted into the source and used as the compilation result key. */
11
20
  readonly name: N;
12
21
  }
22
+ /** Expected entity categories and kinds, keyed by the names collected from a marked template. */
13
23
  export type MarkerConfig<T extends Record<string, Entity>> = {
14
24
  [K in keyof T]: Marker<T[K], K & string>;
15
25
  };
26
+ /** Source produced by {@link t.code}, carrying typed expectations for named entities in that source. */
16
27
  export interface TemplateWithMarkers<T extends Record<string, Entity>> {
28
+ /** Discriminator identifying a marked template rather than a record of input files. */
17
29
  readonly isTemplateWithMarkers: true;
30
+ /** Generated TypeSpec text, including the marker comments used to locate entities. */
18
31
  readonly code: string;
32
+ /** Expectations checked when resolving marked entities after compilation. */
19
33
  readonly markers: MarkerConfig<T>;
20
34
  }
21
35
  export declare const TemplateWithMarkers: {
@@ -23,10 +37,15 @@ export declare const TemplateWithMarkers: {
23
37
  };
24
38
  /** Specify that this value is dynamic and needs to be interpolated with the given keys */
25
39
  declare function code<const T extends (Marker<Entity, string> | string)[]>(strings: TemplateStringsArray, ...keys: T): TemplateWithMarkers<Prettify<CollectType<T>>>;
26
- /** TypeSpec template marker */
40
+ /**
41
+ * Build TypeSpec source with typed entity markers.
42
+ * Marker factories take an identifier, insert it with a locating comment through {@link t.code},
43
+ * and require the resolved entity to match the factory's type or value kind.
44
+ */
27
45
  export declare const t: {
28
46
  /**
29
- * Define a marked code block
47
+ * Interpolate source strings and entity markers into a test input with typed result properties.
48
+ * Plain strings are inserted verbatim; a marker named `Foo` inserts `/*Foo*\/Foo`.
30
49
  *
31
50
  * @example
32
51
  * ```ts
@@ -91,6 +110,10 @@ type FlattenRecord<T extends Record<string, unknown>> = UnionToIntersection<T[ke
91
110
  type FlattenTemplates<M extends Record<string, string | TemplateWithMarkers<any>>> = FlattenRecord<{
92
111
  [K in keyof M]: M[K] extends TemplateWithMarkers<infer T> ? T : never;
93
112
  }>;
113
+ /**
114
+ * Infer named entity result properties from a marked template or a record of marked input files.
115
+ * Names appearing only in plain source strings are not inferred by this type.
116
+ */
94
117
  export type GetMarkedEntities<M extends string | TemplateWithMarkers<any> | Record<string, string | TemplateWithMarkers<any>>> = M extends Record<string, string | TemplateWithMarkers<any>> ? FlattenTemplates<M> : M extends string | TemplateWithMarkers<infer R> ? R : never;
95
118
  export {};
96
119
  //# sourceMappingURL=marked-template.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"marked-template.d.ts","sourceRoot":"","sources":["../../../src/testing/marked-template.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"marked-template.d.ts","sourceRoot":"","sources":["../../../src/testing/marked-template.ts"],"names":[],"mappings":"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"}
@@ -46,10 +46,15 @@ function valueMarker(valueKind) {
46
46
  };
47
47
  };
48
48
  }
49
- /** TypeSpec template marker */
49
+ /**
50
+ * Build TypeSpec source with typed entity markers.
51
+ * Marker factories take an identifier, insert it with a locating comment through {@link t.code},
52
+ * and require the resolved entity to match the factory's type or value kind.
53
+ */
50
54
  export const t = {
51
55
  /**
52
- * Define a marked code block
56
+ * Interpolate source strings and entity markers into a test input with typed result properties.
57
+ * Plain strings are inserted verbatim; a marker named `Foo` inserts `/*Foo*\/Foo`.
53
58
  *
54
59
  * @example
55
60
  * ```ts
@@ -1 +1 @@
1
- {"version":3,"file":"marked-template.js","sourceRoot":"","sources":["../../../src/testing/marked-template.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"marked-template.js","sourceRoot":"","sources":["../../../src/testing/marked-template.ts"],"names":[],"mappings":"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"}
@@ -2,14 +2,27 @@ import type { DiagnosticMessages, Entity, LinterRuleDefinition } from "../core/t
2
2
  import type { DiagnosticMatch } from "./expect.js";
3
3
  import type { GetMarkedEntities, TemplateWithMarkers } from "./marked-template.js";
4
4
  import type { BasicTestRunner, TestCompileResult, TesterInstance } from "./types.js";
5
+ /** Exercise one linter rule independently of a library's configured rulesets. */
5
6
  export interface LinterRuleTester {
7
+ /**
8
+ * Prepare assertions for source compiled by the supplied runner.
9
+ * File records and typed markers require a modern `TesterInstance`; legacy runners accept only strings.
10
+ */
6
11
  expect<T extends string | TemplateWithMarkers<any> | Record<string, string | TemplateWithMarkers<any>>>(code: T): LinterRuleTestExpect<GetMarkedEntities<T>>;
7
12
  }
13
+ /** Assertions that compile the input without compiler diagnostics, then run the selected rule. */
8
14
  export interface LinterRuleTestExpect<T extends Record<string, Entity> = any> {
15
+ /** Require the rule to report neither warnings nor errors. */
9
16
  toBeValid(): Promise<void>;
17
+ /**
18
+ * Match all rule diagnostics in reporting order using {@link expectDiagnostics}.
19
+ * A callback can derive expected locations from the compilation result, but requires a modern `TesterInstance`.
20
+ */
10
21
  toEmitDiagnostics(diagnostics: DiagnosticMatch | DiagnosticMatch[] | ((res: TestCompileResult<T>) => DiagnosticMatch | DiagnosticMatch[])): Promise<void>;
22
+ /** Select a fix by ID from the first rule diagnostic for an expected-source assertion. */
11
23
  applyCodeFix(codeFixId: string): ApplyCodeFixExpect;
12
24
  }
25
+ /** Compare files written by a selected rule code fix, rather than recompiling the fixed source. */
13
26
  export interface ApplyCodeFixExpect {
14
27
  /**
15
28
  * Assert the content of the file(s) after the code fix is applied.
@@ -42,5 +55,14 @@ export interface ApplyCodeFixExpect {
42
55
  */
43
56
  toEqual(code: string | Record<string, string>): Promise<void>;
44
57
  }
58
+ /**
59
+ * Test a rule with its default options, without enabling a linter ruleset.
60
+ * Each assertion compiles with comment parsing enabled and requires no compiler diagnostics.
61
+ * The rule must report through its rule context, not directly to the program.
62
+ *
63
+ * @param runner Mutable tester instance, or a legacy runner supporting string inputs only.
64
+ * @param ruleDef Rule whose visitors and optional `exit` callback are run against the program.
65
+ * @param libraryName Prefix for diagnostic codes, which take the form `libraryName/ruleName`.
66
+ */
45
67
  export declare function createLinterRuleTester(runner: BasicTestRunner | TesterInstance, ruleDef: LinterRuleDefinition<string, DiagnosticMessages>, libraryName: string): LinterRuleTester;
46
68
  //# sourceMappingURL=rule-tester.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"rule-tester.d.ts","sourceRoot":"","sources":["../../../src/testing/rule-tester.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAIV,kBAAkB,EAClB,MAAM,EACN,oBAAoB,EACrB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,OAAO,KAAK,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAEnF,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAErF,MAAM,WAAW,gBAAgB;IAC/B,MAAM,CACJ,CAAC,SAAS,MAAM,GAAG,mBAAmB,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC,EAE/F,IAAI,EAAE,CAAC,GACN,oBAAoB,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;CAC/C;AAED,MAAM,WAAW,oBAAoB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,GAAG;IAC1E,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,iBAAiB,CACf,WAAW,EACP,eAAe,GACf,eAAe,EAAE,GACjB,CAAC,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC,CAAC,KAAK,eAAe,GAAG,eAAe,EAAE,CAAC,GACvE,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,kBAAkB,CAAC;CACrD;AAED,MAAM,WAAW,kBAAkB;IACjC;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/D;AAED,wBAAgB,sBAAsB,CAEpC,MAAM,EAAE,eAAe,GAAG,cAAc,EACxC,OAAO,EAAE,oBAAoB,CAAC,MAAM,EAAE,kBAAkB,CAAC,EACzD,WAAW,EAAE,MAAM,GAClB,gBAAgB,CAmJlB"}
1
+ {"version":3,"file":"rule-tester.d.ts","sourceRoot":"","sources":["../../../src/testing/rule-tester.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAIV,kBAAkB,EAClB,MAAM,EACN,oBAAoB,EACrB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,OAAO,KAAK,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAEnF,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAErF,iFAAiF;AACjF,MAAM,WAAW,gBAAgB;IAC/B;;;OAGG;IACH,MAAM,CACJ,CAAC,SAAS,MAAM,GAAG,mBAAmB,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC,EAE/F,IAAI,EAAE,CAAC,GACN,oBAAoB,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;CAC/C;AAED,kGAAkG;AAClG,MAAM,WAAW,oBAAoB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,GAAG;IAC1E,8DAA8D;IAC9D,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B;;;OAGG;IACH,iBAAiB,CACf,WAAW,EACP,eAAe,GACf,eAAe,EAAE,GACjB,CAAC,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC,CAAC,KAAK,eAAe,GAAG,eAAe,EAAE,CAAC,GACvE,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,0FAA0F;IAC1F,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,kBAAkB,CAAC;CACrD;AAED,mGAAmG;AACnG,MAAM,WAAW,kBAAkB;IACjC;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/D;AAED;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAEpC,MAAM,EAAE,eAAe,GAAG,cAAc,EACxC,OAAO,EAAE,oBAAoB,CAAC,MAAM,EAAE,kBAAkB,CAAC,EACzD,WAAW,EAAE,MAAM,GAClB,gBAAgB,CAmJlB"}
@@ -5,6 +5,15 @@ import { createLinterRuleContext } from "../core/linter.js";
5
5
  import { navigateProgram } from "../core/semantic-walker.js";
6
6
  import { expectDiagnosticEmpty, expectDiagnostics } from "./expect.js";
7
7
  import { resolveVirtualPath, trimBlankLines } from "./test-utils.js";
8
+ /**
9
+ * Test a rule with its default options, without enabling a linter ruleset.
10
+ * Each assertion compiles with comment parsing enabled and requires no compiler diagnostics.
11
+ * The rule must report through its rule context, not directly to the program.
12
+ *
13
+ * @param runner Mutable tester instance, or a legacy runner supporting string inputs only.
14
+ * @param ruleDef Rule whose visitors and optional `exit` callback are run against the program.
15
+ * @param libraryName Prefix for diagnostic codes, which take the form `libraryName/ruleName`.
16
+ */
8
17
  export function createLinterRuleTester(
9
18
  // eslint-disable-next-line @typescript-eslint/no-deprecated
10
19
  runner, ruleDef, libraryName) {
@@ -1 +1 @@
1
- {"version":3,"file":"rule-tester.js","sourceRoot":"","sources":["../../../src/testing/rule-tester.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rule-tester.js","sourceRoot":"","sources":["../../../src/testing/rule-tester.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,12 @@
1
1
  /**
2
2
  * Takes source code with a cursor position indicated by the given marker
3
3
  * ("┆" by default), and returns the source without the marker along with
4
- * the cursor position.
4
+ * the cursor position. Only the first occurrence is removed; throws if no marker is found.
5
5
  */
6
6
  export declare function extractCursor(sourceWithCursor: string, marker?: string): {
7
+ /** Source with the first cursor marker removed. */
7
8
  source: string;
9
+ /** Zero-based UTF-16 offset at which the marker was removed. */
8
10
  pos: number;
9
11
  };
10
12
  /**
@@ -19,11 +21,14 @@ export declare function extractCursors(sourceWithCursor: string, marker?: string
19
21
  /**
20
22
  * Takes source code with start and end positions indicated by given marker
21
23
  * ("~~~" by default) and returns the source without the markers along with
22
- * the start and end positions.
24
+ * the start and end positions. Removes the first two occurrences and throws if either is missing.
23
25
  */
24
26
  export declare function extractSquiggles(sourceWithSquiggles: string, marker?: string): {
27
+ /** Source with the two range markers removed. */
25
28
  source: string;
29
+ /** Zero-based UTF-16 start offset in the returned source. */
26
30
  pos: number;
31
+ /** Exclusive UTF-16 end offset in the returned source. */
27
32
  end: number;
28
33
  };
29
34
  //# sourceMappingURL=source-utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"source-utils.d.ts","sourceRoot":"","sources":["../../../src/testing/source-utils.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,wBAAgB,aAAa,CAC3B,gBAAgB,EAAE,MAAM,EACxB,MAAM,SAAM,GACX;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAKjC;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,gBAAgB,EAAE,MAAM,EACxB,MAAM,SAAM,GACX;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,EAAE,CAAA;CAAE,CAYnC;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,mBAAmB,EAAE,MAAM,EAC3B,MAAM,SAAQ,GACb;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAI9C"}
1
+ {"version":3,"file":"source-utils.d.ts","sourceRoot":"","sources":["../../../src/testing/source-utils.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,wBAAgB,aAAa,CAC3B,gBAAgB,EAAE,MAAM,EACxB,MAAM,SAAM,GACX;IACD,mDAAmD;IACnD,MAAM,EAAE,MAAM,CAAC;IACf,gEAAgE;IAChE,GAAG,EAAE,MAAM,CAAC;CACb,CAKA;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,gBAAgB,EAAE,MAAM,EACxB,MAAM,SAAM,GACX;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,EAAE,CAAA;CAAE,CAYnC;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,mBAAmB,EAAE,MAAM,EAC3B,MAAM,SAAQ,GACb;IACD,iDAAiD;IACjD,MAAM,EAAE,MAAM,CAAC;IACf,6DAA6D;IAC7D,GAAG,EAAE,MAAM,CAAC;IACZ,0DAA0D;IAC1D,GAAG,EAAE,MAAM,CAAC;CACb,CAIA"}
@@ -2,7 +2,7 @@ import { ok } from "assert";
2
2
  /**
3
3
  * Takes source code with a cursor position indicated by the given marker
4
4
  * ("┆" by default), and returns the source without the marker along with
5
- * the cursor position.
5
+ * the cursor position. Only the first occurrence is removed; throws if no marker is found.
6
6
  */
7
7
  export function extractCursor(sourceWithCursor, marker = "┆") {
8
8
  const pos = sourceWithCursor.indexOf(marker);
@@ -31,7 +31,7 @@ export function extractCursors(sourceWithCursor, marker = "┆") {
31
31
  /**
32
32
  * Takes source code with start and end positions indicated by given marker
33
33
  * ("~~~" by default) and returns the source without the markers along with
34
- * the start and end positions.
34
+ * the start and end positions. Removes the first two occurrences and throws if either is missing.
35
35
  */
36
36
  export function extractSquiggles(sourceWithSquiggles, marker = "~~~") {
37
37
  const { source: sourceWithoutFistSquiggle, pos } = extractCursor(sourceWithSquiggles, marker);
@@ -1 +1 @@
1
- {"version":3,"file":"source-utils.js","sourceRoot":"","sources":["../../../src/testing/source-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAE5B;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAC3B,gBAAwB,EACxB,MAAM,GAAG,GAAG;IAEZ,MAAM,GAAG,GAAG,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7C,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,kBAAkB,CAAC,CAAC;IACjC,MAAM,MAAM,GAAG,gBAAgB,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACpD,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACzB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAC5B,gBAAwB,EACxB,MAAM,GAAG,GAAG;IAEZ,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,IAAI,GAAG,GAAG,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC3C,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC;QAChB,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpB,GAAG,GAAG,gBAAgB,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC;IAClD,CAAC;IACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1C,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;IACpC,CAAC;IACD,EAAE,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,kBAAkB,CAAC,CAAC;IAC7C,OAAO,EAAE,MAAM,EAAE,gBAAgB,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC;AAC7E,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAC9B,mBAA2B,EAC3B,MAAM,GAAG,KAAK;IAEd,MAAM,EAAE,MAAM,EAAE,yBAAyB,EAAE,GAAG,EAAE,GAAG,aAAa,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC;IAC9F,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,aAAa,CAAC,yBAAyB,EAAE,MAAM,CAAC,CAAC;IAC9E,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;AAC9B,CAAC"}
1
+ {"version":3,"file":"source-utils.js","sourceRoot":"","sources":["../../../src/testing/source-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAE5B;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAC3B,gBAAwB,EACxB,MAAM,GAAG,GAAG;IAOZ,MAAM,GAAG,GAAG,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7C,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,kBAAkB,CAAC,CAAC;IACjC,MAAM,MAAM,GAAG,gBAAgB,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACpD,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACzB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAC5B,gBAAwB,EACxB,MAAM,GAAG,GAAG;IAEZ,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,IAAI,GAAG,GAAG,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC3C,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC;QAChB,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpB,GAAG,GAAG,gBAAgB,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC;IAClD,CAAC;IACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1C,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;IACpC,CAAC;IACD,EAAE,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,kBAAkB,CAAC,CAAC;IAC7C,OAAO,EAAE,MAAM,EAAE,gBAAgB,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC;AAC7E,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAC9B,mBAA2B,EAC3B,MAAM,GAAG,KAAK;IASd,MAAM,EAAE,MAAM,EAAE,yBAAyB,EAAE,GAAG,EAAE,GAAG,aAAa,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC;IAC9F,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,aAAa,CAAC,yBAAyB,EAAE,MAAM,CAAC,CAAC;IAC9E,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;AAC9B,CAAC"}
@@ -1,9 +1,17 @@
1
1
  import type { CompilerHost, Type } from "../core/types.js";
2
2
  import type { TestFileSystem, TypeSpecTestLibrary } from "./types.js";
3
+ /**
4
+ * File mappings for the compiler's built JavaScript support and standard TypeSpec library.
5
+ * `createTestHost` and modern testers mount these files automatically.
6
+ */
3
7
  export declare const StandardTestLibrary: TypeSpecTestLibrary;
8
+ /** Filesystem lookup and host customization for {@link createTestFileSystem}. */
4
9
  export interface TestHostOptions {
10
+ /** Make file and JavaScript-module lookups case-insensitive. Defaults to case-sensitive lookup. */
5
11
  caseInsensitiveFileSystem?: boolean;
12
+ /** Omit the test-decorator library directory from the host's library search paths. Defaults to `false`. */
6
13
  excludeTestLib?: boolean;
14
+ /** Replace individual host operations; overrides are applied after the virtual host's defaults. */
7
15
  compilerHostOverrides?: Partial<CompilerHost>;
8
16
  }
9
17
  export declare function createTestCompilerHost(virtualFs: Map<string, string>, jsImports: Map<string, Record<string, any>>, options?: TestHostOptions): CompilerHost;
@@ -1 +1 @@
1
- {"version":3,"file":"test-compiler-host.d.ts","sourceRoot":"","sources":["../../../src/testing/test-compiler-host.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAiB,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAE1E,OAAO,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAItE,eAAO,MAAM,mBAAmB,EAAE,mBAgBjC,CAAC;AAEF,MAAM,WAAW,eAAe;IAC9B,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,qBAAqB,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;CAC/C;AAED,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9B,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,EAC3C,OAAO,CAAC,EAAE,eAAe,GACxB,YAAY,CAwHd;AAED,wBAAgB,UAAU,CAAC,EAAE,EAAE,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAoBnE"}
1
+ {"version":3,"file":"test-compiler-host.d.ts","sourceRoot":"","sources":["../../../src/testing/test-compiler-host.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAiB,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAE1E,OAAO,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAGtE;;;GAGG;AAEH,eAAO,MAAM,mBAAmB,EAAE,mBAgBjC,CAAC;AAEF,iFAAiF;AACjF,MAAM,WAAW,eAAe;IAC9B,mGAAmG;IACnG,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,2GAA2G;IAC3G,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,mGAAmG;IACnG,qBAAqB,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;CAC/C;AAED,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9B,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,EAC3C,OAAO,CAAC,EAAE,eAAe,GACxB,YAAY,CAwHd;AAED,wBAAgB,UAAU,CAAC,EAAE,EAAE,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAoBnE"}
@@ -3,6 +3,10 @@ import { CompilerPackageRoot, NodeHost } from "../core/node-host.js";
3
3
  import { createSourceFile, getSourceFileKindFromExt } from "../core/source-file.js";
4
4
  import { resolveVirtualPath } from "./fs.js";
5
5
  import { TestHostError } from "./types.js";
6
+ /**
7
+ * File mappings for the compiler's built JavaScript support and standard TypeSpec library.
8
+ * `createTestHost` and modern testers mount these files automatically.
9
+ */
6
10
  // eslint-disable-next-line @typescript-eslint/no-deprecated
7
11
  export const StandardTestLibrary = {
8
12
  name: "@typespec/compiler",
@@ -1 +1 @@
1
- {"version":3,"file":"test-compiler-host.js","sourceRoot":"","sources":["../../../src/testing/test-compiler-host.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"test-compiler-host.js","sourceRoot":"","sources":["../../../src/testing/test-compiler-host.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAEpF,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAE7C,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C;;;GAGG;AACH,4DAA4D;AAC5D,MAAM,CAAC,MAAM,mBAAmB,GAAwB;IACtD,IAAI,EAAE,oBAAoB;IAC1B,WAAW,EAAE,mBAAmB;IAChC,KAAK,EAAE;QACL;YACE,WAAW,EAAE,4CAA4C;YACzD,OAAO,EAAE,YAAY;YACrB,OAAO,EAAE,UAAU;SACpB;QACD;YACE,WAAW,EAAE,gDAAgD;YAC7D,OAAO,EAAE,gBAAgB;YACzB,OAAO,EAAE,IAAI;SACd;QACD,EAAE,WAAW,EAAE,uCAAuC,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE;KAC1F;CACF,CAAC;AAYF,MAAM,UAAU,sBAAsB,CACpC,SAA8B,EAC9B,SAA2C,EAC3C,OAAyB;IAEzB,MAAM,OAAO,GAAG,CAAC,kBAAkB,CAAC,2CAA2C,CAAC,CAAC,CAAC;IAClF,IAAI,CAAC,OAAO,EAAE,cAAc,EAAE,CAAC;QAC7B,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,4CAA4C,CAAC,CAAC,CAAC;IACjF,CAAC;IAED,OAAO;QACL,KAAK,CAAC,OAAO,CAAC,GAAW;YACvB,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACpC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC3B,4DAA4D;gBAC5D,MAAM,IAAI,aAAa,CAAC,QAAQ,GAAG,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC9D,CAAC;YACD,OAAO,gBAAgB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QACzC,CAAC;QACD,KAAK,CAAC,QAAQ,CAAC,IAAY;YACzB,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAChC,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACrC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC3B,4DAA4D;gBAC5D,MAAM,IAAI,aAAa,CAAC,QAAQ,IAAI,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/D,CAAC;YACD,OAAO,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC1C,CAAC;QAED,KAAK,CAAC,SAAS,CAAC,IAAY,EAAE,OAAe;YAC3C,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAChC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC/B,CAAC;QAED,KAAK,CAAC,OAAO,CAAC,IAAY;YACxB,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAChC,MAAM,UAAU,GAAG,CAAC,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;iBACrC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC;iBACvC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC;iBACrC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBACT,MAAM,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBAC7B,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAClD,CAAC,CAAC,CAAC;YACL,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;QAClC,CAAC;QAED,KAAK,CAAC,EAAE,CAAC,IAAY,EAAE,OAAkB;YACvC,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAEhC,IAAI,OAAO,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC9C,KAAK,MAAM,GAAG,IAAI,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC;oBACnC,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC;wBAC/B,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBACxB,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACzB,CAAC;QACH,CAAC;QAED,UAAU;YACR,OAAO,OAAO,CAAC;QACjB,CAAC;QAED,gBAAgB;YACd,OAAO,kBAAkB,CAAC,mCAAmC,CAAC,CAAC;QACjE,CAAC;QAED,KAAK,CAAC,WAAW,CAAC,IAAI;YACpB,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAChC,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACnC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,4DAA4D;gBAC5D,MAAM,IAAI,aAAa,CAAC,UAAU,IAAI,YAAY,EAAE,sBAAsB,CAAC,CAAC;YAC9E,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,IAAY;YACrB,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAEhC,IAAI,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxB,OAAO;oBACL,WAAW;wBACT,OAAO,KAAK,CAAC;oBACf,CAAC;oBACD,MAAM;wBACJ,OAAO,IAAI,CAAC;oBACd,CAAC;iBACF,CAAC;YACJ,CAAC;YAED,KAAK,MAAM,MAAM,IAAI,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC;gBACtC,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;oBAC/C,OAAO;wBACL,WAAW;4BACT,OAAO,IAAI,CAAC;wBACd,CAAC;wBACD,MAAM;4BACJ,OAAO,KAAK,CAAC;wBACf,CAAC;qBACF,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,4DAA4D;YAC5D,MAAM,IAAI,aAAa,CAAC,QAAQ,IAAI,YAAY,EAAE,QAAQ,CAAC,CAAC;QAC9D,CAAC;QAED,sCAAsC;QACtC,KAAK,CAAC,QAAQ,CAAC,IAAI;YACjB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,iBAAiB,EAAE,wBAAwB;QAE3C,OAAO,EAAE,EAAE,GAAG,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE;QACtC,MAAM,EAAE,KAAK,EAAE,IAAY,EAAE,EAAE,CAAC,IAAI;QACpC,aAAa;QACb,aAAa,CAAC,IAAY;YACxB,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;QAClC,CAAC;QAED,GAAG,OAAO,EAAE,qBAAqB;KAClC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,EAAkB;IAC3C,MAAM,SAAS,GAAyB,EAAE,CAAC;IAC3C,sBAAsB;IACtB,EAAE,CAAC,GAAG,CAAC,qDAAqD,EAAE,qBAAqB,CAAC,CAAC;IACrF,EAAE,CAAC,SAAS,CAAC,oDAAoD,EAAE;QACjE,SAAS,EAAE,UAAU;QACrB,KAAK,CAAC,CAAM,EAAE,MAAY,EAAE,WAA2B;YACrD,IAAI,IAAI,GAAG,WAAW,EAAE,KAAK,CAAC;YAC9B,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,IAAI,MAAM,IAAI,MAAM,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBACxD,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;gBACrB,CAAC;qBAAM,CAAC;oBACN,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;gBAC1D,CAAC;YACH,CAAC;YAED,SAAS,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;QAC3B,CAAC;KACF,CAAC,CAAC;IACH,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -3,5 +3,9 @@ import type { BasicTestRunner, TestHost, TestHostConfig } from "./types.js";
3
3
  export declare function createTestHost(config?: TestHostConfig): Promise<TestHost>;
4
4
  /** @deprecated Use {@link createTester} */
5
5
  export declare function createTestRunner(host?: TestHost): Promise<BasicTestRunner>;
6
+ /**
7
+ * Collect glob matches relative to a real directory, without sorting.
8
+ * Excludes `.test` and `.spec` files with TypeScript, TSX, JavaScript, or JSX extensions.
9
+ */
6
10
  export declare function findFilesFromPattern(directory: string, pattern: string): Promise<string[]>;
7
11
  //# sourceMappingURL=test-host.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"test-host.d.ts","sourceRoot":"","sources":["../../../src/testing/test-host.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,cAAc,EAAuB,MAAM,YAAY,CAAC;AAGjG,2CAA2C;AAC3C,wBAAsB,cAAc,CAAC,MAAM,GAAE,cAAmB,GAAG,OAAO,CAAC,QAAQ,CAAC,CASnF;AAED,2CAA2C;AAC3C,wBAAsB,gBAAgB,CAAC,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,eAAe,CAAC,CAGhF;AAuDD,wBAAsB,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAShG"}
1
+ {"version":3,"file":"test-host.d.ts","sourceRoot":"","sources":["../../../src/testing/test-host.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,cAAc,EAAuB,MAAM,YAAY,CAAC;AAGjG,2CAA2C;AAC3C,wBAAsB,cAAc,CAAC,MAAM,GAAE,cAAmB,GAAG,OAAO,CAAC,QAAQ,CAAC,CASnF;AAED,2CAA2C;AAC3C,wBAAsB,gBAAgB,CAAC,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,eAAe,CAAC,CAGhF;AAuDD;;;GAGG;AACH,wBAAsB,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAShG"}
@@ -64,6 +64,10 @@ async function createTestHostInternal() {
64
64
  }
65
65
  }
66
66
  /* eslint-enable @typescript-eslint/no-deprecated */
67
+ /**
68
+ * Collect glob matches relative to a real directory, without sorting.
69
+ * Excludes `.test` and `.spec` files with TypeScript, TSX, JavaScript, or JSX extensions.
70
+ */
67
71
  export async function findFilesFromPattern(directory, pattern) {
68
72
  const results = [];
69
73
  for await (const file of glob(pattern, {
@@ -1 +1 @@
1
- {"version":3,"file":"test-host.js","sourceRoot":"","sources":["../../../src/testing/test-host.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"test-host.js","sourceRoot":"","sources":["../../../src/testing/test-host.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9E,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAGxD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAE/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAGxE,gHAAgH;AAChH,2CAA2C;AAC3C,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,MAAM,GAAmB,EAAE;IAC9D,MAAM,QAAQ,GAAG,MAAM,sBAAsB,EAAE,CAAC;IAChD,MAAM,QAAQ,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,CAAC;IACvD,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACrB,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YACvC,MAAM,QAAQ,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,2CAA2C;AAC3C,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,IAAe;IACpD,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,MAAM,cAAc,EAAE,CAAC,CAAC;IAClD,OAAO,iBAAiB,CAAC,QAAQ,CAAC,CAAC;AACrC,CAAC;AAED,KAAK,UAAU,sBAAsB;IACnC,IAAI,OAA4B,CAAC;IACjC,MAAM,SAAS,GAA0B,EAAE,CAAC;IAC5C,MAAM,UAAU,GAAG,MAAM,oBAAoB,EAAE,CAAC;IAChD,MAAM,SAAS,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;IAEzC,OAAO;QACL,GAAG,UAAU;QACb,kBAAkB,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YAChC,IAAI,GAAG,KAAK,mBAAmB,EAAE,CAAC;gBAChC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACtB,CAAC;YACD,MAAM,UAAU,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;QAC3C,CAAC;QACD,OAAO;QACP,QAAQ;QACR,kBAAkB;QAClB,SAAS;QACT,SAAS;QACT,IAAI,OAAO;YACT,MAAM,CACJ,OAAO,EACP,sFAAsF,CACvF,CAAC;YACF,OAAO,OAAO,CAAC;QACjB,CAAC;KACF,CAAC;IAEF,KAAK,UAAU,OAAO,CAAC,IAAY,EAAE,OAAO,GAAoB,EAAE;QAChE,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,GAAG,MAAM,kBAAkB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACzE,qBAAqB,CAAC,WAAW,CAAC,CAAC;QACnC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,KAAK,UAAU,QAAQ,CAAC,IAAY,EAAE,OAAO,GAAoB,EAAE;QACjE,MAAM,CAAC,EAAE,WAAW,CAAC,GAAG,MAAM,kBAAkB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAChE,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,KAAK,UAAU,kBAAkB,CAC/B,QAAgB,EAChB,OAAO,GAAoB,EAAE;QAE7B,MAAM,CAAC,GAAG,MAAM,cAAc,CAAC,UAAU,CAAC,YAAY,EAAE,kBAAkB,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAC;QAC/F,OAAO,GAAG,CAAC,CAAC;QACZ,oBAAoB,CAAC,CAAC,GAAG,EAAE,EAAE,CAC3B,cAAc,CAAC,CAAC,CAAC,WAAW,EAAE,YAAY,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC,CACvF,CAAC;QACF,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC;IACpC,CAAC;AACH,CAAC;AACD,oDAAoD;AAEpD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,SAAiB,EAAE,OAAe;IAC3E,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE;QACrC,GAAG,EAAE,SAAS;QACd,OAAO,EAAE,CAAC,kCAAkC,CAAC;KAC9C,CAAC,EAAE,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -1,6 +1,10 @@
1
1
  import type { CompilerOptions } from "../core/options.js";
2
2
  import type { Type } from "../core/types.js";
3
3
  import type { BasicTestRunner, TestHost, TypeSpecTestLibrary, TypeSpecTestLibraryInit } from "./types.js";
4
+ /**
5
+ * Resolve path segments against the virtual test root (`/test`, or `Z:/test` on Windows).
6
+ * Absolute segments replace earlier segments, following the compiler's path-resolution rules.
7
+ */
4
8
  export declare function resolveVirtualPath(path: string, ...paths: string[]): string;
5
9
  /** Find the package root from the provided file
6
10
  * @deprecated Use {@link createTester} instead
@@ -15,19 +19,27 @@ export declare function findTestPackageRoot(fileUrl: string): Promise<string>;
15
19
  export declare function createTestLibrary(init: TypeSpecTestLibraryInit): TypeSpecTestLibrary;
16
20
  /** @deprecated Use {@link Tester} instead */
17
21
  export interface TestWrapperOptions {
22
+ /** Transform user source before the generated imports and usings are prepended. */
18
23
  wrapper?: (code: string) => string;
19
24
  /**
20
- * List of imports to include automatically.
25
+ * Imports prepended to `main.tsp`. Defaults to registered host libraries other than the compiler;
26
+ * an empty array disables those default imports.
21
27
  */
22
28
  autoImports?: string[];
23
29
  /**
24
- * List of usings to include automatically.
30
+ * Namespace `using` statements appended to the generated imports. Defaults to none.
25
31
  */
26
32
  autoUsings?: string[];
33
+ /** Default compiler options, shallow-merged with each call's options; nested objects are replaced. */
27
34
  compilerOptions?: CompilerOptions;
28
35
  }
29
36
  /** @deprecated Use {@link createTester} instead */
30
37
  export declare function createTestWrapper(host: TestHost, testWrapperOptions?: TestWrapperOptions): BasicTestRunner;
38
+ /**
39
+ * Slice off space-only text before the first newline and after the last newline.
40
+ * Other whitespace is not trimmed. If no trailing space-only text is removed,
41
+ * the slice's end offset is zero and the result is empty.
42
+ */
31
43
  export declare function trimBlankLines(code: string): string;
32
44
  /**
33
45
  * Compare 2 TypeSpec type and make sure they are the exact same(a === b).
@@ -1 +1 @@
1
- {"version":3,"file":"test-utils.d.ts","sourceRoot":"","sources":["../../../src/testing/test-utils.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE1D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAE7C,OAAO,KAAK,EACV,eAAe,EACf,QAAQ,EACR,mBAAmB,EACnB,uBAAuB,EACxB,MAAM,YAAY,CAAC;AAEpB,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,UAMlE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAEpE;AACD;;;;;GAKG;AAEH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,uBAAuB,GAAG,mBAAmB,CAqBpF;AAED,6CAA6C;AAC7C,MAAM,WAAW,kBAAkB;IACjC,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IAEnC;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IAEvB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IAEtB,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC;AACD,mDAAmD;AAEnD,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,QAAQ,EACd,kBAAkB,GAAE,kBAAuB,GAC1C,eAAe,CAuCjB;AAGD,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,UAyB1C;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,IAAI,GAAG,SAAS,EAAE,QAAQ,EAAE,IAAI,QAaxE"}
1
+ {"version":3,"file":"test-utils.d.ts","sourceRoot":"","sources":["../../../src/testing/test-utils.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE1D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAE7C,OAAO,KAAK,EACV,eAAe,EACf,QAAQ,EACR,mBAAmB,EACnB,uBAAuB,EACxB,MAAM,YAAY,CAAC;AAEpB;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,UAMlE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAEpE;AACD;;;;;GAKG;AAEH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,uBAAuB,GAAG,mBAAmB,CAqBpF;AAED,6CAA6C;AAC7C,MAAM,WAAW,kBAAkB;IACjC,mFAAmF;IACnF,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IAEnC;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IAEvB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IAEtB,sGAAsG;IACtG,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC;AACD,mDAAmD;AAEnD,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,QAAQ,EACd,kBAAkB,GAAE,kBAAuB,GAC1C,eAAe,CAuCjB;AAGD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,UAyB1C;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,IAAI,GAAG,SAAS,EAAE,QAAQ,EAAE,IAAI,QAaxE"}
@@ -4,6 +4,10 @@ import { getTypeName } from "../core/helpers/type-name-utils.js";
4
4
  import { NodeHost } from "../core/node-host.js";
5
5
  import { resolvePath } from "../core/path-utils.js";
6
6
  import { findProjectRoot } from "../utils/io.js";
7
+ /**
8
+ * Resolve path segments against the virtual test root (`/test`, or `Z:/test` on Windows).
9
+ * Absolute segments replace earlier segments, following the compiler's path-resolution rules.
10
+ */
7
11
  export function resolveVirtualPath(path, ...paths) {
8
12
  // NB: We should always resolve an absolute path, and there is no absolute
9
13
  // path that works across OSes. This ensures that we can still rely on API
@@ -79,6 +83,11 @@ export function createTestWrapper(host, testWrapperOptions = {}) {
79
83
  };
80
84
  }
81
85
  /* eslint-enable @typescript-eslint/no-deprecated */
86
+ /**
87
+ * Slice off space-only text before the first newline and after the last newline.
88
+ * Other whitespace is not trimmed. If no trailing space-only text is removed,
89
+ * the slice's end offset is zero and the result is empty.
90
+ */
82
91
  export function trimBlankLines(code) {
83
92
  let start = 0;
84
93
  for (let i = 0; i < code.length; i++) {