@typespec/compiler 0.41.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 (352) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +9 -0
  3. package/cmd/tsp-server.js +3 -0
  4. package/cmd/tsp.js +3 -0
  5. package/dist/cmd/runner.d.ts +9 -0
  6. package/dist/cmd/runner.d.ts.map +1 -0
  7. package/dist/cmd/runner.js +62 -0
  8. package/dist/cmd/runner.js.map +1 -0
  9. package/dist/config/config-interpolation.d.ts +11 -0
  10. package/dist/config/config-interpolation.d.ts.map +1 -0
  11. package/dist/config/config-interpolation.js +109 -0
  12. package/dist/config/config-interpolation.js.map +1 -0
  13. package/dist/config/config-loader.d.ts +25 -0
  14. package/dist/config/config-loader.d.ts.map +1 -0
  15. package/dist/config/config-loader.js +182 -0
  16. package/dist/config/config-loader.js.map +1 -0
  17. package/dist/config/config-schema.d.ts +4 -0
  18. package/dist/config/config-schema.d.ts.map +1 -0
  19. package/dist/config/config-schema.js +84 -0
  20. package/dist/config/config-schema.js.map +1 -0
  21. package/dist/config/index.d.ts +3 -0
  22. package/dist/config/index.d.ts.map +1 -0
  23. package/dist/config/index.js +3 -0
  24. package/dist/config/index.js.map +1 -0
  25. package/dist/config/types.d.ts +79 -0
  26. package/dist/config/types.d.ts.map +1 -0
  27. package/dist/config/types.js +2 -0
  28. package/dist/config/types.js.map +1 -0
  29. package/dist/core/binder.d.ts +29 -0
  30. package/dist/core/binder.d.ts.map +1 -0
  31. package/dist/core/binder.js +455 -0
  32. package/dist/core/binder.js.map +1 -0
  33. package/dist/core/charcode.d.ts +130 -0
  34. package/dist/core/charcode.d.ts.map +1 -0
  35. package/dist/core/charcode.js +115 -0
  36. package/dist/core/charcode.js.map +1 -0
  37. package/dist/core/checker.d.ts +138 -0
  38. package/dist/core/checker.d.ts.map +1 -0
  39. package/dist/core/checker.js +4070 -0
  40. package/dist/core/checker.js.map +1 -0
  41. package/dist/core/cli/args.d.ts +18 -0
  42. package/dist/core/cli/args.d.ts.map +1 -0
  43. package/dist/core/cli/args.js +108 -0
  44. package/dist/core/cli/args.js.map +1 -0
  45. package/dist/core/cli/cli.d.ts +2 -0
  46. package/dist/core/cli/cli.d.ts.map +1 -0
  47. package/dist/core/cli/cli.js +477 -0
  48. package/dist/core/cli/cli.js.map +1 -0
  49. package/dist/core/cli/index.d.ts +2 -0
  50. package/dist/core/cli/index.d.ts.map +1 -0
  51. package/dist/core/cli/index.js +2 -0
  52. package/dist/core/cli/index.js.map +1 -0
  53. package/dist/core/decorator-utils.d.ts +108 -0
  54. package/dist/core/decorator-utils.d.ts.map +1 -0
  55. package/dist/core/decorator-utils.js +326 -0
  56. package/dist/core/decorator-utils.js.map +1 -0
  57. package/dist/core/diagnostics.d.ts +93 -0
  58. package/dist/core/diagnostics.d.ts.map +1 -0
  59. package/dist/core/diagnostics.js +315 -0
  60. package/dist/core/diagnostics.js.map +1 -0
  61. package/dist/core/emitter-utils.d.ts +14 -0
  62. package/dist/core/emitter-utils.d.ts.map +1 -0
  63. package/dist/core/emitter-utils.js +16 -0
  64. package/dist/core/emitter-utils.js.map +1 -0
  65. package/dist/core/formatter-fs.d.ts +21 -0
  66. package/dist/core/formatter-fs.d.ts.map +1 -0
  67. package/dist/core/formatter-fs.js +79 -0
  68. package/dist/core/formatter-fs.js.map +1 -0
  69. package/dist/core/formatter.d.ts +10 -0
  70. package/dist/core/formatter.d.ts.map +1 -0
  71. package/dist/core/formatter.js +24 -0
  72. package/dist/core/formatter.js.map +1 -0
  73. package/dist/core/helpers/discriminator-utils.d.ts +14 -0
  74. package/dist/core/helpers/discriminator-utils.d.ts.map +1 -0
  75. package/dist/core/helpers/discriminator-utils.js +169 -0
  76. package/dist/core/helpers/discriminator-utils.js.map +1 -0
  77. package/dist/core/helpers/index.d.ts +6 -0
  78. package/dist/core/helpers/index.d.ts.map +1 -0
  79. package/dist/core/helpers/index.js +6 -0
  80. package/dist/core/helpers/index.js.map +1 -0
  81. package/dist/core/helpers/operation-utils.d.ts +15 -0
  82. package/dist/core/helpers/operation-utils.d.ts.map +1 -0
  83. package/dist/core/helpers/operation-utils.js +35 -0
  84. package/dist/core/helpers/operation-utils.js.map +1 -0
  85. package/dist/core/helpers/projected-names-utils.d.ts +20 -0
  86. package/dist/core/helpers/projected-names-utils.d.ts.map +1 -0
  87. package/dist/core/helpers/projected-names-utils.js +40 -0
  88. package/dist/core/helpers/projected-names-utils.js.map +1 -0
  89. package/dist/core/helpers/type-name-utils.d.ts +14 -0
  90. package/dist/core/helpers/type-name-utils.d.ts.map +1 -0
  91. package/dist/core/helpers/type-name-utils.js +122 -0
  92. package/dist/core/helpers/type-name-utils.js.map +1 -0
  93. package/dist/core/helpers/usage-resolver.d.ts +20 -0
  94. package/dist/core/helpers/usage-resolver.d.ts.map +1 -0
  95. package/dist/core/helpers/usage-resolver.js +108 -0
  96. package/dist/core/helpers/usage-resolver.js.map +1 -0
  97. package/dist/core/index.d.ts +26 -0
  98. package/dist/core/index.d.ts.map +1 -0
  99. package/dist/core/index.js +26 -0
  100. package/dist/core/index.js.map +1 -0
  101. package/dist/core/install.d.ts +2 -0
  102. package/dist/core/install.d.ts.map +1 -0
  103. package/dist/core/install.js +26 -0
  104. package/dist/core/install.js.map +1 -0
  105. package/dist/core/library.d.ts +34 -0
  106. package/dist/core/library.d.ts.map +1 -0
  107. package/dist/core/library.js +100 -0
  108. package/dist/core/library.js.map +1 -0
  109. package/dist/core/logger/console-sink.browser.d.ts +4 -0
  110. package/dist/core/logger/console-sink.browser.d.ts.map +1 -0
  111. package/dist/core/logger/console-sink.browser.js +14 -0
  112. package/dist/core/logger/console-sink.browser.js.map +1 -0
  113. package/dist/core/logger/console-sink.d.ts +9 -0
  114. package/dist/core/logger/console-sink.d.ts.map +1 -0
  115. package/dist/core/logger/console-sink.js +81 -0
  116. package/dist/core/logger/console-sink.js.map +1 -0
  117. package/dist/core/logger/index.d.ts +3 -0
  118. package/dist/core/logger/index.d.ts.map +1 -0
  119. package/dist/core/logger/index.js +3 -0
  120. package/dist/core/logger/index.js.map +1 -0
  121. package/dist/core/logger/logger.d.ts +7 -0
  122. package/dist/core/logger/logger.d.ts.map +1 -0
  123. package/dist/core/logger/logger.js +32 -0
  124. package/dist/core/logger/logger.js.map +1 -0
  125. package/dist/core/logger/tracer.d.ts +3 -0
  126. package/dist/core/logger/tracer.d.ts.map +1 -0
  127. package/dist/core/logger/tracer.js +91 -0
  128. package/dist/core/logger/tracer.js.map +1 -0
  129. package/dist/core/manifest.d.ts +21 -0
  130. package/dist/core/manifest.d.ts.map +1 -0
  131. package/dist/core/manifest.js +8 -0
  132. package/dist/core/manifest.js.map +1 -0
  133. package/dist/core/messages.d.ts +2253 -0
  134. package/dist/core/messages.d.ts.map +1 -0
  135. package/dist/core/messages.js +749 -0
  136. package/dist/core/messages.js.map +1 -0
  137. package/dist/core/module-resolver.d.ts +84 -0
  138. package/dist/core/module-resolver.d.ts.map +1 -0
  139. package/dist/core/module-resolver.js +170 -0
  140. package/dist/core/module-resolver.js.map +1 -0
  141. package/dist/core/node-host.browser.d.ts +2 -0
  142. package/dist/core/node-host.browser.d.ts.map +1 -0
  143. package/dist/core/node-host.browser.js +2 -0
  144. package/dist/core/node-host.browser.js.map +1 -0
  145. package/dist/core/node-host.d.ts +7 -0
  146. package/dist/core/node-host.d.ts.map +1 -0
  147. package/dist/core/node-host.js +43 -0
  148. package/dist/core/node-host.js.map +1 -0
  149. package/dist/core/nonascii.d.ts +2 -0
  150. package/dist/core/nonascii.d.ts.map +1 -0
  151. package/dist/core/nonascii.js +712 -0
  152. package/dist/core/nonascii.js.map +1 -0
  153. package/dist/core/options.d.ts +46 -0
  154. package/dist/core/options.d.ts.map +1 -0
  155. package/dist/core/options.js +2 -0
  156. package/dist/core/options.js.map +1 -0
  157. package/dist/core/parser.d.ts +17 -0
  158. package/dist/core/parser.d.ts.map +1 -0
  159. package/dist/core/parser.js +2561 -0
  160. package/dist/core/parser.js.map +1 -0
  161. package/dist/core/path-utils.d.ts +193 -0
  162. package/dist/core/path-utils.d.ts.map +1 -0
  163. package/dist/core/path-utils.js +427 -0
  164. package/dist/core/path-utils.js.map +1 -0
  165. package/dist/core/program.d.ts +104 -0
  166. package/dist/core/program.d.ts.map +1 -0
  167. package/dist/core/program.js +898 -0
  168. package/dist/core/program.js.map +1 -0
  169. package/dist/core/projection-members.d.ts +8 -0
  170. package/dist/core/projection-members.d.ts.map +1 -0
  171. package/dist/core/projection-members.js +387 -0
  172. package/dist/core/projection-members.js.map +1 -0
  173. package/dist/core/projector.d.ts +26 -0
  174. package/dist/core/projector.d.ts.map +1 -0
  175. package/dist/core/projector.js +523 -0
  176. package/dist/core/projector.js.map +1 -0
  177. package/dist/core/scanner.d.ts +125 -0
  178. package/dist/core/scanner.d.ts.map +1 -0
  179. package/dist/core/scanner.js +1012 -0
  180. package/dist/core/scanner.js.map +1 -0
  181. package/dist/core/schema-validator.d.ts +6 -0
  182. package/dist/core/schema-validator.d.ts.map +1 -0
  183. package/dist/core/schema-validator.js +38 -0
  184. package/dist/core/schema-validator.js.map +1 -0
  185. package/dist/core/semantic-walker.d.ts +53 -0
  186. package/dist/core/semantic-walker.d.ts.map +1 -0
  187. package/dist/core/semantic-walker.js +355 -0
  188. package/dist/core/semantic-walker.js.map +1 -0
  189. package/dist/core/type-utils.d.ts +49 -0
  190. package/dist/core/type-utils.d.ts.map +1 -0
  191. package/dist/core/type-utils.js +95 -0
  192. package/dist/core/type-utils.js.map +1 -0
  193. package/dist/core/types.d.ts +1345 -0
  194. package/dist/core/types.d.ts.map +1 -0
  195. package/dist/core/types.js +105 -0
  196. package/dist/core/types.js.map +1 -0
  197. package/dist/core/util.d.ts +150 -0
  198. package/dist/core/util.d.ts.map +1 -0
  199. package/dist/core/util.js +417 -0
  200. package/dist/core/util.js.map +1 -0
  201. package/dist/emitter-framework/asset-emitter.d.ts +5 -0
  202. package/dist/emitter-framework/asset-emitter.d.ts.map +1 -0
  203. package/dist/emitter-framework/asset-emitter.js +610 -0
  204. package/dist/emitter-framework/asset-emitter.js.map +1 -0
  205. package/dist/emitter-framework/builders/array-builder.d.ts +7 -0
  206. package/dist/emitter-framework/builders/array-builder.d.ts.map +1 -0
  207. package/dist/emitter-framework/builders/array-builder.js +45 -0
  208. package/dist/emitter-framework/builders/array-builder.js.map +1 -0
  209. package/dist/emitter-framework/builders/object-builder.d.ts +9 -0
  210. package/dist/emitter-framework/builders/object-builder.d.ts.map +1 -0
  211. package/dist/emitter-framework/builders/object-builder.js +30 -0
  212. package/dist/emitter-framework/builders/object-builder.js.map +1 -0
  213. package/dist/emitter-framework/builders/string-builder.d.ts +13 -0
  214. package/dist/emitter-framework/builders/string-builder.d.ts.map +1 -0
  215. package/dist/emitter-framework/builders/string-builder.js +98 -0
  216. package/dist/emitter-framework/builders/string-builder.js.map +1 -0
  217. package/dist/emitter-framework/custom-key-map.d.ts +29 -0
  218. package/dist/emitter-framework/custom-key-map.d.ts.map +1 -0
  219. package/dist/emitter-framework/custom-key-map.js +62 -0
  220. package/dist/emitter-framework/custom-key-map.js.map +1 -0
  221. package/dist/emitter-framework/index.d.ts +8 -0
  222. package/dist/emitter-framework/index.d.ts.map +1 -0
  223. package/dist/emitter-framework/index.js +8 -0
  224. package/dist/emitter-framework/index.js.map +1 -0
  225. package/dist/emitter-framework/placeholder.d.ts +12 -0
  226. package/dist/emitter-framework/placeholder.d.ts.map +1 -0
  227. package/dist/emitter-framework/placeholder.js +27 -0
  228. package/dist/emitter-framework/placeholder.js.map +1 -0
  229. package/dist/emitter-framework/type-emitter.d.ts +314 -0
  230. package/dist/emitter-framework/type-emitter.d.ts.map +1 -0
  231. package/dist/emitter-framework/type-emitter.js +612 -0
  232. package/dist/emitter-framework/type-emitter.js.map +1 -0
  233. package/dist/emitter-framework/types.d.ts +124 -0
  234. package/dist/emitter-framework/types.d.ts.map +1 -0
  235. package/dist/emitter-framework/types.js +39 -0
  236. package/dist/emitter-framework/types.js.map +1 -0
  237. package/dist/formatter/index.d.ts +11 -0
  238. package/dist/formatter/index.d.ts.map +1 -0
  239. package/dist/formatter/index.js +28 -0
  240. package/dist/formatter/index.js.map +1 -0
  241. package/dist/formatter/parser.d.ts +16 -0
  242. package/dist/formatter/parser.d.ts.map +1 -0
  243. package/dist/formatter/parser.js +23 -0
  244. package/dist/formatter/parser.js.map +1 -0
  245. package/dist/formatter/print/comment-handler.d.ts +7 -0
  246. package/dist/formatter/print/comment-handler.d.ts.map +1 -0
  247. package/dist/formatter/print/comment-handler.js +81 -0
  248. package/dist/formatter/print/comment-handler.js.map +1 -0
  249. package/dist/formatter/print/index.d.ts +3 -0
  250. package/dist/formatter/print/index.d.ts.map +1 -0
  251. package/dist/formatter/print/index.js +3 -0
  252. package/dist/formatter/print/index.js.map +1 -0
  253. package/dist/formatter/print/needs-parens.d.ts +10 -0
  254. package/dist/formatter/print/needs-parens.d.ts.map +1 -0
  255. package/dist/formatter/print/needs-parens.js +27 -0
  256. package/dist/formatter/print/needs-parens.js.map +1 -0
  257. package/dist/formatter/print/printer.d.ts +62 -0
  258. package/dist/formatter/print/printer.d.ts.map +1 -0
  259. package/dist/formatter/print/printer.js +1025 -0
  260. package/dist/formatter/print/printer.js.map +1 -0
  261. package/dist/formatter/print/types.d.ts +9 -0
  262. package/dist/formatter/print/types.d.ts.map +1 -0
  263. package/dist/formatter/print/types.js +2 -0
  264. package/dist/formatter/print/types.js.map +1 -0
  265. package/dist/init/index.d.ts +2 -0
  266. package/dist/init/index.d.ts.map +1 -0
  267. package/dist/init/index.js +2 -0
  268. package/dist/init/index.js.map +1 -0
  269. package/dist/init/init-template.d.ts +45 -0
  270. package/dist/init/init-template.d.ts.map +1 -0
  271. package/dist/init/init-template.js +45 -0
  272. package/dist/init/init-template.js.map +1 -0
  273. package/dist/init/init.d.ts +49 -0
  274. package/dist/init/init.d.ts.map +1 -0
  275. package/dist/init/init.js +224 -0
  276. package/dist/init/init.js.map +1 -0
  277. package/dist/lib/decorators.d.ts +222 -0
  278. package/dist/lib/decorators.d.ts.map +1 -0
  279. package/dist/lib/decorators.js +745 -0
  280. package/dist/lib/decorators.js.map +1 -0
  281. package/dist/lib/service.d.ts +38 -0
  282. package/dist/lib/service.d.ts.map +1 -0
  283. package/dist/lib/service.js +78 -0
  284. package/dist/lib/service.js.map +1 -0
  285. package/dist/manifest.js +4 -0
  286. package/dist/server/completion.d.ts +10 -0
  287. package/dist/server/completion.d.ts.map +1 -0
  288. package/dist/server/completion.js +207 -0
  289. package/dist/server/completion.js.map +1 -0
  290. package/dist/server/index.d.ts +3 -0
  291. package/dist/server/index.d.ts.map +1 -0
  292. package/dist/server/index.js +3 -0
  293. package/dist/server/index.js.map +1 -0
  294. package/dist/server/language-config.d.ts +195 -0
  295. package/dist/server/language-config.d.ts.map +1 -0
  296. package/dist/server/language-config.js +102 -0
  297. package/dist/server/language-config.js.map +1 -0
  298. package/dist/server/server.d.ts +2 -0
  299. package/dist/server/server.d.ts.map +1 -0
  300. package/dist/server/server.js +131 -0
  301. package/dist/server/server.js.map +1 -0
  302. package/dist/server/serverlib.d.ts +72 -0
  303. package/dist/server/serverlib.d.ts.map +1 -0
  304. package/dist/server/serverlib.js +1034 -0
  305. package/dist/server/serverlib.js.map +1 -0
  306. package/dist/server/symbol-structure.d.ts +4 -0
  307. package/dist/server/symbol-structure.d.ts.map +1 -0
  308. package/dist/server/symbol-structure.js +121 -0
  309. package/dist/server/symbol-structure.js.map +1 -0
  310. package/dist/server/tmlanguage.d.ts +3 -0
  311. package/dist/server/tmlanguage.d.ts.map +1 -0
  312. package/dist/server/tmlanguage.js +713 -0
  313. package/dist/server/tmlanguage.js.map +1 -0
  314. package/dist/server/type-details.d.ts +11 -0
  315. package/dist/server/type-details.d.ts.map +1 -0
  316. package/dist/server/type-details.js +72 -0
  317. package/dist/server/type-details.js.map +1 -0
  318. package/dist/server/type-signature.d.ts +2 -0
  319. package/dist/server/type-signature.d.ts.map +1 -0
  320. package/dist/server/type-signature.js +108 -0
  321. package/dist/server/type-signature.js.map +1 -0
  322. package/dist/testing/expect.d.ts +49 -0
  323. package/dist/testing/expect.d.ts.map +1 -0
  324. package/dist/testing/expect.js +83 -0
  325. package/dist/testing/expect.js.map +1 -0
  326. package/dist/testing/index.d.ts +6 -0
  327. package/dist/testing/index.d.ts.map +1 -0
  328. package/dist/testing/index.js +6 -0
  329. package/dist/testing/index.js.map +1 -0
  330. package/dist/testing/test-host.d.ts +14 -0
  331. package/dist/testing/test-host.d.ts.map +1 -0
  332. package/dist/testing/test-host.js +271 -0
  333. package/dist/testing/test-host.js.map +1 -0
  334. package/dist/testing/test-server-host.d.ts +39 -0
  335. package/dist/testing/test-server-host.d.ts.map +1 -0
  336. package/dist/testing/test-server-host.js +112 -0
  337. package/dist/testing/test-server-host.js.map +1 -0
  338. package/dist/testing/test-utils.d.ts +22 -0
  339. package/dist/testing/test-utils.d.ts.map +1 -0
  340. package/dist/testing/test-utils.js +60 -0
  341. package/dist/testing/test-utils.js.map +1 -0
  342. package/dist/testing/types.d.ts +69 -0
  343. package/dist/testing/types.d.ts.map +1 -0
  344. package/dist/testing/types.js +7 -0
  345. package/dist/testing/types.js.map +1 -0
  346. package/dist/typespec.tmLanguage +1760 -0
  347. package/lib/decorators.tsp +420 -0
  348. package/lib/lib.tsp +158 -0
  349. package/lib/main.tsp +4 -0
  350. package/lib/projected-names.tsp +94 -0
  351. package/lib/reflection.tsp +10 -0
  352. package/package.json +119 -0
