@typespec/compiler 0.67.0-dev.9 → 0.67.0

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 (303) hide show
  1. package/dist/generated-defs/TypeSpec.d.ts +28 -1
  2. package/dist/generated-defs/TypeSpec.d.ts.map +1 -1
  3. package/dist/manifest.js +2 -2
  4. package/dist/src/ast/index.d.ts +14 -0
  5. package/dist/src/ast/index.d.ts.map +1 -0
  6. package/dist/src/ast/index.js +13 -0
  7. package/dist/src/ast/index.js.map +1 -0
  8. package/dist/src/config/config-loader.d.ts.map +1 -1
  9. package/dist/src/config/config-loader.js +2 -1
  10. package/dist/src/config/config-loader.js.map +1 -1
  11. package/dist/src/config/config-to-options.d.ts.map +1 -1
  12. package/dist/src/config/config-to-options.js +2 -1
  13. package/dist/src/config/config-to-options.js.map +1 -1
  14. package/dist/src/core/binder.d.ts.map +1 -1
  15. package/dist/src/core/binder.js +18 -137
  16. package/dist/src/core/binder.js.map +1 -1
  17. package/dist/src/core/checker.d.ts +7 -23
  18. package/dist/src/core/checker.d.ts.map +1 -1
  19. package/dist/src/core/checker.js +59 -780
  20. package/dist/src/core/checker.js.map +1 -1
  21. package/dist/src/core/cli/actions/compile/args.d.ts +1 -0
  22. package/dist/src/core/cli/actions/compile/args.d.ts.map +1 -1
  23. package/dist/src/core/cli/actions/compile/args.js +3 -0
  24. package/dist/src/core/cli/actions/compile/args.js.map +1 -1
  25. package/dist/src/core/cli/actions/compile/compile.js +1 -1
  26. package/dist/src/core/cli/actions/compile/compile.js.map +1 -1
  27. package/dist/src/core/cli/cli.js +14 -4
  28. package/dist/src/core/cli/cli.js.map +1 -1
  29. package/dist/src/core/cli/utils.d.ts.map +1 -1
  30. package/dist/src/core/cli/utils.js +5 -1
  31. package/dist/src/core/cli/utils.js.map +1 -1
  32. package/dist/src/core/decorator-utils.d.ts.map +1 -1
  33. package/dist/src/core/decorator-utils.js +1 -3
  34. package/dist/src/core/decorator-utils.js.map +1 -1
  35. package/dist/src/core/diagnostic-error.d.ts +7 -0
  36. package/dist/src/core/diagnostic-error.d.ts.map +1 -0
  37. package/dist/src/core/diagnostic-error.js +9 -0
  38. package/dist/src/core/diagnostic-error.js.map +1 -0
  39. package/dist/src/core/diagnostics.d.ts +6 -6
  40. package/dist/src/core/diagnostics.d.ts.map +1 -1
  41. package/dist/src/core/diagnostics.js +10 -11
  42. package/dist/src/core/diagnostics.js.map +1 -1
  43. package/dist/src/core/emitter-utils.js +2 -2
  44. package/dist/src/core/emitter-utils.js.map +1 -1
  45. package/dist/src/core/entrypoint-resolution.d.ts.map +1 -1
  46. package/dist/src/core/entrypoint-resolution.js +2 -1
  47. package/dist/src/core/entrypoint-resolution.js.map +1 -1
  48. package/dist/src/core/helpers/discriminator-utils.d.ts +1 -6
  49. package/dist/src/core/helpers/discriminator-utils.d.ts.map +1 -1
  50. package/dist/src/core/helpers/discriminator-utils.js +1 -57
  51. package/dist/src/core/helpers/discriminator-utils.js.map +1 -1
  52. package/dist/src/core/helpers/index.d.ts +1 -1
  53. package/dist/src/core/helpers/index.d.ts.map +1 -1
  54. package/dist/src/core/helpers/index.js +1 -1
  55. package/dist/src/core/helpers/index.js.map +1 -1
  56. package/dist/src/core/helpers/syntax-utils.d.ts +2 -1
  57. package/dist/src/core/helpers/syntax-utils.d.ts.map +1 -1
  58. package/dist/src/core/helpers/syntax-utils.js +8 -4
  59. package/dist/src/core/helpers/syntax-utils.js.map +1 -1
  60. package/dist/src/core/inspector/symbol.d.ts.map +1 -1
  61. package/dist/src/core/inspector/symbol.js +9 -11
  62. package/dist/src/core/inspector/symbol.js.map +1 -1
  63. package/dist/src/core/js-marshaller.d.ts +0 -9
  64. package/dist/src/core/js-marshaller.d.ts.map +1 -1
  65. package/dist/src/core/js-marshaller.js +0 -26
  66. package/dist/src/core/js-marshaller.js.map +1 -1
  67. package/dist/src/core/logger/console-sink.browser.d.ts.map +1 -1
  68. package/dist/src/core/logger/console-sink.browser.js +0 -16
  69. package/dist/src/core/logger/console-sink.browser.js.map +1 -1
  70. package/dist/src/core/logger/console-sink.d.ts +2 -3
  71. package/dist/src/core/logger/console-sink.d.ts.map +1 -1
  72. package/dist/src/core/logger/console-sink.js +16 -43
  73. package/dist/src/core/logger/console-sink.js.map +1 -1
  74. package/dist/src/core/logger/dynamic-task.d.ts +16 -0
  75. package/dist/src/core/logger/dynamic-task.d.ts.map +1 -0
  76. package/dist/src/core/logger/dynamic-task.js +93 -0
  77. package/dist/src/core/logger/dynamic-task.js.map +1 -0
  78. package/dist/src/core/logger/logger.d.ts.map +1 -1
  79. package/dist/src/core/logger/logger.js +11 -1
  80. package/dist/src/core/logger/logger.js.map +1 -1
  81. package/dist/src/core/messages.d.ts +35 -45
  82. package/dist/src/core/messages.d.ts.map +1 -1
  83. package/dist/src/core/messages.js +9 -11
  84. package/dist/src/core/messages.js.map +1 -1
  85. package/dist/src/core/name-resolver.d.ts.map +1 -1
  86. package/dist/src/core/name-resolver.js +12 -23
  87. package/dist/src/core/name-resolver.js.map +1 -1
  88. package/dist/src/core/node-host.d.ts +0 -3
  89. package/dist/src/core/node-host.d.ts.map +1 -1
  90. package/dist/src/core/node-host.js +5 -51
  91. package/dist/src/core/node-host.js.map +1 -1
  92. package/dist/src/core/node-system-host.d.ts +9 -0
  93. package/dist/src/core/node-system-host.d.ts.map +1 -0
  94. package/dist/src/core/node-system-host.js +57 -0
  95. package/dist/src/core/node-system-host.js.map +1 -0
  96. package/dist/src/core/options.d.ts +9 -0
  97. package/dist/src/core/options.d.ts.map +1 -1
  98. package/dist/src/core/parser.d.ts.map +1 -1
  99. package/dist/src/core/parser.js +50 -654
  100. package/dist/src/core/parser.js.map +1 -1
  101. package/dist/src/core/program.d.ts +6 -16
  102. package/dist/src/core/program.d.ts.map +1 -1
  103. package/dist/src/core/program.js +48 -24
  104. package/dist/src/core/program.js.map +1 -1
  105. package/dist/src/core/scanner.d.ts +37 -1
  106. package/dist/src/core/scanner.d.ts.map +1 -1
  107. package/dist/src/core/scanner.js +150 -3
  108. package/dist/src/core/scanner.js.map +1 -1
  109. package/dist/src/core/semantic-walker.d.ts.map +1 -1
  110. package/dist/src/core/semantic-walker.js +0 -9
  111. package/dist/src/core/semantic-walker.js.map +1 -1
  112. package/dist/src/core/source-loader.d.ts.map +1 -1
  113. package/dist/src/core/source-loader.js +2 -1
  114. package/dist/src/core/source-loader.js.map +1 -1
  115. package/dist/src/core/state-accessors.d.ts +53 -12
  116. package/dist/src/core/state-accessors.d.ts.map +1 -1
  117. package/dist/src/core/state-accessors.js +75 -48
  118. package/dist/src/core/state-accessors.js.map +1 -1
  119. package/dist/src/core/type-relation-checker.d.ts.map +1 -1
  120. package/dist/src/core/type-relation-checker.js +4 -22
  121. package/dist/src/core/type-relation-checker.js.map +1 -1
  122. package/dist/src/core/type-utils.js +2 -2
  123. package/dist/src/core/type-utils.js.map +1 -1
  124. package/dist/src/core/types.d.ts +58 -324
  125. package/dist/src/core/types.d.ts.map +1 -1
  126. package/dist/src/core/types.js +24 -55
  127. package/dist/src/core/types.js.map +1 -1
  128. package/dist/src/core/visibility/lifecycle.d.ts.map +1 -1
  129. package/dist/src/core/visibility/lifecycle.js +2 -11
  130. package/dist/src/core/visibility/lifecycle.js.map +1 -1
  131. package/dist/src/emitter-framework/asset-emitter.js +2 -2
  132. package/dist/src/emitter-framework/asset-emitter.js.map +1 -1
  133. package/dist/src/emitter-framework/index.d.ts +74 -8
  134. package/dist/src/emitter-framework/index.d.ts.map +1 -1
  135. package/dist/src/emitter-framework/index.js +32 -8
  136. package/dist/src/emitter-framework/index.js.map +1 -1
  137. package/dist/src/experimental/freeze-graph.d.ts.map +1 -1
  138. package/dist/src/experimental/freeze-graph.js +0 -3
  139. package/dist/src/experimental/freeze-graph.js.map +1 -1
  140. package/dist/src/experimental/mutators.d.ts +2 -2
  141. package/dist/src/experimental/mutators.d.ts.map +1 -1
  142. package/dist/src/experimental/mutators.js +1 -7
  143. package/dist/src/experimental/mutators.js.map +1 -1
  144. package/dist/src/experimental/typekit/kits/model.d.ts +6 -0
  145. package/dist/src/experimental/typekit/kits/model.d.ts.map +1 -1
  146. package/dist/src/experimental/typekit/kits/model.js +10 -0
  147. package/dist/src/experimental/typekit/kits/model.js.map +1 -1
  148. package/dist/src/experimental/typekit/kits/type.d.ts +0 -6
  149. package/dist/src/experimental/typekit/kits/type.d.ts.map +1 -1
  150. package/dist/src/experimental/typekit/kits/type.js +15 -9
  151. package/dist/src/experimental/typekit/kits/type.js.map +1 -1
  152. package/dist/src/experimental/typekit/kits/union.d.ts +6 -0
  153. package/dist/src/experimental/typekit/kits/union.d.ts.map +1 -1
  154. package/dist/src/experimental/typekit/kits/union.js +4 -0
  155. package/dist/src/experimental/typekit/kits/union.js.map +1 -1
  156. package/dist/src/formatter/print/comment-handler.js +1 -0
  157. package/dist/src/formatter/print/comment-handler.js.map +1 -1
  158. package/dist/src/formatter/print/needs-parens.d.ts.map +1 -1
  159. package/dist/src/formatter/print/needs-parens.js +0 -4
  160. package/dist/src/formatter/print/needs-parens.js.map +1 -1
  161. package/dist/src/formatter/print/printer.d.ts +4 -12
  162. package/dist/src/formatter/print/printer.d.ts.map +1 -1
  163. package/dist/src/formatter/print/printer.js +14 -196
  164. package/dist/src/formatter/print/printer.js.map +1 -1
  165. package/dist/src/index.d.ts +11 -14
  166. package/dist/src/index.d.ts.map +1 -1
  167. package/dist/src/index.js +17 -13
  168. package/dist/src/index.js.map +1 -1
  169. package/dist/src/init/core-templates.d.ts +2 -2
  170. package/dist/src/init/core-templates.d.ts.map +1 -1
  171. package/dist/src/init/core-templates.js.map +1 -1
  172. package/dist/src/init/init.d.ts +0 -2
  173. package/dist/src/init/init.d.ts.map +1 -1
  174. package/dist/src/init/init.js +17 -51
  175. package/dist/src/init/init.js.map +1 -1
  176. package/dist/src/init/scaffold.d.ts +4 -3
  177. package/dist/src/init/scaffold.d.ts.map +1 -1
  178. package/dist/src/init/scaffold.js +3 -4
  179. package/dist/src/init/scaffold.js.map +1 -1
  180. package/dist/src/install/config.d.ts +9 -0
  181. package/dist/src/install/config.d.ts.map +1 -0
  182. package/dist/src/install/config.js +16 -0
  183. package/dist/src/install/config.js.map +1 -0
  184. package/dist/src/install/install.d.ts +14 -0
  185. package/dist/src/install/install.d.ts.map +1 -0
  186. package/dist/src/install/install.js +191 -0
  187. package/dist/src/install/install.js.map +1 -0
  188. package/dist/src/install/spec.d.ts +39 -0
  189. package/dist/src/install/spec.d.ts.map +1 -0
  190. package/dist/src/install/spec.js +152 -0
  191. package/dist/src/install/spec.js.map +1 -0
  192. package/dist/src/internals/index.d.ts +8 -0
  193. package/dist/src/internals/index.d.ts.map +1 -0
  194. package/dist/src/internals/index.js +11 -0
  195. package/dist/src/internals/index.js.map +1 -0
  196. package/dist/src/lib/decorators.d.ts +16 -4
  197. package/dist/src/lib/decorators.d.ts.map +1 -1
  198. package/dist/src/lib/decorators.js +86 -46
  199. package/dist/src/lib/decorators.js.map +1 -1
  200. package/dist/src/lib/examples.js +1 -5
  201. package/dist/src/lib/examples.js.map +1 -1
  202. package/dist/src/lib/service.d.ts.map +1 -1
  203. package/dist/src/lib/service.js +0 -4
  204. package/dist/src/lib/service.js.map +1 -1
  205. package/dist/src/lib/tsp-index.d.ts.map +1 -1
  206. package/dist/src/lib/tsp-index.js +2 -2
  207. package/dist/src/lib/tsp-index.js.map +1 -1
  208. package/dist/src/module-resolver/module-resolver.d.ts.map +1 -1
  209. package/dist/src/module-resolver/module-resolver.js +20 -13
  210. package/dist/src/module-resolver/module-resolver.js.map +1 -1
  211. package/dist/src/package-manger/npm-registry-utils.d.ts +83 -0
  212. package/dist/src/package-manger/npm-registry-utils.d.ts.map +1 -0
  213. package/dist/src/package-manger/npm-registry-utils.js +42 -0
  214. package/dist/src/package-manger/npm-registry-utils.js.map +1 -0
  215. package/dist/src/server/classify.d.ts.map +1 -1
  216. package/dist/src/server/classify.js +0 -26
  217. package/dist/src/server/classify.js.map +1 -1
  218. package/dist/src/server/compile-service.d.ts.map +1 -1
  219. package/dist/src/server/compile-service.js +2 -1
  220. package/dist/src/server/compile-service.js.map +1 -1
  221. package/dist/src/server/completion.d.ts.map +1 -1
  222. package/dist/src/server/completion.js +21 -10
  223. package/dist/src/server/completion.js.map +1 -1
  224. package/dist/src/server/constants.js +1 -1
  225. package/dist/src/server/server.js +1 -1
  226. package/dist/src/server/server.js.map +1 -1
  227. package/dist/src/server/serverlib.d.ts.map +1 -1
  228. package/dist/src/server/serverlib.js +2 -1
  229. package/dist/src/server/serverlib.js.map +1 -1
  230. package/dist/src/server/tmlanguage.d.ts.map +1 -1
  231. package/dist/src/server/tmlanguage.js +0 -125
  232. package/dist/src/server/tmlanguage.js.map +1 -1
  233. package/dist/src/server/type-signature.js +4 -15
  234. package/dist/src/server/type-signature.js.map +1 -1
  235. package/dist/src/testing/code-fix-testing.js +1 -1
  236. package/dist/src/testing/code-fix-testing.js.map +1 -1
  237. package/dist/src/testing/expect.d.ts +1 -7
  238. package/dist/src/testing/expect.d.ts.map +1 -1
  239. package/dist/src/testing/expect.js +0 -12
  240. package/dist/src/testing/expect.js.map +1 -1
  241. package/dist/src/testing/index.d.ts +6 -6
  242. package/dist/src/testing/index.d.ts.map +1 -1
  243. package/dist/src/testing/index.js +5 -6
  244. package/dist/src/testing/index.js.map +1 -1
  245. package/dist/src/testing/source-utils.d.ts +20 -0
  246. package/dist/src/testing/source-utils.d.ts.map +1 -0
  247. package/dist/src/testing/source-utils.js +23 -0
  248. package/dist/src/testing/source-utils.js.map +1 -0
  249. package/dist/src/testing/test-host.d.ts.map +1 -1
  250. package/dist/src/testing/test-host.js +0 -4
  251. package/dist/src/testing/test-host.js.map +1 -1
  252. package/dist/src/testing/test-server-host.d.ts +0 -19
  253. package/dist/src/testing/test-server-host.d.ts.map +1 -1
  254. package/dist/src/testing/test-server-host.js +0 -22
  255. package/dist/src/testing/test-server-host.js.map +1 -1
  256. package/dist/src/testing/test-utils.js +1 -1
  257. package/dist/src/testing/test-utils.js.map +1 -1
  258. package/dist/src/types/package-json.d.ts +14 -0
  259. package/dist/src/types/package-json.d.ts.map +1 -1
  260. package/dist/src/utils/custom-key-map.d.ts.map +1 -0
  261. package/dist/src/utils/custom-key-map.js.map +1 -0
  262. package/dist/src/utils/fs-utils.d.ts +3 -0
  263. package/dist/src/utils/fs-utils.d.ts.map +1 -0
  264. package/dist/src/utils/fs-utils.js +19 -0
  265. package/dist/src/utils/fs-utils.js.map +1 -0
  266. package/dist/src/utils/io.d.ts +16 -0
  267. package/dist/src/utils/io.d.ts.map +1 -0
  268. package/dist/src/utils/io.js +77 -0
  269. package/dist/src/utils/io.js.map +1 -0
  270. package/dist/src/utils/misc.d.ts +4 -18
  271. package/dist/src/utils/misc.d.ts.map +1 -1
  272. package/dist/src/utils/misc.js +1 -77
  273. package/dist/src/utils/misc.js.map +1 -1
  274. package/dist/typespec.tmLanguage +0 -342
  275. package/lib/std/decorators.tsp +37 -2
  276. package/package.json +13 -7
  277. package/templates/__snapshots__/emitter-ts/src/emitter.ts +4 -6
  278. package/templates/emitter-ts/src/emitter.ts +4 -6
  279. package/templates/scaffolding.json +4 -4
  280. package/dist/src/core/helpers/projected-names-utils.d.ts +0 -20
  281. package/dist/src/core/helpers/projected-names-utils.d.ts.map +0 -1
  282. package/dist/src/core/helpers/projected-names-utils.js +0 -42
  283. package/dist/src/core/helpers/projected-names-utils.js.map +0 -1
  284. package/dist/src/core/install.d.ts +0 -3
  285. package/dist/src/core/install.d.ts.map +0 -1
  286. package/dist/src/core/install.js +0 -60
  287. package/dist/src/core/install.js.map +0 -1
  288. package/dist/src/core/projected-program.d.ts +0 -3
  289. package/dist/src/core/projected-program.d.ts.map +0 -1
  290. package/dist/src/core/projected-program.js +0 -4
  291. package/dist/src/core/projected-program.js.map +0 -1
  292. package/dist/src/core/projection-members.d.ts +0 -8
  293. package/dist/src/core/projection-members.d.ts.map +0 -1
  294. package/dist/src/core/projection-members.js +0 -382
  295. package/dist/src/core/projection-members.js.map +0 -1
  296. package/dist/src/core/projector.d.ts +0 -26
  297. package/dist/src/core/projector.d.ts.map +0 -1
  298. package/dist/src/core/projector.js +0 -572
  299. package/dist/src/core/projector.js.map +0 -1
  300. package/dist/src/emitter-framework/custom-key-map.d.ts.map +0 -1
  301. package/dist/src/emitter-framework/custom-key-map.js.map +0 -1
  302. /package/dist/src/{emitter-framework → utils}/custom-key-map.d.ts +0 -0
  303. /package/dist/src/{emitter-framework → utils}/custom-key-map.js +0 -0
@@ -80,7 +80,7 @@ path, options, print) {
80
80
  return printInterfaceStatement(path, options, print);
81
81
  // Others.
82
82
  case SyntaxKind.Identifier:
83
- return printIdentifier(node, options);
83
+ return printIdentifier(node);
84
84
  case SyntaxKind.StringLiteral:
85
85
  return printStringLiteral(path, options);
86
86
  case SyntaxKind.NumericLiteral:
@@ -139,63 +139,6 @@ path, options, print) {
139
139
  return "never";
140
140
  case SyntaxKind.UnknownKeyword:
141
141
  return "unknown";
142
- case SyntaxKind.ProjectionStatement:
143
- return printProjectionStatement(path, options, print);
144
- case SyntaxKind.ProjectionModelSelector:
145
- return "model";
146
- case SyntaxKind.ProjectionModelPropertySelector:
147
- return "modelproperty";
148
- case SyntaxKind.ProjectionScalarSelector:
149
- return "scalar";
150
- case SyntaxKind.ProjectionOperationSelector:
151
- return "op";
152
- case SyntaxKind.ProjectionUnionSelector:
153
- return "union";
154
- case SyntaxKind.ProjectionUnionVariantSelector:
155
- return "unionvariant";
156
- case SyntaxKind.ProjectionInterfaceSelector:
157
- return "interface";
158
- case SyntaxKind.ProjectionEnumSelector:
159
- return "enum";
160
- case SyntaxKind.ProjectionEnumMemberSelector:
161
- return "enummember";
162
- case SyntaxKind.Projection:
163
- return printProjection(path, options, print);
164
- case SyntaxKind.ProjectionParameterDeclaration:
165
- return printProjectionParameterDeclaration(path, options, print);
166
- case SyntaxKind.ProjectionExpressionStatement:
167
- return printProjectionExpressionStatement(path, options, print);
168
- case SyntaxKind.ProjectionIfExpression:
169
- return printProjectionIfExpressionNode(path, options, print);
170
- case SyntaxKind.ProjectionBlockExpression:
171
- return printProjectionBlockExpressionNode(path, options, print);
172
- case SyntaxKind.ProjectionMemberExpression:
173
- return printProjectionMemberExpression(path, options, print);
174
- case SyntaxKind.ProjectionLogicalExpression:
175
- case SyntaxKind.ProjectionEqualityExpression:
176
- case SyntaxKind.ProjectionRelationalExpression:
177
- case SyntaxKind.ProjectionArithmeticExpression:
178
- return printProjectionLeftRightExpression(path, options, print);
179
- case SyntaxKind.ProjectionUnaryExpression:
180
- return printProjectionUnaryExpression(path, options, print);
181
- case SyntaxKind.ProjectionCallExpression:
182
- return printProjectionCallExpression(path, options, print);
183
- case SyntaxKind.ProjectionLambdaExpression:
184
- return printProjectionLambdaExpression(path, options, print);
185
- case SyntaxKind.ProjectionLambdaParameterDeclaration:
186
- return printProjectionLambdaParameterDeclaration(path, options, print);
187
- case SyntaxKind.ProjectionModelExpression:
188
- return printModelExpression(path, options, print);
189
- case SyntaxKind.ProjectionModelProperty:
190
- return printModelProperty(path, options, print);
191
- case SyntaxKind.ProjectionModelSpreadProperty:
192
- return printModelSpread(path, options, print);
193
- case SyntaxKind.ProjectionTupleExpression:
194
- return printTuple(path, options, print);
195
- case SyntaxKind.ProjectionDecoratorReferenceExpression:
196
- return path.call(print, "target");
197
- case SyntaxKind.Return:
198
- return printReturnExpression(path, options, print);
199
142
  case SyntaxKind.Doc:
200
143
  return printDoc(path, options, print);
201
144
  case SyntaxKind.DocText:
@@ -365,7 +308,11 @@ function hasNewlineBetweenOrAfterDecorators(node, options) {
365
308
  }
366
309
  export function printDecorator(path, options, print) {
367
310
  const args = printDecoratorArgs(path, options, print);
368
- return ["@", path.call(print, "target"), args];
311
+ const node = path.node;
312
+ const name = node.target.kind === SyntaxKind.Identifier
313
+ ? printIdentifier(node.target, "allow-reserved")
314
+ : path.call(print, "target");
315
+ return ["@", name, args];
369
316
  }
370
317
  export function printAugmentDecorator(path, options, print) {
371
318
  const args = printAugmentDecoratorArgs(path, options, print);
@@ -461,7 +408,7 @@ function printEnumBlock(path, options, print) {
461
408
  }
462
409
  export function printEnumMember(path, options, print) {
463
410
  const node = path.node;
464
- const id = path.call(print, "id");
411
+ const id = printIdentifier(node.id, "allow-reserved");
465
412
  const value = node.value ? [": ", path.call(print, "value")] : "";
466
413
  const { decorators } = printDecorators(path, options, print, {
467
414
  tryInline: DecoratorsTryInline.enumMember,
@@ -486,7 +433,7 @@ export function printUnionVariantsBlock(path, options, print) {
486
433
  return group(["{", indent(body), hardline, "}"]);
487
434
  }
488
435
  export function printUnionVariant(path, options, print) {
489
- const id = path.node.id === undefined ? "" : [path.call(print, "id"), ": "];
436
+ const id = path.node.id === undefined ? "" : [printIdentifier(path.node.id, "allow-reserved"), ": "];
490
437
  const { decorators } = printDecorators(path, options, print, {
491
438
  tryInline: DecoratorsTryInline.unionVariant,
492
439
  });
@@ -613,7 +560,8 @@ export function printTuple(path, options, print) {
613
560
  }
614
561
  export function printMemberExpression(path, options, print) {
615
562
  const node = path.node;
616
- return [node.base ? [path.call(print, "base"), node.selector] : "", path.call(print, "id")];
563
+ const id = printIdentifier(node.id, "allow-reserved");
564
+ return [node.base ? [path.call(print, "base"), node.selector] : "", id];
617
565
  }
618
566
  export function printModelExpression(path, options, print) {
619
567
  const inBlock = isModelExpressionInBlock(path);
@@ -646,7 +594,7 @@ export function printObjectLiteral(path, options, print) {
646
594
  }
647
595
  export function printObjectLiteralProperty(path, options, print) {
648
596
  const node = path.node;
649
- const id = printIdentifier(node.id, options);
597
+ const id = printIdentifier(node.id, "allow-reserved");
650
598
  return [printDirectives(path, options, print), id, ": ", path.call(print, "value")];
651
599
  }
652
600
  export function printObjectLiteralSpreadProperty(path, options, print) {
@@ -740,7 +688,6 @@ function joinMembersInBlock(path, member, options, print, separator, regularLine
740
688
  function shouldWrapMemberInNewLines(path, options) {
741
689
  const node = path.node;
742
690
  return ((node.kind !== SyntaxKind.ModelSpreadProperty &&
743
- node.kind !== SyntaxKind.ProjectionModelSpreadProperty &&
744
691
  node.kind !== SyntaxKind.EnumSpreadMember &&
745
692
  node.kind !== SyntaxKind.ScalarConstructor &&
746
693
  node.kind !== SyntaxKind.ObjectLiteralProperty &&
@@ -775,7 +722,7 @@ export function printModelProperty(path, options, print) {
775
722
  const { decorators } = printDecorators(path, options, print, {
776
723
  tryInline: DecoratorsTryInline.modelProperty,
777
724
  });
778
- const id = printIdentifier(node.id, options);
725
+ const id = printIdentifier(node.id, "allow-reserved");
779
726
  return [
780
727
  printDirectives(path, options, print),
781
728
  decorators,
@@ -785,8 +732,8 @@ export function printModelProperty(path, options, print) {
785
732
  node.default ? [" = ", path.call(print, "default")] : "",
786
733
  ];
787
734
  }
788
- function printIdentifier(id, options) {
789
- return printIdentifierString(id.sv);
735
+ function printIdentifier(id, context = "disallow-reserved") {
736
+ return printIdentifierString(id.sv, context);
790
737
  }
791
738
  function isModelExpressionInBlock(path) {
792
739
  const parent = path.getParentNode();
@@ -1031,132 +978,6 @@ function printBooleanLiteral(path, options) {
1031
978
  const node = path.node;
1032
979
  return node.value ? "true" : "false";
1033
980
  }
1034
- function printProjectionStatement(path, options, print) {
1035
- const selector = path.call(print, "selector");
1036
- const id = path.call(print, "id");
1037
- const projections = path.map(print, "projections").flatMap((x) => [hardline, x]);
1038
- return [
1039
- "projection ",
1040
- selector,
1041
- "#",
1042
- id,
1043
- " {",
1044
- indent(projections),
1045
- projections.length > 0 ? hardline : "",
1046
- "}",
1047
- ];
1048
- }
1049
- function printProjection(path, options, print) {
1050
- const node = path.node;
1051
- const params = printProjectionParameters(path, options, print);
1052
- const body = printProjectionExpressionStatements(path, options, print, "body");
1053
- return [
1054
- ...node.modifierIds.flatMap((i) => [i.sv, " "]),
1055
- node.directionId.sv,
1056
- params,
1057
- " {",
1058
- indent(body),
1059
- hardline,
1060
- "}",
1061
- ];
1062
- }
1063
- function printProjectionParameters(path, options, print) {
1064
- const node = path.node;
1065
- const params = node.parameters;
1066
- if (params.length === 0) {
1067
- return "";
1068
- }
1069
- const shouldHug = params.length === 1;
1070
- if (shouldHug) {
1071
- return ["(", printItemList(path, options, print, "parameters"), ")"];
1072
- }
1073
- else {
1074
- const body = indent([softline, join([", ", softline], path.map(print, "parameters"))]);
1075
- return group(["(", body, softline, ")"]);
1076
- }
1077
- }
1078
- function printProjectionExpressionStatements(path, options, print, key) {
1079
- const parts = [hardline];
1080
- const lastIndex = path.node[key].length - 1;
1081
- path.each((statementPath, index) => {
1082
- const node = path.node;
1083
- if (node.kind === SyntaxKind.EmptyStatement) {
1084
- return;
1085
- }
1086
- const printed = print(statementPath);
1087
- parts.push(printed);
1088
- parts.push(";");
1089
- if (index < lastIndex) {
1090
- parts.push(hardline);
1091
- if (isNextLineEmpty(options.originalText, node, options.locEnd)) {
1092
- parts.push(hardline);
1093
- }
1094
- }
1095
- }, key);
1096
- return parts;
1097
- }
1098
- function printProjectionParameterDeclaration(path, options, print) {
1099
- return path.call(print, "id");
1100
- }
1101
- function printProjectionExpressionStatement(path, options, print) {
1102
- return path.call(print, "expr");
1103
- }
1104
- function printProjectionIfExpressionNode(path, options, print) {
1105
- const node = path.node;
1106
- const test = path.call(print, "test");
1107
- const consequent = path.call(print, "consequent");
1108
- const alternate = node.alternate ? [" else ", path.call(print, "alternate")] : "";
1109
- return ["if ", test, " ", consequent, alternate];
1110
- }
1111
- export function printProjectionBlockExpressionNode(path, options, print) {
1112
- const node = path.node;
1113
- if (node.statements.length === 0) {
1114
- return "{}";
1115
- }
1116
- return [
1117
- "{",
1118
- indent(printProjectionExpressionStatements(path, options, print, "statements")),
1119
- hardline,
1120
- "}",
1121
- ];
1122
- }
1123
- export function printProjectionMemberExpression(path, options, print) {
1124
- const node = path.node;
1125
- return [path.call(print, "base"), node.selector, path.call(print, "id")];
1126
- }
1127
- export function printProjectionLeftRightExpression(path, options, print) {
1128
- const node = path.node;
1129
- return [path.call(print, "left"), " ", node.op, " ", path.call(print, "right")];
1130
- }
1131
- export function printProjectionUnaryExpression(path, options, print) {
1132
- return ["!", path.call(print, "target")];
1133
- }
1134
- export function printProjectionCallExpression(path, options, print) {
1135
- const node = path.node;
1136
- const target = path.call(print, "target");
1137
- const params = printItemList(path, options, print, "arguments");
1138
- if (node.callKind === "method") {
1139
- return [target, "(", params, ")"];
1140
- }
1141
- else {
1142
- return [target, "<", params, ">"];
1143
- }
1144
- }
1145
- export function printProjectionLambdaExpression(path, options, print) {
1146
- return [
1147
- "(",
1148
- printItemList(path, options, print, "parameters"),
1149
- ")",
1150
- " => ",
1151
- path.call(print, "body"),
1152
- ];
1153
- }
1154
- export function printProjectionLambdaParameterDeclaration(path, options, print) {
1155
- return path.call(print, "id");
1156
- }
1157
- export function printReturnExpression(path, options, print) {
1158
- return ["return ", path.call(print, "value")];
1159
- }
1160
981
  export function printStringTemplateExpression(path, options, print) {
1161
982
  const node = path.node;
1162
983
  const multiline = isMultiline(node, options);
@@ -1202,9 +1023,6 @@ function trimMultilineString(lines, whitespaceIndent) {
1202
1023
  }
1203
1024
  return newLines;
1204
1025
  }
1205
- function printItemList(path, options, print, key) {
1206
- return join(", ", path.map(print, key));
1207
- }
1208
1026
  /**
1209
1027
  * @param node Node that has postition information.
1210
1028
  * @param options Prettier options
@@ -1 +1 @@
1
- {"version":3,"file":"printer.js","sourceRoot":"","sources":["../../../../src/formatter/print/printer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"printer.js","sourceRoot":"","sources":["../../../../src/formatter/print/printer.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,11 @@
1
1
  export { resolveCompilerOptions, ResolveCompilerOptionsOptions } from "./config/index.js";
2
- export { Checker, createChecker, CreateTypeProps, filterModelProperties, finishTypeForProgram, getEffectiveModelType, getOverriddenProperty, TypeSpecCompletionItem, walkPropertiesInherited, } from "./core/checker.js";
3
- export { getPropertyType, isIntrinsicType, isTypeSpecValueTypeOf, typespecTypeToJson, validateDecoratorNotOnType, validateDecoratorParamCount, validateDecoratorTarget, validateDecoratorUniqueOnNode, type DecoratorDefinition, type DecoratorParamDefinition, type DecoratorValidator, type InferredTypeSpecValue, type TypeKind, type TypeSpecValue, } from "./core/decorator-utils.js";
2
+ export { Checker, CreateTypeProps, filterModelProperties, getEffectiveModelType, walkPropertiesInherited, } from "./core/checker.js";
3
+ export { getPropertyType, isTypeSpecValueTypeOf, typespecTypeToJson, validateDecoratorNotOnType, validateDecoratorUniqueOnNode, type DecoratorDefinition, type DecoratorParamDefinition, type DecoratorValidator, type InferredTypeSpecValue, type TypeKind, type TypeSpecValue, } from "./core/decorator-utils.js";
4
4
  export { getDeprecationDetails, isDeprecated, markDeprecated, type DeprecationDetails, } from "./core/deprecation.js";
5
- export { assertType, compilerAssert, createDiagnosticCollector, defineCodeFix, formatDiagnostic, getSourceLocation, ignoreDiagnostics, logDiagnostics, logVerboseTestOutput, reportDeprecated, type DiagnosticCollector, type DiagnosticHandler, type ProjectionError, type SourceLocationOptions, type WriteLine, } from "./core/diagnostics.js";
5
+ export { assertType, compilerAssert, createDiagnosticCollector, defineCodeFix, formatDiagnostic, getSourceLocation, ignoreDiagnostics, logDiagnostics, reportDeprecated, type DiagnosticCollector, type DiagnosticHandler, type SourceLocationOptions, type WriteLine, } from "./core/diagnostics.js";
6
6
  export { emitFile, type EmitFileOptions, type NewLine } from "./core/emitter-utils.js";
7
7
  export { checkFormatTypeSpec, formatTypeSpec } from "./core/formatter.js";
8
- export { DiscriminatedUnion, DiscriminatedUnionLegacy, explainStringTemplateNotSerializable, printIdentifier as formatIdentifier, getDiscriminatedUnion, getEntityName, getLocationContext, getNamespaceFullName, getTypeName, interpolatePath, isStdNamespace, listOperationsIn, printIdentifier, resolveUsages, TypeNameOptions, UsageFlags, type ListOperationOptions, type OperationContainer, type TrackableType, type UsageTracker, } from "./core/helpers/index.js";
8
+ export { DiscriminatedUnion, DiscriminatedUnionLegacy, explainStringTemplateNotSerializable, printIdentifier as formatIdentifier, getDiscriminatedUnion, getDiscriminatedUnionFromInheritance, getEntityName, getLocationContext, getNamespaceFullName, getTypeName, interpolatePath, isStdNamespace, listOperationsIn, printIdentifier, resolveUsages, TypeNameOptions, UsageFlags, type ListOperationOptions, type OperationContainer, type TrackableType, type UsageTracker, } from "./core/helpers/index.js";
9
9
  export { getDiscriminatedTypes, getDiscriminator, getDocData, getMaxItems, getMaxItemsAsNumeric, getMaxLength, getMaxLengthAsNumeric, getMaxValue, getMaxValueAsNumeric, getMaxValueExclusive, getMaxValueExclusiveAsNumeric, getMinItems, getMinItemsAsNumeric, getMinLength, getMinLengthAsNumeric, getMinValue, getMinValueAsNumeric, getMinValueExclusive, getMinValueExclusiveAsNumeric, type Discriminator, } from "./core/intrinsic-type-state.js";
10
10
  export { createLinterRule as createRule, createTypeSpecLibrary, defineLinter, definePackageFlags, paramMessage, setTypeSpecNamespace, } from "./core/library.js";
11
11
  export { resolveLinterDefinition } from "./core/linter.js";
@@ -14,20 +14,17 @@ export { isNumeric, Numeric } from "./core/numeric.js";
14
14
  export type { CompilerOptions } from "./core/options.js";
15
15
  export { getPositionBeforeTrivia } from "./core/parser-utils.js";
16
16
  export * as TypeSpecPrettierPlugin from "./formatter/index.js";
17
- export { $defaultVisibility, $discriminator, $doc, $encode, $encodedName, $error, $errorsDoc, $example, $format, $friendlyName, $inspectType, $inspectTypeName, $invisible, $key, $maxItems, $maxLength, $maxValue, $maxValueExclusive, $minItems, $minLength, $minValue, $minValueExclusive, $opExample, $overload, $parameterVisibility, $pattern, $removeVisibility, $returnsDoc, $returnTypeVisibility, $secret, $service, $summary, $tag, $visibility, $withDefaultKeyVisibility, $withLifecycleUpdate, $withOptionalProperties, $withoutDefaultValues, $withoutOmittedProperties, $withPickedProperties, $withUpdateableProperties, $withVisibility, $withVisibilityFilter, addService, discriminatedDecorator, EmptyVisibilityProvider, getAllTags, getDeprecated, getDoc, getEncode, getErrorsDoc, getErrorsDocData, getExamples, getFormat, getFriendlyName, getKeyName, getOpExamples, getOverloadedOperation, getOverloads, getPagingOperation, getParameterVisibilityFilter, getPattern, getPatternData, getReturnsDoc, getReturnsDocData, getReturnTypeVisibilityFilter, getService, getSummary, getTags, isErrorModel, isKey, isList, isNumericType, isSecret, isService, isStringType, listServices, PagingOperation, PagingProperty, PatternData, resolveEncodedName, serializeValueAsJson, Service, ServiceDetails, VisibilityProvider, type BytesKnownEncoding, type DateTimeKnownEncoding, type DurationKnownEncoding, type EncodeData, type Example, type ExampleOptions, type OpExample, } from "./lib/decorators.js";
18
- export { MANIFEST, typespecVersion, type TypeSpecManifest } from "./manifest.js";
17
+ export { $defaultVisibility, $discriminator, $doc, $encode, $encodedName, $error, $errorsDoc, $example, $format, $friendlyName, $inspectType, $inspectTypeName, $invisible, $key, $maxItems, $maxLength, $maxValue, $maxValueExclusive, $minItems, $minLength, $minValue, $minValueExclusive, $opExample, $overload, $parameterVisibility, $pattern, $removeVisibility, $returnsDoc, $returnTypeVisibility, $secret, $service, $summary, $tag, $visibility, $withDefaultKeyVisibility, $withLifecycleUpdate, $withOptionalProperties, $withoutDefaultValues, $withoutOmittedProperties, $withPickedProperties, $withUpdateableProperties, $withVisibility, $withVisibilityFilter, addService, discriminatedDecorator, EmptyVisibilityProvider, getAllTags, getDeprecated, getDoc, getEncode, getErrorsDoc, getErrorsDocData, getExamples, getFormat, getFriendlyName, getKeyName, getMediaTypeHint, getOpExamples, getOverloadedOperation, getOverloads, getPagingOperation, getParameterVisibilityFilter, getPattern, getPatternData, getReturnsDoc, getReturnsDocData, getReturnTypeVisibilityFilter, getService, getSummary, getTags, isErrorModel, isKey, isList, isNumericType, isSecret, isService, isStringType, listServices, PagingOperation, PagingProperty, PatternData, resolveEncodedName, serializeValueAsJson, Service, ServiceDetails, VisibilityProvider, type BytesKnownEncoding, type DateTimeKnownEncoding, type DurationKnownEncoding, type EncodeData, type Example, type ExampleOptions, type OpExample, } from "./lib/decorators.js";
18
+ export { MANIFEST, type TypeSpecManifest } from "./manifest.js";
19
19
  export { resolveModule, type ModuleResolutionResult, type ResolveModuleHost, type ResolveModuleOptions, } from "./module-resolver/module-resolver.js";
20
20
  export { CompileResult, createServer, TypeSpecLanguageConfiguration, type CustomRequestName, type InitProjectConfig, type InitProjectContext, type InitProjectTemplate, type InitProjectTemplateEmitterTemplate, type InitProjectTemplateLibrarySpec, type SemanticToken, type SemanticTokenKind, type Server, type ServerCustomCapacities, type ServerHost, type ServerInitializeResult, type ServerLog, type ServerLogLevel, type ServerSourceFile, type ServerWorkspaceFolder, } from "./server/index.js";
21
21
  export type { PackageJson } from "./types/package-json.js";
22
- export { exprIsBareIdentifier, getFirstAncestor, getIdentifierContext, getNodeAtPosition, getNodeAtPositionDetail, hasParseError, isImportStatement, parse, parseStandaloneTypeReference, positionInRange, visitChildren, type NodeCallback, } from "./core/parser.js";
23
- export { altDirectorySeparator, directorySeparator, ensureTrailingDirectorySeparator, getAnyExtensionFromPath, getBaseFileName, getDirectoryPath, getNormalizedAbsolutePath, getNormalizedAbsolutePathWithoutRoot, getNormalizedPathComponents, getPathComponents, getPathFromPathComponents, getRelativePathFromDirectory, getRootLength, hasTrailingDirectorySeparator, isAnyDirectorySeparator, isPathAbsolute, isUrl, joinPaths, normalizePath, normalizeSlashes, reducePathComponents, removeTrailingDirectorySeparator, resolvePath, } from "./core/path-utils.js";
24
- export { compile, projectProgram, type Program, type ProjectedProgram } from "./core/program.js";
25
- export { isProjectedProgram } from "./core/projected-program.js";
26
- export { createScanner, isComment, isKeyword, isModifier, isPunctuation, isStatementKeyword, isTrivia, skipContinuousIdentifier, skipTrivia, skipTriviaBackward, skipWhiteSpace, Token, TokenFlags, type DocToken, type Scanner, type StringTemplateToken, } from "./core/scanner.js";
22
+ export { ensureTrailingDirectorySeparator, getAnyExtensionFromPath, getBaseFileName, getDirectoryPath, getNormalizedAbsolutePath, getNormalizedAbsolutePathWithoutRoot, getNormalizedPathComponents, getPathComponents, getPathFromPathComponents, getRelativePathFromDirectory, getRootLength, hasTrailingDirectorySeparator, isAnyDirectorySeparator, isPathAbsolute, isUrl, joinPaths, normalizePath, normalizeSlashes, reducePathComponents, removeTrailingDirectorySeparator, resolvePath, } from "./core/path-utils.js";
23
+ export { compile, type Program } from "./core/program.js";
27
24
  export { getProperty, mapEventEmitterToNodeListener, navigateProgram, navigateType, navigateTypesInNamespace, scopeNavigationToNamespace, type EventEmitter, type NamespaceNavigationOptions, type NavigationOptions, } from "./core/semantic-walker.js";
28
25
  export { createSourceFile, getSourceFileKindFromExt } from "./core/source-file.js";
29
- export { getFullyQualifiedSymbolName, getParentTemplateNode, isArrayModelType, isDeclaredInNamespace, isDeclaredType, isErrorType, isGlobalNamespace, isNeverType, isNullType, isRecordModelType, isTemplateDeclaration, isTemplateDeclarationOrInstance, isTemplateInstance, isType, isUnknownType, isValue, isVoidType, } from "./core/type-utils.js";
30
- export { ListenerFlow, NodeFlags, NoTarget, ResolutionResultFlags, SymbolFlags, SyntaxKind, } from "./core/types.js";
31
- export type { AliasStatementNode, AnyKeywordNode, ArrayExpressionNode, ArrayLiteralNode, ArrayModelType, ArrayValue, AugmentDecoratorStatementNode, BaseNode, BaseType, BlockComment, BooleanLiteral, BooleanLiteralNode, BooleanValue, CallableMessage, CallExpressionNode, CodeFix, CodeFixContext, CodeFixEdit, Comment, CompilerHost, CompilerLocationContext, ConstStatementNode, Declaration, DeclarationNode, DecoratedType, Decorator, DecoratorApplication, DecoratorArgument, DecoratorArgumentValue, DecoratorContext, DecoratorDeclarationStatementNode, DecoratorExpressionNode, DecoratorFunction, DecoratorImplementations, DeprecatedDirective, Diagnostic, DiagnosticCreator, DiagnosticDefinition, DiagnosticFormat, DiagnosticMap, DiagnosticMessages, DiagnosticReport, DiagnosticReportWithoutTarget, DiagnosticResult, DiagnosticSeverity, DiagnosticTarget, Directive, DirectiveArgument, DirectiveBase, DirectiveExpressionNode, Dirent, DocContent, DocErrorsTagNode, DocNode, DocParamTagNode, DocPropTagNode, DocReturnsTagNode, DocTag, DocTagBaseNode, DocTemplateTagNode, DocTextNode, DocUnknownTagNode, EmitContext, EmitOptionsFor, EmitterFunc, EmptyStatementNode, Entity, Enum, EnumMember, EnumMemberNode, EnumSpreadMemberNode, EnumStatementNode, EnumValue, ErrorType, Expression, ExternKeywordNode, FileLibraryMetadata, FilePos, FunctionDeclarationStatementNode, FunctionParameter, FunctionParameterBase, FunctionParameterNode, FunctionType, IdentifierContext, IdentifierKind, IdentifierNode, ImportStatementNode, IndeterminateEntity, InsertTextCodeFixEdit, Interface, InterfaceStatementNode, IntersectionExpressionNode, IntrinsicScalarName, IntrinsicType, InvalidStatementNode, JsNamespaceDeclarationNode, JSONSchemaType, JsSourceFileNode, LibraryInstance, LibraryLocationContext, LibraryMetadata, LineAndCharacter, LineComment, LinterDefinition, LinterResolvedDefinition, LinterRule, LinterRuleContext, LinterRuleDefinition, LinterRuleDiagnosticFormat, LinterRuleDiagnosticReport, LinterRuleDiagnosticReportWithoutTarget, LinterRuleSet, LiteralNode, LiteralType, LocationContext, Logger, LogInfo, LogLevel, LogSink, MarshalledValue, MemberContainerNode, MemberContainerType, MemberExpressionNode, MemberNode, MemberType, MetaMemberKey, MetaMembersTable, MixedFunctionParameter, MixedParameterConstraint, Model, ModelExpressionNode, ModelIndexer, ModelProperty, ModelPropertyNode, ModelSpreadPropertyNode, ModelStatementNode, Modifier, ModifierFlags, ModuleLibraryMetadata, MutableSymbolTable, Namespace, NamespaceStatementNode, NeverIndexer, NeverKeywordNode, NeverType, Node, NodeLinks, NullType, NullValue, NumericLiteral, NumericLiteralNode, NumericValue, ObjectLiteralNode, ObjectLiteralPropertyNode, ObjectLiteralSpreadPropertyNode, ObjectType, ObjectValue, ObjectValuePropertyDescriptor, Operation, OperationSignature, OperationSignatureDeclarationNode, OperationSignatureReferenceNode, OperationStatementNode, PackageFlags, ParseOptions, PositionDetail, ProcessedLog, Projection, ProjectionApplication, ProjectionArithmeticExpressionNode, ProjectionBlockExpressionNode, ProjectionCallExpressionNode, ProjectionDecoratorReferenceExpressionNode, ProjectionEnumMemberSelectorNode, ProjectionEnumSelectorNode, ProjectionEqualityExpressionNode, ProjectionExpression, ProjectionExpressionStatementNode, ProjectionIfExpressionNode, ProjectionInterfaceSelectorNode, ProjectionLambdaExpressionNode, ProjectionLambdaParameterDeclarationNode, ProjectionLogicalExpressionNode, ProjectionMemberExpressionNode, ProjectionModelExpressionNode, ProjectionModelPropertyNode, ProjectionModelPropertySelectorNode, ProjectionModelSelectorNode, ProjectionModelSpreadPropertyNode, ProjectionNode, ProjectionOperationSelectorNode, ProjectionParameterDeclarationNode, ProjectionReferenceNode, ProjectionRelationalExpressionNode, ProjectionScalarSelectorNode, ProjectionStatementItem, ProjectionStatementNode, ProjectionTupleExpressionNode, ProjectionUnaryExpressionNode, ProjectionUnionSelectorNode, ProjectionUnionVariantSelectorNode, ProjectLocationContext, Projector, RecordModelType, ReferenceExpression, RekeyableMap, ReplaceTextCodeFixEdit, ResolutionResult, ReturnExpressionNode, ReturnRecord, RmOptions, RuleRef, Scalar, ScalarConstructor, ScalarConstructorNode, ScalarStatementNode, ScalarValue, ScopeNode, SemanticNodeListener, SignatureFunctionParameter, SourceFile, SourceFileKind, SourceLocation, SourceModel, StateDef, Statement, StdTypeName, StdTypes, StringLiteral, StringLiteralNode, StringTemplate, StringTemplateExpressionNode, StringTemplateHeadNode, StringTemplateLiteralLikeNode, StringTemplateMiddleNode, StringTemplateSpan, StringTemplateSpanLiteral, StringTemplateSpanNode, StringTemplateSpanValue, StringTemplateTailNode, StringValue, SuppressDirective, Sym, SymbolLinks, SymbolTable, SyntheticLocationContext, TemplateableNode, TemplateArgumentNode, TemplateDeclarationNode, TemplatedType, TemplatedTypeBase, TemplateInstanceTarget, TemplateParameter, TemplateParameterDeclarationNode, TextRange, Tracer, TracerOptions, Tuple, TupleExpressionNode, Type, TypeInstantiationMap, TypeListeners, TypeMapper, TypeOfDiagnostics, TypeOfExpressionNode, TypeOrReturnRecord, TypeReferenceNode, TypeSpecDiagnosticTarget, TypeSpecLibrary, TypeSpecLibraryDef, TypeSpecScriptNode, Union, UnionExpressionNode, UnionStatementNode, UnionVariant, UnionVariantNode, UnknownType, UsingStatementNode, Value, ValueOfExpressionNode, VoidKeywordNode, VoidType, } from "./core/types.js";
26
+ export { isArrayModelType, isDeclaredInNamespace, isDeclaredType, isErrorType, isGlobalNamespace, isNeverType, isNullType, isRecordModelType, isTemplateDeclaration, isTemplateDeclarationOrInstance, isTemplateInstance, isType, isUnknownType, isValue, isVoidType, } from "./core/type-utils.js";
27
+ export { ListenerFlow, NoTarget } from "./core/types.js";
28
+ export type { ArrayModelType, ArrayValue, BaseType, BlockComment, BooleanLiteral, BooleanValue, CallableMessage, CodeFix, CodeFixContext, CodeFixEdit, Comment, CompilerHost, CompilerLocationContext, Declaration, DecoratedType, Decorator, DecoratorApplication, DecoratorArgument, DecoratorArgumentValue, DecoratorContext, DecoratorFunction, DecoratorImplementations, DeprecatedDirective, Diagnostic, DiagnosticCreator, DiagnosticDefinition, DiagnosticFormat, DiagnosticMap, DiagnosticMessages, DiagnosticReport, DiagnosticReportWithoutTarget, DiagnosticResult, DiagnosticSeverity, DiagnosticTarget, Directive, DirectiveArgument, DirectiveBase, DocContent, EmitContext, EmitOptionsFor, EmitterFunc, Entity, Enum, EnumMember, EnumValue, ErrorType, Expression, FileLibraryMetadata, FilePos, FunctionParameter, FunctionParameterBase, IdentifierContext, IdentifierKind, IndeterminateEntity, InsertTextCodeFixEdit, Interface, IntrinsicScalarName, IntrinsicType, JSONSchemaType, LibraryInstance, LibraryLocationContext, LibraryMetadata, LineAndCharacter, LineComment, LinterDefinition, LinterResolvedDefinition, LinterRule, LinterRuleContext, LinterRuleDefinition, LinterRuleDiagnosticFormat, LinterRuleDiagnosticReport, LinterRuleDiagnosticReportWithoutTarget, LinterRuleSet, LiteralType, LocationContext, Logger, LogInfo, LogLevel, LogSink, MarshalledValue, MemberContainerType, MemberType, MixedFunctionParameter, MixedParameterConstraint, Model, ModelIndexer, ModelProperty, Modifier, ModifierFlags, ModuleLibraryMetadata, Namespace, NeverIndexer, NeverType, NullType, NullValue, NumericLiteral, NumericValue, ObjectValue, ObjectValuePropertyDescriptor, Operation, OperationSignature, PackageFlags, ParseOptions, PositionDetail, ProcessedLog, ProjectLocationContext, RecordModelType, ReferenceExpression, RekeyableMap, ReplaceTextCodeFixEdit, RmOptions, RuleRef, Scalar, ScalarConstructor, ScalarValue, SemanticNodeListener, SignatureFunctionParameter, SourceFile, SourceFileKind, SourceLocation, SourceModel, StateDef, Statement, StdTypeName, StdTypes, StringLiteral, StringTemplate, StringTemplateSpan, StringTemplateSpanLiteral, StringTemplateSpanValue, StringValue, SuppressDirective, SyntheticLocationContext, TemplatedType, TemplatedTypeBase, TemplateInstanceTarget, TemplateParameter, TextRange, Tracer, TracerOptions, Tuple, Type, TypeInstantiationMap, TypeListeners, TypeMapper, TypeOfDiagnostics, TypeSpecDiagnosticTarget, TypeSpecLibrary, TypeSpecLibraryDef, Union, UnionVariant, UnknownType, Value, VoidType, } from "./core/types.js";
32
29
  export { addVisibilityModifiers, clearVisibilityModifiersForClass, getLifecycleVisibilityEnum, getVisibilityForClass, hasVisibility, isSealed, isVisible, removeVisibilityModifiers, resetVisibilityModifiersForClass, sealVisibilityModifiers, sealVisibilityModifiersForProgram, VisibilityFilter, } from "./core/visibility/index.js";
33
30
  //# sourceMappingURL=index.d.ts.map