@@ -0,0 +1,222 @@
1
+ import { Program, ProjectedProgram } from "../core/program.js";
2
+ import { ArrayModelType, DecoratorContext, Enum, Interface, Model, ModelIndexer, ModelProperty, Namespace, Operation, Scalar, Type, Union } from "../core/types.js";
3
+ export * from "./service.js";
4
+ export declare const namespace = "TypeSpec";
5
+ /**
6
+ * @summary attaches a documentation string. It is typically used to give a short, single-line
7
+ * description, and can be used in combination with or instead of @doc.
8
+ *
9
+ * The first argument to @summary is a string, which may contain template parameters, enclosed in braces,
10
+ * which are replaced with an attribute for the type (commonly "name") passed as the second (optional) argument.
11
+ *
12
+ * @summary can be specified on any language element -- a model, an operation, a namespace, etc.
13
+ */
14
+ export declare function $summary(context: DecoratorContext, target: Type, text: string, sourceObject: Type): void;
15
+ export declare function getSummary(program: Program, type: Type): string | undefined;
16
+ /**
17
+ * @doc attaches a documentation string. Works great with multi-line string literals.
18
+ *
19
+ * The first argument to @doc is a string, which may contain template parameters, enclosed in braces,
20
+ * which are replaced with an attribute for the type (commonly "name") passed as the second (optional) argument.
21
+ *
22
+ * @doc can be specified on any language element -- a model, an operation, a namespace, etc.
23
+ */
24
+ export declare function $doc(context: DecoratorContext, target: Type, text: string, sourceObject?: Type): void;
25
+ export declare function getDoc(program: Program, target: Type): string | undefined;
26
+ export declare function $inspectType(program: Program, target: Type, text: string): void;
27
+ export declare function $inspectTypeName(program: Program, target: Type, text: string): void;
28
+ export declare function $indexer(context: DecoratorContext, target: Type, key: Scalar, value: Type): void;
29
+ export declare function getIndexer(program: Program, target: Type): ModelIndexer | undefined;
30
+ export declare function isStringType(program: Program | ProjectedProgram, target: Type): target is Scalar;
31
+ export declare function isNumericType(program: Program | ProjectedProgram, target: Type): target is Scalar;
32
+ /**
33
+ * Check if a model is an array type.
34
+ * @param type Model type
35
+ */
36
+ export declare function isArrayModelType(program: Program, type: Model): type is ArrayModelType;
37
+ /**
38
+ * Check if a model is an array type.
39
+ * @param type Model type
40
+ */
41
+ export declare function isRecordModelType(program: Program, type: Model): type is ArrayModelType;
42
+ /**
43
+ * Return the type of the property or the model itself.
44
+ */
45
+ export declare function getPropertyType(target: Scalar | ModelProperty): Type;
46
+ /**
47
+ * `@error` decorator marks a model as an error type.
48
+ *
49
+ * `@error` can only be specified on a model.
50
+ */
51
+ export declare function $error(context: DecoratorContext, entity: Model): void;
52
+ export declare function isErrorModel(program: Program, target: Type): boolean;
53
+ /**
54
+ * `@format` - specify the data format hint for a string type
55
+ *
56
+ * The first argument is a string that identifies the format that the string type expects. Any string
57
+ * can be entered here, but a TypeSpec emitter must know how to interpret
58
+ *
59
+ * For TypeSpec specs that will be used with an OpenAPI emitter, the OpenAPI specification describes possible
60
+ * valid values for a string type's format:
61
+ *
62
+ * https://github.com/OAI/OpenAPI-Specification/blob/3.0.3/versions/3.0.3.md#dataTypes
63
+ *
64
+ * `@format` can be specified on a type that extends from `string` or a `string`-typed model property.
65
+ */
66
+ export declare function $format(context: DecoratorContext, target: Scalar | ModelProperty, format: string): void;
67
+ export declare function getFormat(program: Program, target: Type): string | undefined;
68
+ export declare function $pattern(context: DecoratorContext, target: Scalar | ModelProperty, pattern: string): void;
69
+ export declare function getPattern(program: Program, target: Type): string | undefined;
70
+ export declare function $minLength(context: DecoratorContext, target: Scalar | ModelProperty, minLength: number): void;
71
+ export declare function getMinLength(program: Program, target: Type): number | undefined;
72
+ export declare function $maxLength(context: DecoratorContext, target: Scalar | ModelProperty, maxLength: number): void;
73
+ export declare function getMaxLength(program: Program, target: Type): number | undefined;
74
+ export declare function $minItems(context: DecoratorContext, target: Model | ModelProperty, minItems: number): void;
75
+ export declare function getMinItems(program: Program, target: Type): number | undefined;
76
+ export declare function $maxItems(context: DecoratorContext, target: Model | ModelProperty, maxItems: number): void;
77
+ export declare function getMaxItems(program: Program, target: Type): number | undefined;
78
+ export declare function $minValue(context: DecoratorContext, target: Scalar | ModelProperty, minValue: number): void;
79
+ export declare function getMinValue(program: Program, target: Type): number | undefined;
80
+ export declare function $maxValue(context: DecoratorContext, target: Scalar | ModelProperty, maxValue: number): void;
81
+ export declare function getMaxValue(program: Program, target: Type): number | undefined;
82
+ export declare function $minValueExclusive(context: DecoratorContext, target: Scalar | ModelProperty, minValueExclusive: number): void;
83
+ export declare function getMinValueExclusive(program: Program, target: Type): number | undefined;
84
+ export declare function $maxValueExclusive(context: DecoratorContext, target: Scalar | ModelProperty, maxValueExclusive: number): void;
85
+ export declare function getMaxValueExclusive(program: Program, target: Type): number | undefined;
86
+ /**
87
+ * Mark a string as a secret value that should be treated carefully to avoid exposure
88
+ * @param context Decorator context
89
+ * @param target Decorator target, either a string model or a property with type string.
90
+ */
91
+ export declare function $secret(context: DecoratorContext, target: Scalar | ModelProperty): void;
92
+ export declare function isSecret(program: Program, target: Type): boolean | undefined;
93
+ export declare function $visibility(context: DecoratorContext, target: ModelProperty, ...visibilities: string[]): void;
94
+ export declare function getVisibility(program: Program, target: Type): string[] | undefined;
95
+ export declare function $withVisibility(context: DecoratorContext, target: Model, ...visibilities: string[]): void;
96
+ export declare function isVisible(program: Program, property: ModelProperty, visibilities: readonly string[]): boolean;
97
+ export declare function $withOptionalProperties(context: DecoratorContext, target: Model): void;
98
+ export declare function $withUpdateableProperties(context: DecoratorContext, target: Type): void;
99
+ export declare function $withoutOmittedProperties(context: DecoratorContext, target: Model, omitProperties: string | Union): void;
100
+ export declare function $withoutDefaultValues(context: DecoratorContext, target: Model): void;
101
+ export declare function $list(context: DecoratorContext, target: Operation, listedType?: Type): void;
102
+ export declare function getListOperationType(program: Program, target: Type): Model | undefined;
103
+ export declare function isListOperation(program: Program, target: Operation): boolean;
104
+ export declare function $tag(context: DecoratorContext, target: Operation | Namespace | Interface, tag: string): void;
105
+ export declare function getTags(program: Program, target: Type): string[];
106
+ export declare function getAllTags(program: Program, target: Namespace | Interface | Operation): string[] | undefined;
107
+ export declare function $friendlyName(context: DecoratorContext, target: Type, friendlyName: string, sourceObject: Type | undefined): void;
108
+ export declare function getFriendlyName(program: Program, target: Type): string;
109
+ /**
110
+ * `@knownValues` marks a string type with an enum that contains all known values
111
+ *
112
+ * The first parameter is a reference to an enum type that describes all possible values that the
113
+ * type accepts.
114
+ *
115
+ * `@knownValues` can only be applied to model types that extend `string`.
116
+ *
117
+ * @param target Decorator target. Must be a string. (model Foo extends string)
118
+ * @param knownValues Must be an enum.
119
+ */
120
+ export declare function $knownValues(context: DecoratorContext, target: Scalar | ModelProperty, knownValues: Enum): void;
121
+ export declare function getKnownValues(program: Program, target: Scalar | ModelProperty): Enum | undefined;
122
+ /**
123
+ * `@key` - mark a model property as the key to identify instances of that type
124
+ *
125
+ * The optional first argument accepts an alternate key name which may be used by emitters.
126
+ * Otherwise, the name of the target property will be used.
127
+ *
128
+ * `@key` can only be applied to model properties.
129
+ */
130
+ export declare function $key(context: DecoratorContext, entity: ModelProperty, altName?: string): void;
131
+ export declare function isKey(program: Program, property: ModelProperty): boolean;
132
+ export declare function getKeyName(program: Program, property: ModelProperty): string;
133
+ /**
134
+ * `@withDefaultKeyVisibility` - set the visibility of key properties in a model if not already set
135
+ *
136
+ * The first argument accepts a string representing the desired default
137
+ * visibility value. If a key property already has a `visibility` decorator
138
+ * then the default visibility is not applied.
139
+ *
140
+ * `@withDefaultKeyVisibility` can only be applied to model types.
141
+ */
142
+ export declare function $withDefaultKeyVisibility(context: DecoratorContext, entity: Model, visibility: string): void;
143
+ /**
144
+ * Mark a type as deprecated
145
+ * @param context DecoratorContext
146
+ * @param target Decorator target
147
+ * @param message Deprecation target.
148
+ *
149
+ * @example
150
+ * ``` @deprecated("Foo is deprecated, use Bar instead.")
151
+ * model Foo {}
152
+ * ```
153
+ */
154
+ export declare function $deprecated(context: DecoratorContext, target: Type, message: string): Map<Type, any>;
155
+ /**
156
+ * Check if the given type is deprecated
157
+ * @param program Program
158
+ * @param type Type
159
+ */
160
+ export declare function isDeprecated(program: Program, type: Type): boolean;
161
+ /**
162
+ * Return the deprecated message or undefined if not deprecated
163
+ * @param program Program
164
+ * @param type Type
165
+ */
166
+ export declare function getDeprecated(program: Program, type: Type): string | undefined;
167
+ /**
168
+ * `@overload` - Indicate that the target overloads (specializes) the overloads type.
169
+ * @param context DecoratorContext
170
+ * @param target The specializing operation declaration
171
+ * @param overloadBase The operation to be overloaded.
172
+ */
173
+ export declare function $overload(context: DecoratorContext, target: Operation, overloadBase: Operation): void;
174
+ /**
175
+ * Get all operations that are marked as overloads of the given operation
176
+ * @param program Program
177
+ * @param operation Operation
178
+ * @returns An array of operations that overload the given operation.
179
+ */
180
+ export declare function getOverloads(program: Program, operation: Operation): Operation[] | undefined;
181
+ /**
182
+ * If the given operation overloads another operation, return that operation.
183
+ * @param program Program
184
+ * @param operation The operation to check for an overload target.
185
+ * @returns The operation this operation overloads, if any.
186
+ */
187
+ export declare function getOverloadedOperation(program: Program, operation: Operation): Operation | undefined;
188
+ /**
189
+ * `@projectedName` - Indicate that this entity should be renamed according to the given projection.
190
+ * @param context DecoratorContext
191
+ * @param target The that should have a different name.
192
+ * @param projectionName Name of the projection (e.g. "toJson", "toCSharp")
193
+ * @param projectedName Name of the type should have in the scope of the projection specified.
194
+ */
195
+ export declare function $projectedName(context: DecoratorContext, target: Type, projectionName: string, projectedName: string): void;
196
+ /**
197
+ * @param program Program
198
+ * @param target Target
199
+ * @returns Map of the projected names for the given entity.
200
+ */
201
+ export declare function getProjectedNames(program: Program, target: Type): ReadonlyMap<string, string> | undefined;
202
+ /**
203
+ * Get the projected name of the given entity for the given projection.
204
+ * @param program Program
205
+ * @param target Target
206
+ * @returns Projected name for the given projection
207
+ */
208
+ export declare function getProjectedName(program: Program, target: Type, projectionName: string): string | undefined;
209
+ /**
210
+ * Get the projected name of the given entity for the given projection.
211
+ * @param program Program
212
+ * @param target Target
213
+ * @returns Projected name for the given projection
214
+ */
215
+ export declare function hasProjectedName(program: Program, target: Type, projectionName: string): boolean;
216
+ export interface Discriminator {
217
+ propertyName: string;
218
+ }
219
+ export declare function $discriminator(context: DecoratorContext, entity: Model | Union, propertyName: string): void;
220
+ export declare function getDiscriminator(program: Program, entity: Type): Discriminator | undefined;
221
+ export declare function getDiscriminatedTypes(program: Program): [Model | Union, Discriminator][];
222
+ //# sourceMappingURL=decorators.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../../lib/decorators.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,IAAI,EAEJ,SAAS,EACT,KAAK,EACL,YAAY,EACZ,aAAa,EACb,SAAS,EACT,SAAS,EACT,MAAM,EACN,IAAI,EACJ,KAAK,EACN,MAAM,kBAAkB,CAAC;AAC1B,cAAc,cAAc,CAAC;AAE7B,eAAO,MAAM,SAAS,aAAa,CAAC;AAiCpC;;;;;;;;GAQG;AACH,wBAAgB,QAAQ,CACtB,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,IAAI,EACZ,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,IAAI,QAGnB;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,GAAG,MAAM,GAAG,SAAS,CAE3E;AAGD;;;;;;;GAOG;AACH,wBAAgB,IAAI,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,IAAI,QAG9F;AAED,wBAAgB,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,GAAG,MAAM,GAAG,SAAS,CAEzE;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,QAKxE;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,QAK5E;AAGD,wBAAgB,QAAQ,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,QAGzF;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,GAAG,YAAY,GAAG,SAAS,CAEnF;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,gBAAgB,EAAE,MAAM,EAAE,IAAI,GAAG,MAAM,IAAI,MAAM,CAMhG;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,gBAAgB,EAAE,MAAM,EAAE,IAAI,GAAG,MAAM,IAAI,MAAM,CAMjG;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,GAAG,IAAI,IAAI,cAAc,CAEtF;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,GAAG,IAAI,IAAI,cAAc,CAEvF;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAMpE;AAMD;;;;GAIG;AACH,wBAAgB,MAAM,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,KAAK,QAG9D;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,GAAG,OAAO,CAEpE;AAMD;;;;;;;;;;;;GAYG;AACH,wBAAgB,OAAO,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,GAAG,aAAa,EAAE,MAAM,EAAE,MAAM,QAQhG;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,GAAG,MAAM,GAAG,SAAS,CAE5E;AAMD,wBAAgB,QAAQ,CACtB,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,MAAM,GAAG,aAAa,EAC9B,OAAO,EAAE,MAAM,QAShB;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,GAAG,MAAM,GAAG,SAAS,CAE7E;AAMD,wBAAgB,UAAU,CACxB,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,MAAM,GAAG,aAAa,EAC9B,SAAS,EAAE,MAAM,QAYlB;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,GAAG,MAAM,GAAG,SAAS,CAE/E;AAMD,wBAAgB,UAAU,CACxB,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,MAAM,GAAG,aAAa,EAC9B,SAAS,EAAE,MAAM,QAYlB;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,GAAG,MAAM,GAAG,SAAS,CAE/E;AAMD,wBAAgB,SAAS,CACvB,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,KAAK,GAAG,aAAa,EAC7B,QAAQ,EAAE,MAAM,QAoBjB;AAED,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,GAAG,MAAM,GAAG,SAAS,CAE9E;AAMD,wBAAgB,SAAS,CACvB,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,KAAK,GAAG,aAAa,EAC7B,QAAQ,EAAE,MAAM,QAmBjB;AAED,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,GAAG,MAAM,GAAG,SAAS,CAE9E;AAMD,wBAAgB,SAAS,CACvB,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,MAAM,GAAG,aAAa,EAC9B,QAAQ,EAAE,MAAM,QA2BjB;AAED,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,GAAG,MAAM,GAAG,SAAS,CAE9E;AAMD,wBAAgB,SAAS,CACvB,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,MAAM,GAAG,aAAa,EAC9B,QAAQ,EAAE,MAAM,QA0BjB;AAED,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,GAAG,MAAM,GAAG,SAAS,CAE9E;AAMD,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,MAAM,GAAG,aAAa,EAC9B,iBAAiB,EAAE,MAAM,QA2B1B;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,GAAG,MAAM,GAAG,SAAS,CAEvF;AAMD,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,MAAM,GAAG,aAAa,EAC9B,iBAAiB,EAAE,MAAM,QA0B1B;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,GAAG,MAAM,GAAG,SAAS,CAEvF;AAMD;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,GAAG,aAAa,QAOhF;AAED,wBAAgB,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,GAAG,OAAO,GAAG,SAAS,CAE5E;AAMD,wBAAgB,WAAW,CACzB,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,aAAa,EACrB,GAAG,YAAY,EAAE,MAAM,EAAE,QAK1B;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,GAAG,MAAM,EAAE,GAAG,SAAS,CAElF;AAED,wBAAgB,eAAe,CAC7B,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,KAAK,EACb,GAAG,YAAY,EAAE,MAAM,EAAE,QAG1B;AAED,wBAAgB,SAAS,CACvB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,aAAa,EACvB,YAAY,EAAE,SAAS,MAAM,EAAE,WAIhC;AAYD,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,KAAK,QAG/E;AAID,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,IAAI,QAMhF;AAID,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,KAAK,EACb,cAAc,EAAE,MAAM,GAAG,KAAK,QAgB/B;AAID,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,KAAK,QAG7E;AAMD,wBAAgB,KAAK,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,CAAC,EAAE,IAAI,QAcpF;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,GAAG,KAAK,GAAG,SAAS,CAEtF;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,GAAG,OAAO,CAG5E;AAOD,wBAAgB,IAAI,CAClB,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,EACzC,GAAG,EAAE,MAAM,QAQZ;AAGD,wBAAgB,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,GAAG,MAAM,EAAE,CAEhE;AAID,wBAAgB,UAAU,CACxB,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,GACxC,MAAM,EAAE,GAAG,SAAS,CAmBtB;AAMD,wBAAgB,aAAa,CAC3B,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,IAAI,EACZ,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,IAAI,GAAG,SAAS,QAQ/B;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,GAAG,MAAM,CAEtE;AAGD;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAC1B,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,MAAM,GAAG,aAAa,EAC9B,WAAW,EAAE,IAAI,QA+BlB;AAcD,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,GAAG,SAAS,CAEjG;AAID;;;;;;;GAOG;AACH,wBAAgB,IAAI,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAc7F;AAED,wBAAgB,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,WAE9D;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,GAAG,MAAM,CAE5E;AAED;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,KAAK,EACb,UAAU,EAAE,MAAM,GACjB,IAAI,CAyBN;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,kBAEnF;AAGD;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,GAAG,OAAO,CAElE;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,GAAG,MAAM,GAAG,SAAS,CAE9E;AAKD;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,QA0B9F;AAQD;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,GAAG,SAAS,EAAE,GAAG,SAAS,CAE5F;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,SAAS,GACnB,SAAS,GAAG,SAAS,CAEvB;AAID;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,IAAI,EACZ,cAAc,EAAE,MAAM,EACtB,aAAa,EAAE,MAAM,QAQtB;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,IAAI,GACX,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAEzC;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,IAAI,EACZ,cAAc,EAAE,MAAM,GACrB,MAAM,GAAG,SAAS,CAEpB;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAEhG;AAsBD,MAAM,WAAW,aAAa;IAC5B,YAAY,EAAE,MAAM,CAAC;CACtB;AAID,wBAAgB,cAAc,CAC5B,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,KAAK,GAAG,KAAK,EACrB,YAAY,EAAE,MAAM,QAarB;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,GAAG,aAAa,GAAG,SAAS,CAE1F;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,CAAC,KAAK,GAAG,KAAK,EAAE,aAAa,CAAC,EAAE,CAExF"}