@azure-tools/typespec-ts 0.12.0 → 0.13.0-alpha.20230522.1

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 (487) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/dist/src/index.d.ts.map +1 -1
  3. package/dist/src/index.js +2 -1
  4. package/dist/src/index.js.map +1 -1
  5. package/dist/src/modelUtils.d.ts +3 -1
  6. package/dist/src/modelUtils.d.ts.map +1 -1
  7. package/dist/src/modelUtils.js +152 -68
  8. package/dist/src/modelUtils.js.map +1 -1
  9. package/dist/src/modular/buildApiIndex.d.ts.map +1 -1
  10. package/dist/src/modular/buildApiIndex.js +1 -1
  11. package/dist/src/modular/buildApiIndex.js.map +1 -1
  12. package/dist/src/modular/buildClassicalClient.js +1 -1
  13. package/dist/src/modular/buildClassicalClient.js.map +1 -1
  14. package/dist/src/modular/buildCodeModel.d.ts.map +1 -1
  15. package/dist/src/modular/buildCodeModel.js +173 -168
  16. package/dist/src/modular/buildCodeModel.js.map +1 -1
  17. package/dist/src/modular/buildOperations.d.ts.map +1 -1
  18. package/dist/src/modular/buildOperations.js +14 -2
  19. package/dist/src/modular/buildOperations.js.map +1 -1
  20. package/dist/src/modular/buildSharedTypes.d.ts.map +1 -1
  21. package/dist/src/modular/buildSharedTypes.js +14 -9
  22. package/dist/src/modular/buildSharedTypes.js.map +1 -1
  23. package/dist/src/modular/emitModels.d.ts.map +1 -1
  24. package/dist/src/modular/emitModels.js +19 -6
  25. package/dist/src/modular/emitModels.js.map +1 -1
  26. package/dist/src/modular/helpers/credentialHelpers.js +1 -1
  27. package/dist/src/modular/helpers/credentialHelpers.js.map +1 -1
  28. package/dist/src/modular/helpers/fixmeHelpers.d.ts +2 -0
  29. package/dist/src/modular/helpers/fixmeHelpers.d.ts.map +1 -0
  30. package/dist/src/modular/helpers/fixmeHelpers.js +4 -0
  31. package/dist/src/modular/helpers/fixmeHelpers.js.map +1 -0
  32. package/dist/src/modular/helpers/namingHelpers.d.ts +17 -1
  33. package/dist/src/modular/helpers/namingHelpers.d.ts.map +1 -1
  34. package/dist/src/modular/helpers/namingHelpers.js +97 -0
  35. package/dist/src/modular/helpers/namingHelpers.js.map +1 -1
  36. package/dist/src/modular/helpers/operationHelpers.d.ts +2 -0
  37. package/dist/src/modular/helpers/operationHelpers.d.ts.map +1 -1
  38. package/dist/src/modular/helpers/operationHelpers.js +114 -26
  39. package/dist/src/modular/helpers/operationHelpers.js.map +1 -1
  40. package/dist/src/modular/helpers/parameterHelpers.js +1 -1
  41. package/dist/src/modular/helpers/parameterHelpers.js.map +1 -1
  42. package/dist/src/modular/helpers/typeHelpers.d.ts.map +1 -1
  43. package/dist/src/modular/helpers/typeHelpers.js +31 -12
  44. package/dist/src/modular/helpers/typeHelpers.js.map +1 -1
  45. package/dist/src/modular/modularCodeModel.d.ts +2 -1
  46. package/dist/src/modular/modularCodeModel.d.ts.map +1 -1
  47. package/dist/src/operationUtil.d.ts +27 -1
  48. package/dist/src/operationUtil.d.ts.map +1 -1
  49. package/dist/src/operationUtil.js +97 -20
  50. package/dist/src/operationUtil.js.map +1 -1
  51. package/dist/src/transform/transform.d.ts.map +1 -1
  52. package/dist/src/transform/transform.js +9 -6
  53. package/dist/src/transform/transform.js.map +1 -1
  54. package/dist/src/transform/transformApiVersionInfo.d.ts.map +1 -1
  55. package/dist/src/transform/transformApiVersionInfo.js +12 -3
  56. package/dist/src/transform/transformApiVersionInfo.js.map +1 -1
  57. package/dist/src/transform/transformHelperFunctionDetails.d.ts +6 -0
  58. package/dist/src/transform/transformHelperFunctionDetails.d.ts.map +1 -0
  59. package/dist/src/transform/{transformAnnotationDetails.js → transformHelperFunctionDetails.js} +20 -2
  60. package/dist/src/transform/transformHelperFunctionDetails.js.map +1 -0
  61. package/dist/src/transform/transformParameters.d.ts.map +1 -1
  62. package/dist/src/transform/transformParameters.js +64 -63
  63. package/dist/src/transform/transformParameters.js.map +1 -1
  64. package/dist/src/transform/transformPaths.d.ts.map +1 -1
  65. package/dist/src/transform/transformPaths.js +29 -12
  66. package/dist/src/transform/transformPaths.js.map +1 -1
  67. package/dist/src/transform/transformResponses.d.ts.map +1 -1
  68. package/dist/src/transform/transformResponses.js +39 -9
  69. package/dist/src/transform/transformResponses.js.map +1 -1
  70. package/dist/src/transform/transformSchemas.d.ts.map +1 -1
  71. package/dist/src/transform/transformSchemas.js +10 -1
  72. package/dist/src/transform/transformSchemas.js.map +1 -1
  73. package/dist/tsconfig.tsbuildinfo +1 -1
  74. package/package.json +48 -38
  75. package/src/index.ts +2 -0
  76. package/src/modelUtils.ts +224 -61
  77. package/src/modular/buildApiIndex.ts +3 -1
  78. package/src/modular/buildClassicalClient.ts +1 -1
  79. package/src/modular/buildCodeModel.ts +197 -192
  80. package/src/modular/buildOperations.ts +16 -1
  81. package/src/modular/buildSharedTypes.ts +14 -9
  82. package/src/modular/emitModels.ts +14 -0
  83. package/src/modular/helpers/credentialHelpers.ts +1 -1
  84. package/src/modular/helpers/fixmeHelpers.ts +3 -0
  85. package/src/modular/helpers/namingHelpers.ts +116 -1
  86. package/src/modular/helpers/operationHelpers.ts +153 -48
  87. package/src/modular/helpers/parameterHelpers.ts +1 -1
  88. package/src/modular/helpers/typeHelpers.ts +33 -12
  89. package/src/modular/modularCodeModel.ts +3 -1
  90. package/src/operationUtil.ts +135 -25
  91. package/src/transform/transform.ts +20 -5
  92. package/src/transform/transformApiVersionInfo.ts +26 -3
  93. package/src/transform/{transformAnnotationDetails.ts → transformHelperFunctionDetails.ts} +19 -3
  94. package/src/transform/transformParameters.ts +112 -59
  95. package/src/transform/transformPaths.ts +38 -15
  96. package/src/transform/transformResponses.ts +59 -7
  97. package/src/transform/transformSchemas.ts +9 -1
  98. package/.eslintrc.json +0 -23
  99. package/.prettierignore +0 -1
  100. package/.prettierrc +0 -7
  101. package/.rush/temp/package-deps_build.json +0 -427
  102. package/.rush/temp/shrinkwrap-deps.json +0 -473
  103. package/CONTRIBUTING.md +0 -137
  104. package/dist/src/transform/transformAnnotationDetails.d.ts +0 -6
  105. package/dist/src/transform/transformAnnotationDetails.d.ts.map +0 -1
  106. package/dist/src/transform/transformAnnotationDetails.js.map +0 -1
  107. package/test/commands/cadl-ranch-list.ts +0 -119
  108. package/test/commands/check-clean-tree.ts +0 -55
  109. package/test/commands/childProcessOnExit.ts +0 -16
  110. package/test/commands/gen-cadl-ranch.ts +0 -21
  111. package/test/commands/run.ts +0 -31
  112. package/test/integration/arrayItemTypes.spec.ts +0 -96
  113. package/test/integration/authApiKey.spec.ts +0 -38
  114. package/test/integration/authOauth2.spec.ts +0 -65
  115. package/test/integration/authUnion.spec.ts +0 -72
  116. package/test/integration/azurecore.spec.ts +0 -130
  117. package/test/integration/collectionFormat.spec.ts +0 -74
  118. package/test/integration/dictionary.spec.ts +0 -106
  119. package/test/integration/extensibleEnums.spec.ts +0 -61
  120. package/test/integration/fixedEnums.spec.ts +0 -52
  121. package/test/integration/generated/arrays/itemTypes/src/arrayItemTypesClient.ts +0 -31
  122. package/test/integration/generated/arrays/itemTypes/src/clientDefinitions.ts +0 -165
  123. package/test/integration/generated/arrays/itemTypes/src/index.ts +0 -13
  124. package/test/integration/generated/arrays/itemTypes/src/models.ts +0 -9
  125. package/test/integration/generated/arrays/itemTypes/src/outputModels.ts +0 -9
  126. package/test/integration/generated/arrays/itemTypes/src/parameters.ts +0 -86
  127. package/test/integration/generated/arrays/itemTypes/src/responses.ts +0 -115
  128. package/test/integration/generated/arrays/itemTypes/tspconfig.yaml +0 -15
  129. package/test/integration/generated/authentication/apiKey/.eslintrc.json +0 -11
  130. package/test/integration/generated/authentication/apiKey/README.md +0 -56
  131. package/test/integration/generated/authentication/apiKey/api-extractor.json +0 -18
  132. package/test/integration/generated/authentication/apiKey/karma.conf.js +0 -133
  133. package/test/integration/generated/authentication/apiKey/package.json +0 -103
  134. package/test/integration/generated/authentication/apiKey/rollup.config.js +0 -118
  135. package/test/integration/generated/authentication/apiKey/src/authApiKeyClient.ts +0 -41
  136. package/test/integration/generated/authentication/apiKey/src/clientDefinitions.ts +0 -33
  137. package/test/integration/generated/authentication/apiKey/src/index.ts +0 -12
  138. package/test/integration/generated/authentication/apiKey/src/outputModels.ts +0 -6
  139. package/test/integration/generated/authentication/apiKey/src/parameters.ts +0 -7
  140. package/test/integration/generated/authentication/apiKey/src/responses.ts +0 -21
  141. package/test/integration/generated/authentication/apiKey/test/public/sampleTest.spec.ts +0 -23
  142. package/test/integration/generated/authentication/apiKey/test/public/utils/env.browser.ts +0 -2
  143. package/test/integration/generated/authentication/apiKey/test/public/utils/env.ts +0 -6
  144. package/test/integration/generated/authentication/apiKey/test/public/utils/recordedClient.ts +0 -29
  145. package/test/integration/generated/authentication/apiKey/tsconfig.json +0 -25
  146. package/test/integration/generated/authentication/apiKey/tspconfig.yaml +0 -13
  147. package/test/integration/generated/authentication/oauth2/karma.conf.js +0 -133
  148. package/test/integration/generated/authentication/oauth2/src/authOauth2Client.ts +0 -41
  149. package/test/integration/generated/authentication/oauth2/src/clientDefinitions.ts +0 -33
  150. package/test/integration/generated/authentication/oauth2/src/index.ts +0 -12
  151. package/test/integration/generated/authentication/oauth2/src/outputModels.ts +0 -6
  152. package/test/integration/generated/authentication/oauth2/src/parameters.ts +0 -7
  153. package/test/integration/generated/authentication/oauth2/src/responses.ts +0 -21
  154. package/test/integration/generated/authentication/oauth2/test/public/sampleTest.spec.ts +0 -23
  155. package/test/integration/generated/authentication/oauth2/test/public/utils/env.browser.ts +0 -2
  156. package/test/integration/generated/authentication/oauth2/test/public/utils/env.ts +0 -6
  157. package/test/integration/generated/authentication/oauth2/test/public/utils/recordedClient.ts +0 -29
  158. package/test/integration/generated/authentication/oauth2/tspconfig.yaml +0 -15
  159. package/test/integration/generated/authentication/union/karma.conf.js +0 -133
  160. package/test/integration/generated/authentication/union/src/authUnionClient.ts +0 -42
  161. package/test/integration/generated/authentication/union/src/clientDefinitions.ts +0 -27
  162. package/test/integration/generated/authentication/union/src/index.ts +0 -11
  163. package/test/integration/generated/authentication/union/src/parameters.ts +0 -7
  164. package/test/integration/generated/authentication/union/src/responses.ts +0 -14
  165. package/test/integration/generated/authentication/union/test/public/sampleTest.spec.ts +0 -23
  166. package/test/integration/generated/authentication/union/test/public/utils/env.browser.ts +0 -2
  167. package/test/integration/generated/authentication/union/test/public/utils/env.ts +0 -6
  168. package/test/integration/generated/authentication/union/test/public/utils/recordedClient.ts +0 -29
  169. package/test/integration/generated/authentication/union/tspconfig.yaml +0 -15
  170. package/test/integration/generated/azure/core/.eslintrc.json +0 -11
  171. package/test/integration/generated/azure/core/README.md +0 -56
  172. package/test/integration/generated/azure/core/api-extractor.json +0 -18
  173. package/test/integration/generated/azure/core/package.json +0 -81
  174. package/test/integration/generated/azure/core/rollup.config.js +0 -118
  175. package/test/integration/generated/azure/core/src/azureCoreClient.ts +0 -31
  176. package/test/integration/generated/azure/core/src/clientDefinitions.ts +0 -94
  177. package/test/integration/generated/azure/core/src/index.ts +0 -16
  178. package/test/integration/generated/azure/core/src/isUnexpected.ts +0 -167
  179. package/test/integration/generated/azure/core/src/models.ts +0 -18
  180. package/test/integration/generated/azure/core/src/outputModels.ts +0 -31
  181. package/test/integration/generated/azure/core/src/paginateHelper.ts +0 -154
  182. package/test/integration/generated/azure/core/src/parameters.ts +0 -67
  183. package/test/integration/generated/azure/core/src/responses.ts +0 -136
  184. package/test/integration/generated/azure/core/src/serializeHelper.ts +0 -16
  185. package/test/integration/generated/azure/core/tsconfig.json +0 -25
  186. package/test/integration/generated/azure/core/tspconfig.yaml +0 -15
  187. package/test/integration/generated/azure/core-traits/.eslintrc.json +0 -11
  188. package/test/integration/generated/azure/core-traits/README.md +0 -56
  189. package/test/integration/generated/azure/core-traits/api-extractor.json +0 -18
  190. package/test/integration/generated/azure/core-traits/package.json +0 -80
  191. package/test/integration/generated/azure/core-traits/rollup.config.js +0 -118
  192. package/test/integration/generated/azure/core-traits/src/azureCoreTraitsClient.ts +0 -31
  193. package/test/integration/generated/azure/core-traits/src/clientDefinitions.ts +0 -40
  194. package/test/integration/generated/azure/core-traits/src/index.ts +0 -13
  195. package/test/integration/generated/azure/core-traits/src/isUnexpected.ts +0 -110
  196. package/test/integration/generated/azure/core-traits/src/outputModels.ts +0 -10
  197. package/test/integration/generated/azure/core-traits/src/parameters.ts +0 -41
  198. package/test/integration/generated/azure/core-traits/src/responses.ts +0 -56
  199. package/test/integration/generated/azure/core-traits/tsconfig.json +0 -25
  200. package/test/integration/generated/azure/core-traits/tspconfig.yaml +0 -15
  201. package/test/integration/generated/dictionary/.eslintrc.json +0 -11
  202. package/test/integration/generated/dictionary/README.md +0 -56
  203. package/test/integration/generated/dictionary/api-extractor.json +0 -18
  204. package/test/integration/generated/dictionary/package.json +0 -80
  205. package/test/integration/generated/dictionary/rollup.config.js +0 -118
  206. package/test/integration/generated/dictionary/src/clientDefinitions.ts +0 -180
  207. package/test/integration/generated/dictionary/src/dictClient.ts +0 -29
  208. package/test/integration/generated/dictionary/src/index.ts +0 -13
  209. package/test/integration/generated/dictionary/src/models.ts +0 -9
  210. package/test/integration/generated/dictionary/src/outputModels.ts +0 -9
  211. package/test/integration/generated/dictionary/src/parameters.ts +0 -94
  212. package/test/integration/generated/dictionary/src/responses.ts +0 -126
  213. package/test/integration/generated/dictionary/tsconfig.json +0 -25
  214. package/test/integration/generated/dictionary/tspconfig.yaml +0 -15
  215. package/test/integration/generated/enums/extensible/.eslintrc.json +0 -11
  216. package/test/integration/generated/enums/extensible/README.md +0 -56
  217. package/test/integration/generated/enums/extensible/api-extractor.json +0 -18
  218. package/test/integration/generated/enums/extensible/package.json +0 -80
  219. package/test/integration/generated/enums/extensible/rollup.config.js +0 -118
  220. package/test/integration/generated/enums/extensible/src/clientDefinitions.ts +0 -45
  221. package/test/integration/generated/enums/extensible/src/enumsExtensible.ts +0 -31
  222. package/test/integration/generated/enums/extensible/src/index.ts +0 -11
  223. package/test/integration/generated/enums/extensible/src/parameters.ts +0 -23
  224. package/test/integration/generated/enums/extensible/src/responses.ts +0 -26
  225. package/test/integration/generated/enums/extensible/tsconfig.json +0 -25
  226. package/test/integration/generated/enums/extensible/tspconfig.yaml +0 -14
  227. package/test/integration/generated/enums/fixed/.eslintrc.json +0 -11
  228. package/test/integration/generated/enums/fixed/README.md +0 -56
  229. package/test/integration/generated/enums/fixed/api-extractor.json +0 -18
  230. package/test/integration/generated/enums/fixed/package.json +0 -80
  231. package/test/integration/generated/enums/fixed/rollup.config.js +0 -118
  232. package/test/integration/generated/enums/fixed/src/clientDefinitions.ts +0 -43
  233. package/test/integration/generated/enums/fixed/src/enumsFixed.ts +0 -31
  234. package/test/integration/generated/enums/fixed/src/index.ts +0 -11
  235. package/test/integration/generated/enums/fixed/src/parameters.ts +0 -36
  236. package/test/integration/generated/enums/fixed/src/responses.ts +0 -27
  237. package/test/integration/generated/enums/fixed/tsconfig.json +0 -25
  238. package/test/integration/generated/enums/fixed/tspconfig.yaml +0 -14
  239. package/test/integration/generated/hello/.eslintrc.json +0 -11
  240. package/test/integration/generated/hello/README.md +0 -56
  241. package/test/integration/generated/hello/api-extractor.json +0 -18
  242. package/test/integration/generated/hello/package.json +0 -80
  243. package/test/integration/generated/hello/rollup.config.js +0 -118
  244. package/test/integration/generated/hello/src/clientDefinitions.ts +0 -19
  245. package/test/integration/generated/hello/src/hello.ts +0 -29
  246. package/test/integration/generated/hello/src/index.ts +0 -11
  247. package/test/integration/generated/hello/src/parameters.ts +0 -6
  248. package/test/integration/generated/hello/src/responses.ts +0 -10
  249. package/test/integration/generated/hello/tsconfig.json +0 -25
  250. package/test/integration/generated/hello/tspconfig.yaml +0 -14
  251. package/test/integration/generated/internal/src/clientDefinitions.ts +0 -27
  252. package/test/integration/generated/internal/src/index.ts +0 -13
  253. package/test/integration/generated/internal/src/internalClient.ts +0 -31
  254. package/test/integration/generated/internal/src/models.ts +0 -8
  255. package/test/integration/generated/internal/src/outputModels.ts +0 -13
  256. package/test/integration/generated/internal/src/parameters.ts +0 -21
  257. package/test/integration/generated/internal/src/responses.ts +0 -20
  258. package/test/integration/generated/internal/tspconfig.yaml +0 -14
  259. package/test/integration/generated/lro/lroBasic/.eslintrc.json +0 -11
  260. package/test/integration/generated/lro/lroBasic/README.md +0 -56
  261. package/test/integration/generated/lro/lroBasic/api-extractor.json +0 -18
  262. package/test/integration/generated/lro/lroBasic/package.json +0 -82
  263. package/test/integration/generated/lro/lroBasic/rollup.config.js +0 -118
  264. package/test/integration/generated/lro/lroBasic/src/azureLro.ts +0 -31
  265. package/test/integration/generated/lro/lroBasic/src/clientDefinitions.ts +0 -37
  266. package/test/integration/generated/lro/lroBasic/src/index.ts +0 -13
  267. package/test/integration/generated/lro/lroBasic/src/outputModels.ts +0 -8
  268. package/test/integration/generated/lro/lroBasic/src/parameters.ts +0 -8
  269. package/test/integration/generated/lro/lroBasic/src/pollingHelper.ts +0 -75
  270. package/test/integration/generated/lro/lroBasic/src/responses.ts +0 -23
  271. package/test/integration/generated/lro/lroBasic/tsconfig.json +0 -25
  272. package/test/integration/generated/lro/lroBasic/tspconfig.yaml +0 -14
  273. package/test/integration/generated/lro/lroCore/.eslintrc.json +0 -11
  274. package/test/integration/generated/lro/lroCore/README.md +0 -56
  275. package/test/integration/generated/lro/lroCore/api-extractor.json +0 -18
  276. package/test/integration/generated/lro/lroCore/package.json +0 -82
  277. package/test/integration/generated/lro/lroCore/rollup.config.js +0 -118
  278. package/test/integration/generated/lro/lroCore/src/azureLroCore.ts +0 -31
  279. package/test/integration/generated/lro/lroCore/src/clientDefinitions.ts +0 -51
  280. package/test/integration/generated/lro/lroCore/src/index.ts +0 -15
  281. package/test/integration/generated/lro/lroCore/src/isUnexpected.ts +0 -128
  282. package/test/integration/generated/lro/lroCore/src/models.ts +0 -8
  283. package/test/integration/generated/lro/lroCore/src/outputModels.ts +0 -50
  284. package/test/integration/generated/lro/lroCore/src/parameters.ts +0 -25
  285. package/test/integration/generated/lro/lroCore/src/pollingHelper.ts +0 -75
  286. package/test/integration/generated/lro/lroCore/src/responses.ts +0 -91
  287. package/test/integration/generated/lro/lroCore/tsconfig.json +0 -25
  288. package/test/integration/generated/lro/lroCore/tspconfig.yaml +0 -14
  289. package/test/integration/generated/models/inheritance/.eslintrc.json +0 -11
  290. package/test/integration/generated/models/inheritance/README.md +0 -56
  291. package/test/integration/generated/models/inheritance/api-extractor.json +0 -18
  292. package/test/integration/generated/models/inheritance/package.json +0 -80
  293. package/test/integration/generated/models/inheritance/rollup.config.js +0 -118
  294. package/test/integration/generated/models/inheritance/src/clientDefinitions.ts +0 -79
  295. package/test/integration/generated/models/inheritance/src/index.ts +0 -13
  296. package/test/integration/generated/models/inheritance/src/models.ts +0 -52
  297. package/test/integration/generated/models/inheritance/src/modelsInheritance.ts +0 -31
  298. package/test/integration/generated/models/inheritance/src/outputModels.ts +0 -52
  299. package/test/integration/generated/models/inheritance/src/parameters.ts +0 -35
  300. package/test/integration/generated/models/inheritance/src/responses.ts +0 -56
  301. package/test/integration/generated/models/inheritance/tsconfig.json +0 -25
  302. package/test/integration/generated/models/inheritance/tspconfig.yaml +0 -14
  303. package/test/integration/generated/models/propertyNullable/.eslintrc.json +0 -11
  304. package/test/integration/generated/models/propertyNullable/README.md +0 -56
  305. package/test/integration/generated/models/propertyNullable/api-extractor.json +0 -18
  306. package/test/integration/generated/models/propertyNullable/package.json +0 -80
  307. package/test/integration/generated/models/propertyNullable/rollup.config.js +0 -118
  308. package/test/integration/generated/models/propertyNullable/src/clientDefinitions.ts +0 -227
  309. package/test/integration/generated/models/propertyNullable/src/index.ts +0 -13
  310. package/test/integration/generated/models/propertyNullable/src/models.ts +0 -56
  311. package/test/integration/generated/models/propertyNullable/src/modelsPropertyNullable.ts +0 -31
  312. package/test/integration/generated/models/propertyNullable/src/outputModels.ts +0 -56
  313. package/test/integration/generated/models/propertyNullable/src/parameters.ts +0 -195
  314. package/test/integration/generated/models/propertyNullable/src/responses.ts +0 -144
  315. package/test/integration/generated/models/propertyNullable/tsconfig.json +0 -25
  316. package/test/integration/generated/models/propertyNullable/tspconfig.yaml +0 -14
  317. package/test/integration/generated/models/propertyOptional/.eslintrc.json +0 -11
  318. package/test/integration/generated/models/propertyOptional/README.md +0 -56
  319. package/test/integration/generated/models/propertyOptional/api-extractor.json +0 -18
  320. package/test/integration/generated/models/propertyOptional/package.json +0 -80
  321. package/test/integration/generated/models/propertyOptional/rollup.config.js +0 -118
  322. package/test/integration/generated/models/propertyOptional/src/clientDefinitions.ts +0 -263
  323. package/test/integration/generated/models/propertyOptional/src/index.ts +0 -13
  324. package/test/integration/generated/models/propertyOptional/src/models.ts +0 -46
  325. package/test/integration/generated/models/propertyOptional/src/modelsPropertyOptional.ts +0 -31
  326. package/test/integration/generated/models/propertyOptional/src/outputModels.ts +0 -46
  327. package/test/integration/generated/models/propertyOptional/src/parameters.ts +0 -124
  328. package/test/integration/generated/models/propertyOptional/src/responses.ts +0 -169
  329. package/test/integration/generated/models/propertyOptional/tsconfig.json +0 -25
  330. package/test/integration/generated/models/propertyOptional/tspconfig.yaml +0 -14
  331. package/test/integration/generated/models/propertyTypes/.eslintrc.json +0 -11
  332. package/test/integration/generated/models/propertyTypes/README.md +0 -56
  333. package/test/integration/generated/models/propertyTypes/api-extractor.json +0 -18
  334. package/test/integration/generated/models/propertyTypes/package.json +0 -80
  335. package/test/integration/generated/models/propertyTypes/rollup.config.js +0 -118
  336. package/test/integration/generated/models/propertyTypes/src/clientDefinitions.ts +0 -234
  337. package/test/integration/generated/models/propertyTypes/src/index.ts +0 -13
  338. package/test/integration/generated/models/propertyTypes/src/models.ts +0 -99
  339. package/test/integration/generated/models/propertyTypes/src/modelsPropertyTypes.ts +0 -31
  340. package/test/integration/generated/models/propertyTypes/src/outputModels.ts +0 -99
  341. package/test/integration/generated/models/propertyTypes/src/parameters.ts +0 -147
  342. package/test/integration/generated/models/propertyTypes/src/responses.ts +0 -186
  343. package/test/integration/generated/models/propertyTypes/tsconfig.json +0 -25
  344. package/test/integration/generated/models/propertyTypes/tspconfig.yaml +0 -14
  345. package/test/integration/generated/models/usage/.eslintrc.json +0 -11
  346. package/test/integration/generated/models/usage/README.md +0 -56
  347. package/test/integration/generated/models/usage/api-extractor.json +0 -18
  348. package/test/integration/generated/models/usage/package.json +0 -80
  349. package/test/integration/generated/models/usage/rollup.config.js +0 -118
  350. package/test/integration/generated/models/usage/src/clientDefinitions.ts +0 -41
  351. package/test/integration/generated/models/usage/src/index.ts +0 -13
  352. package/test/integration/generated/models/usage/src/models.ts +0 -12
  353. package/test/integration/generated/models/usage/src/modelsUsage.ts +0 -31
  354. package/test/integration/generated/models/usage/src/outputModels.ts +0 -12
  355. package/test/integration/generated/models/usage/src/parameters.ts +0 -19
  356. package/test/integration/generated/models/usage/src/responses.ts +0 -22
  357. package/test/integration/generated/models/usage/tsconfig.json +0 -25
  358. package/test/integration/generated/models/usage/tspconfig.yaml +0 -14
  359. package/test/integration/generated/models/visibility/.eslintrc.json +0 -11
  360. package/test/integration/generated/models/visibility/README.md +0 -56
  361. package/test/integration/generated/models/visibility/api-extractor.json +0 -18
  362. package/test/integration/generated/models/visibility/package.json +0 -80
  363. package/test/integration/generated/models/visibility/rollup.config.js +0 -118
  364. package/test/integration/generated/models/visibility/src/clientDefinitions.ts +0 -40
  365. package/test/integration/generated/models/visibility/src/index.ts +0 -13
  366. package/test/integration/generated/models/visibility/src/models.ts +0 -14
  367. package/test/integration/generated/models/visibility/src/modelsVisibilityAutomatic.ts +0 -31
  368. package/test/integration/generated/models/visibility/src/outputModels.ts +0 -16
  369. package/test/integration/generated/models/visibility/src/parameters.ts +0 -41
  370. package/test/integration/generated/models/visibility/src/responses.ts +0 -36
  371. package/test/integration/generated/models/visibility/tsconfig.json +0 -25
  372. package/test/integration/generated/models/visibility/tspconfig.yaml +0 -14
  373. package/test/integration/generated/parameters/collection-format/src/clientDefinitions.ts +0 -39
  374. package/test/integration/generated/parameters/collection-format/src/collectionFormatClient.ts +0 -31
  375. package/test/integration/generated/parameters/collection-format/src/index.ts +0 -12
  376. package/test/integration/generated/parameters/collection-format/src/parameters.ts +0 -38
  377. package/test/integration/generated/parameters/collection-format/src/responses.ts +0 -19
  378. package/test/integration/generated/parameters/collection-format/src/serializeHelper.ts +0 -16
  379. package/test/integration/generated/parameters/collection-format/tspconfig.yaml +0 -14
  380. package/test/integration/generated/projection/src/clientDefinitions.ts +0 -45
  381. package/test/integration/generated/projection/src/index.ts +0 -12
  382. package/test/integration/generated/projection/src/models.ts +0 -11
  383. package/test/integration/generated/projection/src/parameters.ts +0 -26
  384. package/test/integration/generated/projection/src/projectionClient.ts +0 -31
  385. package/test/integration/generated/projection/src/responses.ts +0 -19
  386. package/test/integration/generated/projection/tspconfig.yaml +0 -14
  387. package/test/integration/generated/resiliency/devDriven/.eslintrc.json +0 -11
  388. package/test/integration/generated/resiliency/devDriven/README.md +0 -56
  389. package/test/integration/generated/resiliency/devDriven/api-extractor.json +0 -18
  390. package/test/integration/generated/resiliency/devDriven/package.json +0 -81
  391. package/test/integration/generated/resiliency/devDriven/rollup.config.js +0 -118
  392. package/test/integration/generated/resiliency/devDriven/src/clientDefinitions.ts +0 -75
  393. package/test/integration/generated/resiliency/devDriven/src/index.ts +0 -15
  394. package/test/integration/generated/resiliency/devDriven/src/isUnexpected.ts +0 -117
  395. package/test/integration/generated/resiliency/devDriven/src/models.ts +0 -8
  396. package/test/integration/generated/resiliency/devDriven/src/outputModels.ts +0 -25
  397. package/test/integration/generated/resiliency/devDriven/src/paginateHelper.ts +0 -154
  398. package/test/integration/generated/resiliency/devDriven/src/parameters.ts +0 -17
  399. package/test/integration/generated/resiliency/devDriven/src/resiliencyDevDriven.ts +0 -31
  400. package/test/integration/generated/resiliency/devDriven/src/responses.ts +0 -62
  401. package/test/integration/generated/resiliency/devDriven/tsconfig.json +0 -25
  402. package/test/integration/generated/resiliency/devDriven/tspconfig.yaml +0 -14
  403. package/test/integration/generated/resiliency/srvDriven1/.eslintrc.json +0 -11
  404. package/test/integration/generated/resiliency/srvDriven1/README.md +0 -56
  405. package/test/integration/generated/resiliency/srvDriven1/api-extractor.json +0 -18
  406. package/test/integration/generated/resiliency/srvDriven1/package.json +0 -80
  407. package/test/integration/generated/resiliency/srvDriven1/rollup.config.js +0 -118
  408. package/test/integration/generated/resiliency/srvDriven1/src/clientDefinitions.ts +0 -70
  409. package/test/integration/generated/resiliency/srvDriven1/src/index.ts +0 -13
  410. package/test/integration/generated/resiliency/srvDriven1/src/models.ts +0 -6
  411. package/test/integration/generated/resiliency/srvDriven1/src/outputModels.ts +0 -6
  412. package/test/integration/generated/resiliency/srvDriven1/src/parameters.ts +0 -51
  413. package/test/integration/generated/resiliency/srvDriven1/src/resiliencyServiceDriven1.ts +0 -31
  414. package/test/integration/generated/resiliency/srvDriven1/src/responses.ts +0 -34
  415. package/test/integration/generated/resiliency/srvDriven1/tsconfig.json +0 -25
  416. package/test/integration/generated/resiliency/srvDriven1/tspconfig.yaml +0 -14
  417. package/test/integration/generated/resiliency/srvDriven2/.eslintrc.json +0 -11
  418. package/test/integration/generated/resiliency/srvDriven2/README.md +0 -56
  419. package/test/integration/generated/resiliency/srvDriven2/api-extractor.json +0 -18
  420. package/test/integration/generated/resiliency/srvDriven2/package.json +0 -80
  421. package/test/integration/generated/resiliency/srvDriven2/rollup.config.js +0 -118
  422. package/test/integration/generated/resiliency/srvDriven2/src/clientDefinitions.ts +0 -93
  423. package/test/integration/generated/resiliency/srvDriven2/src/index.ts +0 -13
  424. package/test/integration/generated/resiliency/srvDriven2/src/models.ts +0 -6
  425. package/test/integration/generated/resiliency/srvDriven2/src/outputModels.ts +0 -6
  426. package/test/integration/generated/resiliency/srvDriven2/src/parameters.ts +0 -68
  427. package/test/integration/generated/resiliency/srvDriven2/src/resiliencyServiceDriven2.ts +0 -31
  428. package/test/integration/generated/resiliency/srvDriven2/src/responses.ts +0 -45
  429. package/test/integration/generated/resiliency/srvDriven2/tsconfig.json +0 -25
  430. package/test/integration/generated/resiliency/srvDriven2/tspconfig.yaml +0 -14
  431. package/test/integration/generated/server/path/multiple/src/clientDefinitions.ts +0 -35
  432. package/test/integration/generated/server/path/multiple/src/index.ts +0 -11
  433. package/test/integration/generated/server/path/multiple/src/multipleParamInServerPathClient.ts +0 -39
  434. package/test/integration/generated/server/path/multiple/src/parameters.ts +0 -7
  435. package/test/integration/generated/server/path/multiple/src/responses.ts +0 -14
  436. package/test/integration/generated/server/path/multiple/tspconfig.yaml +0 -14
  437. package/test/integration/generated/server/path/single/src/clientDefinitions.ts +0 -19
  438. package/test/integration/generated/server/path/single/src/index.ts +0 -11
  439. package/test/integration/generated/server/path/single/src/parameters.ts +0 -6
  440. package/test/integration/generated/server/path/single/src/responses.ts +0 -9
  441. package/test/integration/generated/server/path/single/src/singleParamInServerPathClient.ts +0 -34
  442. package/test/integration/generated/server/path/single/tspconfig.yaml +0 -14
  443. package/test/integration/generated/specialWords/src/clientDefinitions.ts +0 -61
  444. package/test/integration/generated/specialWords/src/index.ts +0 -13
  445. package/test/integration/generated/specialWords/src/models.ts +0 -17
  446. package/test/integration/generated/specialWords/src/outputModels.ts +0 -17
  447. package/test/integration/generated/specialWords/src/parameters.ts +0 -37
  448. package/test/integration/generated/specialWords/src/responses.ts +0 -31
  449. package/test/integration/generated/specialWords/src/specialWordsClient.ts +0 -31
  450. package/test/integration/generated/specialWords/tspconfig.yaml +0 -14
  451. package/test/integration/generated/unions/src/clientDefinitions.ts +0 -53
  452. package/test/integration/generated/unions/src/index.ts +0 -12
  453. package/test/integration/generated/unions/src/models.ts +0 -27
  454. package/test/integration/generated/unions/src/parameters.ts +0 -34
  455. package/test/integration/generated/unions/src/responses.ts +0 -24
  456. package/test/integration/generated/unions/src/unionsClient.ts +0 -31
  457. package/test/integration/generated/unions/tspconfig.yaml +0 -14
  458. package/test/integration/helloWorld.spec.ts +0 -20
  459. package/test/integration/internal.spec.ts +0 -43
  460. package/test/integration/lroBasic.spec.ts +0 -25
  461. package/test/integration/modelInheritance.spec.ts +0 -192
  462. package/test/integration/modelPropertyNullable.spec.ts +0 -115
  463. package/test/integration/modelPropertyOptional.spec.ts +0 -362
  464. package/test/integration/modelPropertyType.spec.ts +0 -119
  465. package/test/integration/modelUsage.spec.ts +0 -47
  466. package/test/integration/projection.spec.ts +0 -55
  467. package/test/integration/resiliencyDpgCustomization.spec.ts +0 -52
  468. package/test/integration/server.spec.ts +0 -59
  469. package/test/integration/specialWords.spec.ts +0 -73
  470. package/test/integration/unions.spec.ts +0 -69
  471. package/test/tsconfig.json +0 -4
  472. package/test/unit/apiVersion.spec.ts +0 -388
  473. package/test/unit/azureCoreOperationsGenerator.spec.ts +0 -71
  474. package/test/unit/clientDefinitionGenerator.spec.ts +0 -73
  475. package/test/unit/clientFactoryGenerator.spec.ts +0 -376
  476. package/test/unit/docsGenerator.spec.ts +0 -201
  477. package/test/unit/modelsGenerator.spec.ts +0 -1319
  478. package/test/unit/parametersGenerator.spec.ts +0 -561
  479. package/test/unit/responsesGenerator.spec.ts +0 -462
  480. package/test/unit/spreadAndAlias.spec.ts +0 -200
  481. package/test/unit/util/emitUtil.ts +0 -157
  482. package/test/unit/util/testUtil.ts +0 -83
  483. package/test/util/customBearerTokenTestingPolicy.ts +0 -78
  484. package/test/util/matrix.ts +0 -48
  485. package/tsconfig.json +0 -36
  486. package/tsconfig.test.json +0 -7
  487. package/typespec-ts.build.log +0 -2
package/CHANGELOG.md CHANGED
@@ -1,3 +1,10 @@
1
+ ## 0.13.0 (2023-05-15)
2
+
3
+ - [Feature] Support typespec compiler 0.44.0 and support @encode feature, Please refer to pr [#1829](https://github.com/Azure/autorest.typescript/pull/1829).
4
+ - [Feature] Support logger option, Please refer to pr [#1827](https://github.com/Azure/autorest.typescript/pull/1827).
5
+ - [Feature] Upgrade core-lro to v2.5.3, Please refer to pr [#1831](https://github.com/Azure/autorest.typescript/pull/1831).
6
+ - [Bugfix] Fix paging model issue. Please refer to pr [#1844](https://github.com/Azure/autorest.typescript/pull/1844).
7
+
1
8
  ## 0.12.0 (2023-04-20)
2
9
 
3
10
  - [Feature] Support typespec compiler 0.43.0, Please refer to pr [#1813](https://github.com/Azure/autorest.typescript/pull/1813).
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAW,WAAW,EAAE,MAAM,oBAAoB,CAAC;AA6C1D,wBAAsB,OAAO,CAAC,OAAO,EAAE,WAAW,iBAsFjD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAW,WAAW,EAAE,MAAM,oBAAoB,CAAC;AA8C1D,wBAAsB,OAAO,CAAC,OAAO,EAAE,WAAW,iBAuFjD"}
package/dist/src/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  // Copyright (c) Microsoft Corporation.
2
2
  // Licensed under the MIT License.
3
3
  import * as fsextra from "fs-extra";
4
- import { buildClientDefinitions, buildResponseTypes, buildParameterTypes, buildIsUnexpectedHelper, buildClient, buildIndexFile, buildTopLevelIndex, buildRollupConfig, buildTsConfig, buildApiExtractorConfig, buildPackageFile, buildPollingHelper, buildPaginateHelper, buildEsLintConfig, buildKarmaConfigFile, buildEnvFile, buildEnvBrowserFile, buildRecordedClientFile, buildSampleTest, buildReadmeFile, buildSerializeHelper } from "@azure-tools/rlc-common";
4
+ import { buildClientDefinitions, buildResponseTypes, buildParameterTypes, buildIsUnexpectedHelper, buildClient, buildIndexFile, buildTopLevelIndex, buildRollupConfig, buildTsConfig, buildApiExtractorConfig, buildPackageFile, buildPollingHelper, buildPaginateHelper, buildEsLintConfig, buildKarmaConfigFile, buildEnvFile, buildEnvBrowserFile, buildRecordedClientFile, buildSampleTest, buildReadmeFile, buildSerializeHelper, buildLogger } from "@azure-tools/rlc-common";
5
5
  import { transformRLCModel } from "./transform/transform.js";
6
6
  import { emitContentByBuilder, emitModels } from "./emitUtil.js";
7
7
  import { listClients, createSdkContext } from "@azure-tools/typespec-client-generator-core";
@@ -37,6 +37,7 @@ export async function $onEmit(context) {
37
37
  await emitContentByBuilder(program, buildParameterTypes, rlcModels);
38
38
  await emitContentByBuilder(program, buildIsUnexpectedHelper, rlcModels);
39
39
  await emitContentByBuilder(program, buildIndexFile, rlcModels);
40
+ await emitContentByBuilder(program, buildLogger, rlcModels);
40
41
  await emitContentByBuilder(program, buildTopLevelIndex, rlcModels);
41
42
  await emitContentByBuilder(program, buildPaginateHelper, rlcModels);
42
43
  await emitContentByBuilder(program, buildPollingHelper, rlcModels);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAGlC,OAAO,KAAK,OAAO,MAAM,UAAU,CAAC;AACpC,OAAO,EACL,sBAAsB,EACtB,kBAAkB,EAClB,mBAAmB,EACnB,uBAAuB,EACvB,WAAW,EACX,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,EACb,uBAAuB,EACvB,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,YAAY,EACZ,mBAAmB,EACnB,uBAAuB,EACvB,eAAe,EACf,eAAe,EACf,oBAAoB,EAErB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AACjE,OAAO,EACL,WAAW,EACX,gBAAgB,EACjB,MAAM,6CAA6C,CAAC;AACrD,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACnC,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC3E,8EAA8E;AAE9E,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,OAAoB;;IAChD,MAAM,OAAO,GAAY,OAAO,CAAC,OAAO,CAAC;IACzC,MAAM,OAAO,GAAe,OAAO,CAAC,OAAO,CAAC;IAC5C,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC7C,MAAM,OAAO,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;IACxC,MAAM,OAAO,GAAW,OAAO,CAAC,gBAAgB,CAAC;IACjD,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC;IACf,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;QAC5B,KAAK,EAAE,CAAC;QACR,MAAM,SAAS,GAAG,MAAM,iBAAiB,CACvC,OAAO,EACP,OAAO,EACP,MAAM,EACN,OAAO,CAAC,gBAAgB,EACxB,UAAU,CACX,CAAC;QACF,MAAM,WAAW,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC;QAC3E,cAAc,CAAC,WAAW,EAAE,KAAK,EAAE,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,OAAO,0CAAE,WAAW,CAAC,CAAC;QACpE,MAAM,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACrC,MAAM,oBAAoB,CAAC,OAAO,EAAE,sBAAsB,EAAE,SAAS,CAAC,CAAC;QACvE,MAAM,oBAAoB,CAAC,OAAO,EAAE,kBAAkB,EAAE,SAAS,CAAC,CAAC;QACnE,MAAM,oBAAoB,CAAC,OAAO,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;QAC5D,MAAM,oBAAoB,CAAC,OAAO,EAAE,mBAAmB,EAAE,SAAS,CAAC,CAAC;QACpE,MAAM,oBAAoB,CAAC,OAAO,EAAE,uBAAuB,EAAE,SAAS,CAAC,CAAC;QACxE,MAAM,oBAAoB,CAAC,OAAO,EAAE,cAAc,EAAE,SAAS,CAAC,CAAC;QAC/D,MAAM,oBAAoB,CAAC,OAAO,EAAE,kBAAkB,EAAE,SAAS,CAAC,CAAC;QACnE,MAAM,oBAAoB,CAAC,OAAO,EAAE,mBAAmB,EAAE,SAAS,CAAC,CAAC;QACpE,MAAM,oBAAoB,CAAC,OAAO,EAAE,kBAAkB,EAAE,SAAS,CAAC,CAAC;QACnE,uBAAuB;QACvB,MAAM,oBAAoB,CAAC,OAAO,EAAE,oBAAoB,EAAE,SAAS,CAAC,CAAC;QACrE,gCAAgC;QAChC,MAAM,oBAAoB,CACxB,OAAO,EACP;YACE,iBAAiB;YACjB,iBAAiB;YACjB,uBAAuB;YACvB,eAAe;YACf,gBAAgB;YAChB,aAAa;SACd,EACD,SAAS,EACT,OAAO,CAAC,gBAAgB,CACzB,CAAC;QACF,4BAA4B;QAC5B,MAAM,oBAAoB,CACxB,OAAO,EACP;YACE,oBAAoB;YACpB,YAAY;YACZ,mBAAmB;YACnB,uBAAuB;YACvB,eAAe;SAChB,EACD,SAAS,EACT,OAAO,CAAC,gBAAgB,CACzB,CAAC;KACH;IAED,IAAI,OAAO,CAAC,gBAAgB,EAAE;QAC5B,0CAA0C;QAC1C,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;QAC9B,MAAM,gBAAgB,GAAG,aAAa,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;QAErE,KAAK,MAAM,MAAM,IAAI,gBAAgB,CAAC,OAAO,EAAE;YAC7C,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACnC,kBAAkB,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YAC7C,WAAW,CAAC,gBAAgB,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YAChD,mBAAmB,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YAC9C,iBAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACpC,oBAAoB,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YAC/C,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YAEzC,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,gBAAgB,CAAC,CAAC;YAChD,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,gBAAgB,CAAC,CAAC;SAClD;QAED,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,cAAc,EAAE,EAAE;YAC3C,MAAM,oBAAoB,CACxB,OAAO,EACP,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC,EACjE,gBAAuB,CACxB,CAAC;YACF,6EAA6E;SAC9E;KACF;AACH,CAAC;AAED,SAAS,cAAc,CACrB,OAAe,EACf,KAAa,EACb,gBAAyB,KAAK;IAE9B,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IAC9B,IAAI,aAAa,IAAI,KAAK,KAAK,CAAC,EAAE;QAChC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAC1B,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAC5D,CAAC;QACF,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;KAClC;AACH,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,9 @@ import { Schema, SchemaContext } from "@azure-tools/rlc-common";
3
3
  import { HttpOperation } from "@typespec/http";
4
4
  import { SdkContext } from "@azure-tools/typespec-client-generator-core";
5
5
  export declare function getBinaryType(usage: SchemaContext[]): "Uint8Array" | "string | Uint8Array | ReadableStream<Uint8Array> | NodeJS.ReadableStream";
6
- export declare function getSchemaForType(program: Program, typeInput: Type, usage?: SchemaContext[], needRef?: boolean): any;
6
+ export declare function isByteOrByteUnion(program: Program, dpgContext: SdkContext, type: Type): boolean;
7
+ export declare function enrichBinaryTypeInBody(schema: any): any;
8
+ export declare function getSchemaForType(program: Program, dpgContext: SdkContext, typeInput: Type, usage?: SchemaContext[], needRef?: boolean, relevantProperty?: ModelProperty): any;
7
9
  export declare function getEffectiveModelFromType(program: Program, type: Type): Type;
8
10
  export declare function includeDerivedModel(model: Model): boolean;
9
11
  export declare function getTypeName(schema: Schema, usage?: SchemaContext[]): string;
@@ -1 +1 @@
1
- {"version":3,"file":"modelUtils.d.ts","sourceRoot":"","sources":["../../src/modelUtils.ts"],"names":[],"mappings":"AAGA,OAAO,EAwBL,KAAK,EACL,aAAa,EACb,IAAI,EAUJ,OAAO,EAEP,OAAO,EACR,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAKL,MAAM,EACN,aAAa,EACd,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAKL,aAAa,EACd,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,UAAU,EAGX,MAAM,6CAA6C,CAAC;AAErD,wBAAgB,aAAa,CAAC,KAAK,EAAE,aAAa,EAAE,6FAInD;AAED,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,IAAI,EACf,KAAK,CAAC,EAAE,aAAa,EAAE,EACvB,OAAO,CAAC,EAAE,OAAO,OAiDlB;AACD,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI,CAe5E;AACD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAQzD;AA0tBD,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,aAAa,EAAE,GAAG,MAAM,CAG3E;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAezE;AAmBD,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,aAAa,GAAG,IAAI,EAC9B,UAAU,EAAE,GAAG,EACf,QAAQ,GAAE,MAAe,sBAQ1B;AAED,wBAAgB,WAAW,CACzB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,aAAa,GACnB,IAAI,GAAG,SAAS,CAqClB;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,UAAU,EACtB,KAAK,CAAC,EAAE,aAAa,yCAkBtB;AAoBD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS,CAevE;AAED;;;;;;GAMG;AACH,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,UAAU,GACrB,MAAM,GAAG,SAAS,CAcpB;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,GAAG,OAanC"}
1
+ {"version":3,"file":"modelUtils.d.ts","sourceRoot":"","sources":["../../src/modelUtils.ts"],"names":[],"mappings":"AAGA,OAAO,EAwBL,KAAK,EACL,aAAa,EACb,IAAI,EAUJ,OAAO,EAEP,OAAO,EAGR,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAKL,MAAM,EACN,aAAa,EACd,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAKL,aAAa,EACd,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,UAAU,EAGX,MAAM,6CAA6C,CAAC;AAErD,wBAAgB,aAAa,CAAC,KAAK,EAAE,aAAa,EAAE,6FAInD;AAED,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,IAAI,WAIX;AA2BD,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,GAAG,OAkBjD;AAED,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,IAAI,EACf,KAAK,CAAC,EAAE,aAAa,EAAE,EACvB,OAAO,GAAE,OAAe,EACxB,gBAAgB,CAAC,EAAE,aAAa,OAiEjC;AACD,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI,CAe5E;AACD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAQzD;AAizBD,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,aAAa,EAAE,GAAG,MAAM,CAG3E;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAezE;AAmBD,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,aAAa,GAAG,IAAI,EAC9B,UAAU,EAAE,GAAG,EACf,QAAQ,GAAE,MAAe,sBAQ1B;AAED,wBAAgB,WAAW,CACzB,OAAO,EAAE,OAAO,EAEhB,KAAK,EAAE,aAAa,GACnB,IAAI,GAAG,SAAS,CAsClB;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,UAAU,EACtB,KAAK,CAAC,EAAE,aAAa,yCAkBtB;AAoBD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS,CAevE;AAED;;;;;;GAMG;AACH,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,UAAU,GACrB,MAAM,GAAG,SAAS,CAcpB;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,GAAG,OAanC"}
@@ -1,6 +1,6 @@
1
1
  // Copyright (c) Microsoft Corporation.
2
2
  // Licensed under the MIT License.
3
- import { getDiscriminator, getDoc, getEffectiveModelType, getFormat, getFriendlyName, getMaxLength, getMaxValue, getMinLength, getMinValue, getPattern, getProperty, getPropertyType, getSummary, getVisibility, isNeverType, isNumericType, isSecret, isStringType, isTemplateDeclaration, isUnknownType, isNullType, getProjectedName, NoTarget, listServices } from "@typespec/compiler";
3
+ import { getDiscriminator, getDoc, getEffectiveModelType, getFormat, getFriendlyName, getMaxLength, getMaxValue, getMinLength, getMinValue, getPattern, getProperty, getPropertyType, getSummary, getVisibility, isNeverType, isNumericType, isSecret, isStringType, isTemplateDeclaration, isUnknownType, isNullType, getProjectedName, NoTarget, listServices, getEncode } from "@typespec/compiler";
4
4
  import { reportDiagnostic } from "./lib.js";
5
5
  import { NameType, normalizeName, SchemaContext } from "@azure-tools/rlc-common";
6
6
  import { getResourceOperation } from "@typespec/rest";
@@ -13,9 +13,55 @@ export function getBinaryType(usage) {
13
13
  ? "Uint8Array"
14
14
  : "string | Uint8Array | ReadableStream<Uint8Array> | NodeJS.ReadableStream";
15
15
  }
16
- export function getSchemaForType(program, typeInput, usage, needRef) {
16
+ export function isByteOrByteUnion(program, dpgContext, type) {
17
+ const schema = getSchemaForType(program, dpgContext, type);
18
+ return isByteType(schema) || isByteUnion(schema);
19
+ }
20
+ function isByteType(schema) {
21
+ return schema.type === "string" && schema.format === "byte";
22
+ }
23
+ function isByteUnion(schema) {
24
+ if (!Array.isArray(schema.enum)) {
25
+ return false;
26
+ }
27
+ for (const ele of schema.enum) {
28
+ if (isByteType(ele)) {
29
+ return true;
30
+ }
31
+ }
32
+ return false;
33
+ }
34
+ function refineByteType(schema) {
35
+ schema.typeName = getBinaryType([
36
+ SchemaContext.Input,
37
+ SchemaContext.Exception
38
+ ]);
39
+ schema.outputTypeName = getBinaryType([SchemaContext.Output]);
40
+ return schema;
41
+ }
42
+ export function enrichBinaryTypeInBody(schema) {
43
+ if (isByteType(schema)) {
44
+ refineByteType(schema);
45
+ }
46
+ else if (isByteUnion(schema)) {
47
+ const inputType = [];
48
+ for (const item of schema.enum) {
49
+ if (isByteType(item)) {
50
+ refineByteType(item);
51
+ }
52
+ // ignore the string type for input because we already have it in bytes union
53
+ if (getTypeName(item, [SchemaContext.Input]) !== "string") {
54
+ inputType.push(getTypeName(item, [SchemaContext.Input]));
55
+ }
56
+ }
57
+ // refine the input type
58
+ schema.typeName = inputType.join(" | ");
59
+ }
60
+ return schema;
61
+ }
62
+ export function getSchemaForType(program, dpgContext, typeInput, usage, needRef = false, relevantProperty) {
17
63
  const type = getEffectiveModelFromType(program, typeInput);
18
- const builtinType = mapCadlTypeToTypeScript(program, type, usage);
64
+ const builtinType = mapCadlTypeToTypeScript(program, dpgContext, type, usage);
19
65
  if (builtinType !== undefined) {
20
66
  // add in description elements for types derived from primitive types (SecureString, etc.)
21
67
  const doc = getDoc(program, type);
@@ -25,25 +71,35 @@ export function getSchemaForType(program, typeInput, usage, needRef) {
25
71
  return builtinType;
26
72
  }
27
73
  if (type.kind === "Model") {
28
- const schema = getSchemaForModel(program, type, usage, needRef);
74
+ const schema = getSchemaForModel(program, dpgContext, type, usage, needRef);
29
75
  if (usage && usage.includes(SchemaContext.Output)) {
30
- schema.outputTypeName = `${schema.name}Output`;
31
- schema.typeName = `${schema.name}`;
76
+ if (!schema.name) {
77
+ //TODO: HANDLE ANONYMOUS
78
+ schema.outputTypeName =
79
+ schema.type === "object" ? "Record<string, any>" : "any";
80
+ schema.typeName =
81
+ schema.type === "object" ? "Record<string, unknown>" : "unknown";
82
+ schema.type = "unknown";
83
+ }
84
+ else {
85
+ schema.outputTypeName = `${schema.name}Output`;
86
+ schema.typeName = `${schema.name}`;
87
+ }
32
88
  }
33
89
  schema.usage = usage;
34
90
  return schema;
35
91
  }
36
92
  else if (type.kind === "Union") {
37
- return getSchemaForUnion(program, type, usage);
93
+ return getSchemaForUnion(program, dpgContext, type, usage);
38
94
  }
39
95
  else if (type.kind === "UnionVariant") {
40
- return getSchemaForUnionVariant(program, type, usage);
96
+ return getSchemaForUnionVariant(program, dpgContext, type, usage);
41
97
  }
42
98
  else if (type.kind === "Enum") {
43
99
  return getSchemaForEnum(program, type);
44
100
  }
45
101
  else if (type.kind === "Scalar") {
46
- return getSchemaForScalar(program, type);
102
+ return getSchemaForScalar(program, dpgContext, type, relevantProperty);
47
103
  }
48
104
  if (isUnknownType(type)) {
49
105
  const returnType = { type: "unknown" };
@@ -90,20 +146,20 @@ export function includeDerivedModel(model) {
90
146
  ((_a = model.templateMapper.args) === null || _a === void 0 ? void 0 : _a.length) === 0 ||
91
147
  model.derivedModels.length > 0));
92
148
  }
93
- function getSchemaForScalar(program, scalar) {
94
- let result = getSchemaForStdScalar(program, scalar);
149
+ function getSchemaForScalar(program, dpgContext, scalar, relevantProperty) {
150
+ let result = getSchemaForStdScalar(program, scalar, relevantProperty);
95
151
  if (!result && scalar.baseScalar) {
96
- result = getSchemaForScalar(program, scalar.baseScalar);
152
+ result = getSchemaForScalar(program, dpgContext, scalar.baseScalar);
97
153
  }
98
154
  return applyIntrinsicDecorators(program, scalar, result);
99
155
  }
100
- function getSchemaForUnion(program, union, usage) {
156
+ function getSchemaForUnion(program, dpgContext, union, usage) {
101
157
  var _a;
102
158
  const variants = Array.from(union.variants.values());
103
159
  const values = [];
104
160
  for (const variant of variants) {
105
161
  // We already know it's not a model type
106
- values.push(getSchemaForType(program, variant.type, usage));
162
+ values.push(getSchemaForType(program, dpgContext, variant.type, usage));
107
163
  }
108
164
  const schema = {};
109
165
  if (values.length > 0) {
@@ -132,8 +188,8 @@ function getSchemaForUnion(program, union, usage) {
132
188
  }
133
189
  return schema;
134
190
  }
135
- function getSchemaForUnionVariant(program, variant, usage) {
136
- return getSchemaForType(program, variant, usage);
191
+ function getSchemaForUnionVariant(program, dpgContext, variant, usage) {
192
+ return getSchemaForType(program, dpgContext, variant, usage);
137
193
  }
138
194
  // An openapi "string" can be defined in several different ways in Cadl
139
195
  function isOasString(type) {
@@ -247,26 +303,8 @@ function isSchemaProperty(program, property) {
247
303
  const statusCodeinfo = isStatusCode(program, property);
248
304
  return !(headerInfo || queryInfo || pathInfo || statusCodeinfo);
249
305
  }
250
- // function getDefaultValue(program: Program, type: Type): any {
251
- // switch (type.kind) {
252
- // case "String":
253
- // return type.value;
254
- // case "Number":
255
- // return type.value;
256
- // case "Boolean":
257
- // return type.value;
258
- // case "Tuple":
259
- // return type.values.map(item => getDefaultValue(program, item));
260
- // default:
261
- // reportDiagnostic(program, {
262
- // code: "invalid-default",
263
- // format: { type: type.kind },
264
- // target: type,
265
- // });
266
- // }
267
- // }
268
- function getSchemaForModel(program, model, usage, needRef) {
269
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
306
+ function getSchemaForModel(program, dpgContext, model, usage, needRef) {
307
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
270
308
  const overridedModelName = (_b = (_a = getProjectedName(program, model, "javascript")) !== null && _a !== void 0 ? _a : getProjectedName(program, model, "client")) !== null && _b !== void 0 ? _b : getFriendlyName(program, model);
271
309
  let name = model.name;
272
310
  if (!overridedModelName &&
@@ -318,8 +356,11 @@ function getSchemaForModel(program, model, usage, needRef) {
318
356
  return "";
319
357
  }
320
358
  }).join("");
321
- modelSchema.alias = `Paged<${templateName}>`;
322
- modelSchema.outputAlias = `Paged<${templateName}Output>`;
359
+ if (paged.itemsProperty.name === "value" &&
360
+ ((_g = paged.nextLinkProperty) === null || _g === void 0 ? void 0 : _g.name) === "nextLink") {
361
+ modelSchema.alias = `Paged<${templateName}>`;
362
+ modelSchema.outputAlias = `Paged<${templateName}Output>`;
363
+ }
323
364
  }
324
365
  }
325
366
  }
@@ -334,21 +375,21 @@ function getSchemaForModel(program, model, usage, needRef) {
334
375
  };
335
376
  }
336
377
  for (const child of derivedModels) {
337
- const childSchema = getSchemaForType(program, child, usage, true);
378
+ const childSchema = getSchemaForType(program, dpgContext, child, usage, true);
338
379
  for (const [name, prop] of child.properties) {
339
380
  if (name === (discriminator === null || discriminator === void 0 ? void 0 : discriminator.propertyName)) {
340
- const propSchema = getSchemaForType(program, prop.type, usage, true);
381
+ const propSchema = getSchemaForType(program, dpgContext, prop.type, usage, true, prop);
341
382
  childSchema.discriminatorValue = propSchema.type.replace(/"/g, "");
342
383
  break;
343
384
  }
344
385
  }
345
- (_h = (_g = modelSchema.children) === null || _g === void 0 ? void 0 : _g.all) === null || _h === void 0 ? void 0 : _h.push(childSchema);
346
- (_k = (_j = modelSchema.children) === null || _j === void 0 ? void 0 : _j.immediate) === null || _k === void 0 ? void 0 : _k.push(childSchema);
386
+ (_j = (_h = modelSchema.children) === null || _h === void 0 ? void 0 : _h.all) === null || _j === void 0 ? void 0 : _j.push(childSchema);
387
+ (_l = (_k = modelSchema.children) === null || _k === void 0 ? void 0 : _k.immediate) === null || _l === void 0 ? void 0 : _l.push(childSchema);
347
388
  }
348
389
  // Enable option `isPolyParent` and discriminator only when it has valid children
349
390
  if (discriminator &&
350
- ((_m = (_l = modelSchema === null || modelSchema === void 0 ? void 0 : modelSchema.children) === null || _l === void 0 ? void 0 : _l.all) === null || _m === void 0 ? void 0 : _m.length) &&
351
- ((_p = (_o = modelSchema === null || modelSchema === void 0 ? void 0 : modelSchema.children) === null || _o === void 0 ? void 0 : _o.all) === null || _p === void 0 ? void 0 : _p.length) > 0) {
391
+ ((_o = (_m = modelSchema === null || modelSchema === void 0 ? void 0 : modelSchema.children) === null || _m === void 0 ? void 0 : _m.all) === null || _o === void 0 ? void 0 : _o.length) &&
392
+ ((_q = (_p = modelSchema === null || modelSchema === void 0 ? void 0 : modelSchema.children) === null || _p === void 0 ? void 0 : _p.all) === null || _q === void 0 ? void 0 : _q.length) > 0) {
352
393
  if (!validateDiscriminator(program, discriminator, derivedModels)) {
353
394
  // appropriate diagnostic is generated in the validate function
354
395
  return {};
@@ -372,7 +413,7 @@ function getSchemaForModel(program, model, usage, needRef) {
372
413
  if (!isSchemaProperty(program, prop)) {
373
414
  continue;
374
415
  }
375
- const propSchema = getSchemaForType(program, prop.type, usage, true);
416
+ const propSchema = getSchemaForType(program, dpgContext, prop.type, usage, true, prop);
376
417
  if (propSchema === undefined) {
377
418
  continue;
378
419
  }
@@ -398,9 +439,6 @@ function getSchemaForModel(program, model, usage, needRef) {
398
439
  }
399
440
  // Use the description from ModelProperty not devired from Model Type
400
441
  newPropSchema.description = propertyDescription;
401
- if (prop.default) {
402
- // modelSchema.properties[name]['default'] = getDefaultValue(program, prop.default);
403
- }
404
442
  // Should the property be marked as readOnly?
405
443
  const vis = getVisibility(program, prop);
406
444
  if (vis && vis.includes("read")) {
@@ -435,7 +473,7 @@ function getSchemaForModel(program, model, usage, needRef) {
435
473
  Object.keys(modelSchema.properties).length === 0) {
436
474
  // Take the base model schema but carry across the documentation property
437
475
  // that we set before
438
- const baseSchema = getSchemaForType(program, model.baseModel, usage);
476
+ const baseSchema = getSchemaForType(program, dpgContext, model.baseModel, usage);
439
477
  modelSchema = {
440
478
  ...baseSchema,
441
479
  description: modelSchema.description
@@ -443,15 +481,19 @@ function getSchemaForModel(program, model, usage, needRef) {
443
481
  }
444
482
  else if (model.baseModel) {
445
483
  modelSchema.parents = {
446
- all: [getSchemaForType(program, model.baseModel, usage, true)],
447
- immediate: [getSchemaForType(program, model.baseModel, usage, true)]
484
+ all: [
485
+ getSchemaForType(program, dpgContext, model.baseModel, usage, true)
486
+ ],
487
+ immediate: [
488
+ getSchemaForType(program, dpgContext, model.baseModel, usage, true)
489
+ ]
448
490
  };
449
491
  }
450
492
  return modelSchema;
451
493
  }
452
494
  // Map an Cadl type to an OA schema. Returns undefined when the resulting
453
495
  // OA schema is just a regular object schema.
454
- function mapCadlTypeToTypeScript(program, cadlType, usage) {
496
+ function mapCadlTypeToTypeScript(program, dpgContext, cadlType, usage) {
455
497
  switch (cadlType.kind) {
456
498
  case "Number":
457
499
  return { type: `${cadlType.value}` };
@@ -460,7 +502,7 @@ function mapCadlTypeToTypeScript(program, cadlType, usage) {
460
502
  case "Boolean":
461
503
  return { type: `${cadlType.value}` };
462
504
  case "Model":
463
- return mapCadlStdTypeToTypeScript(program, cadlType, usage);
505
+ return mapCadlStdTypeToTypeScript(program, dpgContext, cadlType, usage);
464
506
  }
465
507
  if (cadlType.kind === undefined) {
466
508
  if (typeof cadlType === "string") {
@@ -551,7 +593,7 @@ function getSchemaForEnum(program, e) {
551
593
  /**
552
594
  * Map Cadl intrinsic models to open api definitions
553
595
  */
554
- function mapCadlStdTypeToTypeScript(program, cadlType, usage) {
596
+ function mapCadlStdTypeToTypeScript(program, dpgContext, cadlType, usage) {
555
597
  var _a;
556
598
  const indexer = cadlType.indexer;
557
599
  if (indexer !== undefined) {
@@ -559,7 +601,7 @@ function mapCadlStdTypeToTypeScript(program, cadlType, usage) {
559
601
  const name = indexer.key.name;
560
602
  let schema = {};
561
603
  if (name === "string") {
562
- const valueType = getSchemaForType(program, indexer.value, usage, true);
604
+ const valueType = getSchemaForType(program, dpgContext, indexer.value, usage, true);
563
605
  schema = {
564
606
  type: "dictionary",
565
607
  additionalProperties: valueType,
@@ -588,7 +630,7 @@ function mapCadlStdTypeToTypeScript(program, cadlType, usage) {
588
630
  else if (name === "integer") {
589
631
  schema = {
590
632
  type: "array",
591
- items: getSchemaForType(program, indexer.value, usage, true),
633
+ items: getSchemaForType(program, dpgContext, indexer.value, usage, true),
592
634
  description: getDoc(program, cadlType)
593
635
  };
594
636
  if (!program.checker.isStdType(indexer.value) &&
@@ -603,21 +645,26 @@ function mapCadlStdTypeToTypeScript(program, cadlType, usage) {
603
645
  }
604
646
  else {
605
647
  if (schema.items.typeName) {
606
- schema.typeName = schema.items.typeName
607
- .split("|")
608
- .map((typeName) => {
609
- return `${typeName}[]`;
610
- })
611
- .join(" | ");
612
- if (schema.items.outputTypeName &&
613
- usage &&
614
- usage.includes(SchemaContext.Output)) {
615
- schema.outputTypeName = schema.items.outputTypeName
648
+ if (schema.items.type === "dictionary") {
649
+ schema.typeName = `${schema.items.typeName}[]`;
650
+ }
651
+ else {
652
+ schema.typeName = schema.items.typeName
616
653
  .split("|")
617
654
  .map((typeName) => {
618
655
  return `${typeName}[]`;
619
656
  })
620
657
  .join(" | ");
658
+ if (schema.items.outputTypeName &&
659
+ usage &&
660
+ usage.includes(SchemaContext.Output)) {
661
+ schema.outputTypeName = schema.items.outputTypeName
662
+ .split("|")
663
+ .map((typeName) => {
664
+ return `${typeName}[]`;
665
+ })
666
+ .join(" | ");
667
+ }
621
668
  }
622
669
  }
623
670
  else if (schema.items.type.includes("|")) {
@@ -636,10 +683,21 @@ function mapCadlStdTypeToTypeScript(program, cadlType, usage) {
636
683
  function isUnionType(type) {
637
684
  return type.kind === "Union";
638
685
  }
639
- function getSchemaForStdScalar(program, cadlType) {
686
+ function getSchemaForStdScalar(program, cadlType, relevantProperty) {
640
687
  if (!program.checker.isStdType(cadlType)) {
641
688
  return undefined;
642
689
  }
690
+ /**
691
+ * lookup for @encode decorator
692
+ * if absent use typespec type (or default way of serializing that type)
693
+ * if present respect type provided in @encode
694
+ */
695
+ if (relevantProperty) {
696
+ const encodeData = getEncode(program, relevantProperty);
697
+ if (encodeData && isEncodeTypeEffective(cadlType, encodeData)) {
698
+ cadlType = encodeData.type;
699
+ }
700
+ }
643
701
  const name = cadlType.name;
644
702
  const description = getSummary(program, cadlType);
645
703
  switch (name) {
@@ -705,7 +763,9 @@ function getSchemaForStdScalar(program, cadlType) {
705
763
  format: "float"
706
764
  });
707
765
  case "string":
708
- return applyIntrinsicDecorators(program, cadlType, { type: "string" });
766
+ return applyIntrinsicDecorators(program, cadlType, {
767
+ type: "string"
768
+ });
709
769
  case "boolean":
710
770
  return { type: "boolean", description };
711
771
  case "plainDate":
@@ -724,6 +784,14 @@ function getSchemaForStdScalar(program, cadlType) {
724
784
  typeName: "Date | string",
725
785
  outputTypeName: "string"
726
786
  };
787
+ case "offsetDateTime":
788
+ return {
789
+ type: "string",
790
+ format: "date-time",
791
+ description,
792
+ typeName: "Date | string",
793
+ outputTypeName: "string"
794
+ };
727
795
  case "plainTime":
728
796
  return {
729
797
  type: "string",
@@ -736,6 +804,22 @@ function getSchemaForStdScalar(program, cadlType) {
736
804
  return { type: "string", format: "duration", description };
737
805
  }
738
806
  }
807
+ function isEncodeTypeEffective(type, encodeData) {
808
+ if (!encodeData) {
809
+ return false;
810
+ }
811
+ const datetimeTypes = [
812
+ "plaindate",
813
+ "utcdatetime",
814
+ "offsetdatetime",
815
+ "plaintime"
816
+ ];
817
+ if (datetimeTypes.includes(type.name.toLowerCase()) &&
818
+ encodeData.type.name === "string") {
819
+ return false;
820
+ }
821
+ return true;
822
+ }
739
823
  export function getTypeName(schema, usage) {
740
824
  var _a, _b;
741
825
  // TODO: Handle more cases
@@ -1 +1 @@
1
- {"version":3,"file":"modelUtils.js","sourceRoot":"","sources":["../../src/modelUtils.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAIL,gBAAgB,EAChB,MAAM,EACN,qBAAqB,EACrB,SAAS,EACT,eAAe,EACf,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,WAAW,EACX,UAAU,EACV,WAAW,EACX,eAAe,EACf,UAAU,EACV,aAAa,EACb,WAAW,EACX,aAAa,EACb,QAAQ,EACR,YAAY,EACZ,qBAAqB,EACrB,aAAa,EAKb,UAAU,EAGV,gBAAgB,EAGhB,QAAQ,EAGR,YAAY,EAEb,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAEL,QAAQ,EACR,aAAa,EAGb,aAAa,EACd,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,EAEb,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AAC3E,OAAO,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAEL,oBAAoB,EACpB,YAAY,EACb,MAAM,6CAA6C,CAAC;AAErD,MAAM,UAAU,aAAa,CAAC,KAAsB;IAClD,OAAO,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC;QACzC,CAAC,CAAC,YAAY;QACd,CAAC,CAAC,0EAA0E,CAAC;AACjF,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,OAAgB,EAChB,SAAe,EACf,KAAuB,EACvB,OAAiB;IAEjB,MAAM,IAAI,GAAG,yBAAyB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAC3D,MAAM,WAAW,GAAG,uBAAuB,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IAClE,IAAI,WAAW,KAAK,SAAS,EAAE;QAC7B,0FAA0F;QAC1F,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAClC,IAAI,GAAG,EAAE;YACP,WAAW,CAAC,WAAW,GAAG,GAAG,CAAC;SAC/B;QACD,OAAO,WAAW,CAAC;KACpB;IACD,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE;QACzB,MAAM,MAAM,GAAG,iBAAiB,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,CAAQ,CAAC;QACvE,IAAI,KAAK,IAAI,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE;YACjD,MAAM,CAAC,cAAc,GAAG,GAAG,MAAM,CAAC,IAAI,QAAQ,CAAC;YAC/C,MAAM,CAAC,QAAQ,GAAG,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;SACpC;QACD,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;QACrB,OAAO,MAAM,CAAC;KACf;SAAM,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE;QAChC,OAAO,iBAAiB,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;KAChD;SAAM,IAAI,IAAI,CAAC,IAAI,KAAK,cAAc,EAAE;QACvC,OAAO,wBAAwB,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;KACvD;SAAM,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE;QAC/B,OAAO,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;KACxC;SAAM,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE;QACjC,OAAO,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;KAC1C;IACD,IAAI,aAAa,CAAC,IAAI,CAAC,EAAE;QACvB,MAAM,UAAU,GAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC5C,IAAI,KAAK,IAAI,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE;YACjD,UAAU,CAAC,cAAc,GAAG,KAAK,CAAC;YAClC,UAAU,CAAC,QAAQ,GAAG,SAAS,CAAC;SACjC;QACD,OAAO,UAAU,CAAC;KACnB;IACD,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE;QACrB,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;KAC1B;IACD,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE;QACpB,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;KACzB;IACD,gBAAgB,CAAC,OAAO,EAAE;QACxB,IAAI,EAAE,gBAAgB;QACtB,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;QAC3B,MAAM,EAAE,IAAI;KACb,CAAC,CAAC;IACH,OAAO,SAAS,CAAC;AACnB,CAAC;AACD,MAAM,UAAU,yBAAyB,CAAC,OAAgB,EAAE,IAAU;IACpE,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE;QACzB,MAAM,SAAS,GAAG,qBAAqB,CAAC,OAAO,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAC;QACzE,IAAI,SAAS,CAAC,IAAI,EAAE;YAClB,OAAO,SAAS,CAAC;SAClB;KACF;IACD,SAAS,gBAAgB,CAAC,QAAuB;QAC/C,MAAM,UAAU,GAAG,kBAAkB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACzD,MAAM,SAAS,GAAG,iBAAiB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACvD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACrD,MAAM,cAAc,GAAG,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACvD,OAAO,CAAC,CAAC,UAAU,IAAI,SAAS,IAAI,QAAQ,IAAI,cAAc,CAAC,CAAC;IAClE,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AACD,MAAM,UAAU,mBAAmB,CAAC,KAAY;;IAC9C,OAAO,CACL,CAAC,qBAAqB,CAAC,KAAK,CAAC;QAC7B,CAAC,CAAC,KAAK,CAAC,cAAc;YACpB,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI;YAC1B,CAAA,MAAA,KAAK,CAAC,cAAc,CAAC,IAAI,0CAAE,MAAM,MAAK,CAAC;YACvC,KAAK,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAClC,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,OAAgB,EAAE,MAAc;IAC1D,IAAI,MAAM,GAAG,qBAAqB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACpD,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,UAAU,EAAE;QAChC,MAAM,GAAG,kBAAkB,CAAC,OAAO,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;KACzD;IACD,OAAO,wBAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAC3D,CAAC;AAED,SAAS,iBAAiB,CACxB,OAAgB,EAChB,KAAY,EACZ,KAAuB;;IAEvB,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IACrD,MAAM,MAAM,GAAG,EAAE,CAAC;IAElB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;QAC9B,wCAAwC;QACxC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;KAC7D;IAED,MAAM,MAAM,GAAQ,EAAE,CAAC;IACvB,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;QACrB,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC;QACrB,MAAM,UAAU,GAAG,MAAM;aACtB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,WAAC,OAAA,GAAG,MAAA,WAAW,CAAC,IAAI,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,mCAAI,IAAI,EAAE,CAAA,EAAA,CAAC;aACpE,IAAI,CAAC,KAAK,CAAC,CAAC;QACf,MAAM,gBAAgB,GAAG,MAAM;aAC5B,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,WAAC,OAAA,GAAG,MAAA,WAAW,CAAC,IAAI,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,mCAAI,IAAI,EAAE,CAAA,EAAA,CAAC;aACrE,IAAI,CAAC,KAAK,CAAC,CAAC;QACf,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE;YACrB,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;YACzB,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;YACvB,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC;YAC7B,MAAM,CAAC,cAAc,GAAG,KAAK,CAAC,IAAI,GAAG,QAAQ,CAAC;YAC9C,MAAM,CAAC,KAAK,GAAG,UAAU,CAAC;YAC1B,MAAM,CAAC,WAAW,GAAG,gBAAgB,CAAC;SACvC;aAAM,IAAI,KAAK,CAAC,UAAU,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;YAC1C,MAAM,CAAC,IAAI,GAAG,UAAU,CAAC;YACzB,MAAM,CAAC,cAAc,GAAG,gBAAgB,CAAC;SAC1C;aAAM;YACL,MAAM,CAAC,IAAI,GAAG,MAAA,KAAK,CAAC,IAAI,mCAAI,UAAU,CAAC;SACxC;KACF;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,wBAAwB,CAC/B,OAAgB,EAChB,OAAqB,EACrB,KAAuB;IAEvB,OAAO,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;AACnD,CAAC;AAED,uEAAuE;AACvE,SAAS,WAAW,CAAC,IAAU;IAC7B,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE;QAC1B,mBAAmB;QACnB,OAAO,IAAI,CAAC;KACb;SAAM,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE;QAC1D,cAAc;QACd,OAAO,IAAI,CAAC;KACb;SAAM,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE;QAChC,8CAA8C;QAC9C,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;KAClD;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,eAAe,CAAC,IAAU;IACjC,OAAO,CACL,IAAI,CAAC,IAAI,KAAK,QAAQ;QACtB,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAC1E,CAAC;AACJ,CAAC;AAED,4CAA4C;AAC5C,SAAS,eAAe,CAAC,IAAU;IACjC,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE;QAC1B,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACrB;SAAM,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE;QAChC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;KAC/D;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AACD,SAAS,qBAAqB,CAC5B,OAAgB,EAChB,aAA4B,EAC5B,aAA+B;;IAE/B,MAAM,EAAE,YAAY,EAAE,GAAG,aAAa,CAAC;IACvC,MAAM,OAAO,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACtC,MAAM,IAAI,GAAG,WAAW,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;QAC1C,IAAI,CAAC,IAAI,EAAE;YACT,gBAAgB,CAAC,OAAO,EAAE;gBACxB,IAAI,EAAE,eAAe;gBACrB,SAAS,EAAE,SAAS;gBACpB,MAAM,EAAE,CAAC;aACV,CAAC,CAAC;YACH,OAAO,KAAK,CAAC;SACd;QACD,IAAI,MAAM,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YAC3B,gBAAgB,CAAC,OAAO,EAAE;gBACxB,IAAI,EAAE,eAAe;gBACrB,SAAS,EAAE,MAAM;gBACjB,MAAM,EAAE,IAAI;aACb,CAAC,CAAC;YACH,MAAM,GAAG,KAAK,CAAC;SAChB;QACD,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,gBAAgB,CAAC,OAAO,EAAE;gBACxB,IAAI,EAAE,eAAe;gBACrB,SAAS,EAAE,UAAU;gBACrB,MAAM,EAAE,IAAI;aACb,CAAC,CAAC;YACH,MAAM,GAAG,KAAK,CAAC;SAChB;QACD,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC,CAAC;IACH,kEAAkE;IAClE,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAkB,CAAC;IACtD,KAAK,MAAM,CAAC,IAAI,aAAa,EAAE;QAC7B,6DAA6D;QAC7D,MAAM,IAAI,GAAG,MAAA,CAAC,CAAC,UAAU,0CAAE,GAAG,CAAC,YAAY,CAAC,CAAC;QAC7C,wFAAwF;QACxF,IAAI,CAAC,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YACxC,gBAAgB,CAAC,OAAO,EAAE;gBACxB,IAAI,EAAE,qBAAqB;gBAC3B,SAAS,EAAE,SAAS;gBACpB,MAAM,EAAE,IAAI,IAAI,CAAC;aAClB,CAAC,CAAC;SACJ;QACD,IAAI,IAAI,EAAE;YACR,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;gBACnB,IAAI,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;oBAChC,gBAAgB,CAAC,OAAO,EAAE;wBACxB,IAAI,EAAE,eAAe;wBACrB,SAAS,EAAE,WAAW;wBACtB,MAAM,EAAE;4BACN,GAAG,EAAE,GAAG;4BACR,MAAM,EAAE,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAE;4BACrC,MAAM,EAAE,CAAC,CAAC,IAAI;yBACf;wBACD,MAAM,EAAE,IAAI;qBACb,CAAC,CAAC;oBACH,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;iBACrB;qBAAM;oBACL,mBAAmB,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;iBACtC;YACH,CAAC,CAAC,CAAC;SACJ;KACF;IACD,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;AACjC,CAAC;AACD;;;;;GAKG;AACH,SAAS,gBAAgB,CAAC,OAAgB,EAAE,QAAuB;IACjE,MAAM,UAAU,GAAG,kBAAkB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IACzD,MAAM,SAAS,GAAG,iBAAiB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IACvD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IACrD,MAAM,cAAc,GAAG,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IACvD,OAAO,CAAC,CAAC,UAAU,IAAI,SAAS,IAAI,QAAQ,IAAI,cAAc,CAAC,CAAC;AAClE,CAAC;AACD,gEAAgE;AAChE,yBAAyB;AACzB,qBAAqB;AACrB,2BAA2B;AAC3B,qBAAqB;AACrB,2BAA2B;AAC3B,sBAAsB;AACtB,2BAA2B;AAC3B,oBAAoB;AACpB,wEAAwE;AACxE,eAAe;AACf,oCAAoC;AACpC,mCAAmC;AACnC,uCAAuC;AACvC,wBAAwB;AACxB,YAAY;AACZ,MAAM;AACN,IAAI;AACJ,SAAS,iBAAiB,CACxB,OAAgB,EAChB,KAAY,EACZ,KAAuB,EACvB,OAAiB;;IAEjB,MAAM,kBAAkB,GACtB,MAAA,MAAA,gBAAgB,CAAC,OAAO,EAAE,KAAK,EAAE,YAAY,CAAC,mCAC9C,gBAAgB,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,mCAC1C,eAAe,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAClC,IAAI,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IACtB,IACE,CAAC,kBAAkB;QACnB,KAAK,CAAC,cAAc;QACpB,KAAK,CAAC,cAAc,CAAC,IAAI;QACzB,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC;QACpC,cAAc,CAAC,OAAO,EAAE,KAAK,CAAC,EAC9B;QACA,IAAI;YACF,KAAK,CAAC,cAAc,CAAC,IAAI;iBACtB,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;gBACV,QAAQ,EAAE,CAAC,IAAI,EAAE;oBACf,KAAK,OAAO;wBACV,OAAO,EAAE,CAAC,IAAI,CAAC;oBACjB,KAAK,QAAQ;wBACX,OAAO,EAAE,CAAC,KAAK,CAAC;oBAClB;wBACE,OAAO,EAAE,CAAC;iBACb;YACH,CAAC,CAAC;iBACD,IAAI,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC;KACxB;IACD,IAAI,WAAW,GAAiB;QAC9B,IAAI,EAAE,kBAAkB,aAAlB,kBAAkB,cAAlB,kBAAkB,GAAI,IAAI;QAChC,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,MAAA,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,mCAAI,EAAE;KAC1C,CAAC;IACF,6BAA6B;IAC7B,WAAW,CAAC,IAAI,GAAG,aAAa,CAC9B,WAAW,CAAC,IAAI,EAChB,QAAQ,CAAC,SAAS,EAClB,IAAI,CAAC,kBAAkB,CACxB,CAAC;IAEF,IACE,CAAC,KAAK,CAAC,IAAI,KAAK,eAAe;QAC7B,KAAK,CAAC,IAAI,KAAK,YAAY;QAC3B,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC;QACzB,KAAK,CAAC,IAAI,KAAK,OAAO;QACtB,CAAA,MAAA,KAAK,CAAC,SAAS,0CAAE,IAAI,MAAK,aAAa;QACvC,CAAA,MAAA,KAAK,CAAC,SAAS,CAAC,SAAS,0CAAE,IAAI,MAAK,MAAM,EAC1C;QACA,WAAW,CAAC,QAAQ,GAAG,IAAI,CAAC;KAC7B;IAED,IAAI,cAAc,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE;QAClC,MAAM,KAAK,GAAG,0BAA0B,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACzD,IAAI,KAAK,IAAI,KAAK,CAAC,aAAa,EAAE;YAChC,MAAM,KAAK,GAAG,KAAK,CAAC,aAAiC,CAAC;YACtD,IAAI,KAAK,IAAI,KAAK,CAAC,cAAc,IAAI,KAAK,CAAC,cAAc,CAAC,IAAI,EAAE;gBAC9D,MAAM,YAAY,GAAG,MAAA,KAAK,CAAC,cAAc,CAAC,IAAI,0CAC1C,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;oBACX,QAAQ,EAAE,CAAC,IAAI,EAAE;wBACf,KAAK,OAAO;4BACV,OAAO,EAAE,CAAC,IAAI,CAAC;wBACjB,KAAK,QAAQ;4BACX,OAAO,EAAE,CAAC,KAAK,CAAC;wBAClB;4BACE,OAAO,EAAE,CAAC;qBACb;gBACH,CAAC,EACA,IAAI,CAAC,EAAE,CAAC,CAAC;gBACZ,WAAW,CAAC,KAAK,GAAG,SAAS,YAAY,GAAG,CAAC;gBAC7C,WAAW,CAAC,WAAW,GAAG,SAAS,YAAY,SAAS,CAAC;aAC1D;SACF;KACF;IACD,WAAW,CAAC,UAAU,GAAG,EAAE,CAAC;IAC5B,MAAM,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAEtE,sEAAsE;IACtE,MAAM,aAAa,GAAG,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACvD,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;QAC5B,WAAW,CAAC,QAAQ,GAAG;YACrB,GAAG,EAAE,EAAE;YACP,SAAS,EAAE,EAAE;SACd,CAAC;KACH;IACD,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE;QACjC,MAAM,WAAW,GAAG,gBAAgB,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QAClE,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,KAAK,CAAC,UAAU,EAAE;YAC3C,IAAI,IAAI,MAAK,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,YAAY,CAAA,EAAE;gBACxC,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;gBACrE,WAAW,CAAC,kBAAkB,GAAG,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACnE,MAAM;aACP;SACF;QACD,MAAA,MAAA,WAAW,CAAC,QAAQ,0CAAE,GAAG,0CAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAC7C,MAAA,MAAA,WAAW,CAAC,QAAQ,0CAAE,SAAS,0CAAE,IAAI,CAAC,WAAW,CAAC,CAAC;KACpD;IAED,iFAAiF;IACjF,IACE,aAAa;SACb,MAAA,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,QAAQ,0CAAE,GAAG,0CAAE,MAAM,CAAA;QAClC,CAAA,MAAA,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,QAAQ,0CAAE,GAAG,0CAAE,MAAM,IAAG,CAAC,EACtC;QACA,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,aAAa,EAAE,aAAa,CAAC,EAAE;YACjE,+DAA+D;YAC/D,OAAO,EAAE,CAAC;SACX;QAED,MAAM,EAAE,YAAY,EAAE,GAAG,aAAa,CAAC;QAEvC,WAAW,CAAC,aAAa,GAAG;YAC1B,IAAI,EAAE,YAAY;YAClB,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,8BAA8B,KAAK,CAAC,IAAI,GAAG;SACzD,CAAC;QAEF,WAAW,CAAC,YAAY,GAAG,IAAI,CAAC;KACjC;IAED,yCAAyC;IACzC,IAAI,OAAO,EAAE;QACX,OAAO,WAAW,CAAC;KACpB;IACD,KAAK,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,KAAK,CAAC,UAAU,EAAE;QAC/C,MAAM,WAAW,GAAG,gBAAgB,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAC5D,MAAM,IAAI,GAAG,IAAI,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,QAAQ,GAAG,CAAC;QAC5C,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE;YACpC,SAAS;SACV;QAED,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QACrE,IAAI,UAAU,KAAK,SAAS,EAAE;YAC5B,SAAS;SACV;QACD,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC;SAC5B;QACD,MAAM,mBAAmB,GAAG,uBAAuB,CACjD,OAAO,EACP,IAAI,EACJ,UAAU,CACX,CAAC;QACF,UAAU,CAAC,KAAK,GAAG,KAAK,CAAC;QACzB,qEAAqE;QACrE,UAAU,CAAC,WAAW,GAAG,mBAAmB,CAAC;QAC7C,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC;QAC1C,4FAA4F;QAC5F,IAAI,KAAK,CAAC,SAAS,EAAE;YACnB,MAAM,EAAE,YAAY,EAAE,GAAG,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;YAC1E,IAAI,YAAY,IAAI,IAAI,KAAK,IAAI,YAAY,GAAG,EAAE;gBAChD,SAAS;aACV;SACF;QAED,wDAAwD;QACxD,MAAM,aAAa,GAAG,wBAAwB,CAAC,OAAO,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;QAC1E,IAAI,aAAa,KAAK,SAAS,EAAE;YAC/B,SAAS;SACV;QACD,qEAAqE;QACrE,aAAa,CAAC,WAAW,GAAG,mBAAmB,CAAC;QAEhD,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,oFAAoF;SACrF;QAED,6CAA6C;QAC7C,MAAM,GAAG,GAAG,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACzC,IAAI,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;YAC/B,MAAM,UAAU,GAAG,EAAE,CAAC;YACtB,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;gBACxB,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE;oBAClB,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;iBACvC;qBAAM;oBACL,aAAa,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;iBAClC;aACF;YACD,IAAI,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;gBACnD,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;aACtC;YAED,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;gBACzB,aAAa,CAAC,OAAO,CAAC,GAAG,UAAU,CAAC;aACrC;SACF;QACD,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC;KAC9C;IAED,2EAA2E;IAC3E,wEAAwE;IACxE,2EAA2E;IAC3E,yEAAyE;IACzE,kBAAkB;IAClB,IACE,KAAK,CAAC,SAAS;QACf,KAAK,CAAC,SAAS,CAAC,cAAc;QAC9B,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI;QACnC,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC;QAC9C,WAAW,CAAC,UAAU;QACtB,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,MAAM,KAAK,CAAC,EAChD;QACA,yEAAyE;QACzE,qBAAqB;QACrB,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QACrE,WAAW,GAAG;YACZ,GAAG,UAAU;YACb,WAAW,EAAE,WAAW,CAAC,WAAW;SACrC,CAAC;KACH;SAAM,IAAI,KAAK,CAAC,SAAS,EAAE;QAC1B,WAAW,CAAC,OAAO,GAAG;YACpB,GAAG,EAAE,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;YAC9D,SAAS,EAAE,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;SACrE,CAAC;KACH;IACD,OAAO,WAAW,CAAC;AACrB,CAAC;AACD,yEAAyE;AACzE,6CAA6C;AAC7C,SAAS,uBAAuB,CAC9B,OAAgB,EAChB,QAAc,EACd,KAAuB;IAEvB,QAAQ,QAAQ,CAAC,IAAI,EAAE;QACrB,KAAK,QAAQ;YACX,OAAO,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC;QACvC,KAAK,QAAQ;YACX,OAAO,EAAE,IAAI,EAAE,IAAI,QAAQ,CAAC,KAAK,GAAG,EAAE,CAAC;QACzC,KAAK,SAAS;YACZ,OAAO,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC;QACvC,KAAK,OAAO;YACV,OAAO,0BAA0B,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;KAC/D;IACD,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS,EAAE;QAC/B,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;YAChC,OAAO,EAAE,IAAI,EAAE,IAAI,QAAQ,GAAG,EAAE,CAAC;SAClC;aAAM,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,OAAO,QAAQ,KAAK,SAAS,EAAE;YACxE,OAAO,EAAE,IAAI,EAAE,GAAG,QAAQ,EAAE,EAAE,CAAC;SAChC;KACF;AACH,CAAC;AACD,SAAS,wBAAwB,CAC/B,OAAgB,EAChB,QAAgC,EAChC,MAAW;IAEX,MAAM,SAAS,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;IAChC,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IACzC,MAAM,QAAQ,GAAG,YAAY,CAAC,OAAO,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC;IAClE,MAAM,SAAS,GAAG,aAAa,CAAC,OAAO,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEpE,IAAI,QAAQ,IAAI,CAAC,MAAM,CAAC,aAAa,IAAI,MAAM,EAAE;QAC/C,SAAS,CAAC,WAAW,GAAG,MAAM,CAAC;KAChC;IAED,MAAM,WAAW,GAAG,gBAAgB,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IAChE,IAAI,WAAW,EAAE;QACf,SAAS,CAAC,IAAI,GAAG,WAAW,CAAC;KAC9B;IAED,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IACjD,IAAI,QAAQ,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,UAAU,EAAE;QAC7C,SAAS,CAAC,OAAO,GAAG,UAAU,CAAC;KAChC;IAED,MAAM,SAAS,GAAG,SAAS,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC/C,IAAI,QAAQ,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,SAAS,EAAE;QAC3C,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC;KAC9B;IAED,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC9C,IAAI,QAAQ,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,OAAO,EAAE;QAC1C,SAAS,CAAC,OAAO,GAAG,OAAO,CAAC;KAC7B;IAED,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAClD,IAAI,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,SAAS,KAAK,SAAS,EAAE;QAC5D,SAAS,CAAC,SAAS,GAAG,SAAS,CAAC;KACjC;IAED,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAClD,IAAI,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,SAAS,KAAK,SAAS,EAAE;QAC5D,SAAS,CAAC,SAAS,GAAG,SAAS,CAAC;KACjC;IAED,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAChD,IAAI,SAAS,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,QAAQ,KAAK,SAAS,EAAE;QAC1D,SAAS,CAAC,OAAO,GAAG,QAAQ,CAAC;KAC9B;IAED,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAChD,IAAI,SAAS,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,QAAQ,KAAK,SAAS,EAAE;QAC1D,SAAS,CAAC,OAAO,GAAG,QAAQ,CAAC;KAC9B;IAED,IAAI,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE;QAC/B,SAAS,CAAC,MAAM,GAAG,UAAU,CAAC;QAC9B,SAAS,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC;KACjC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AACD,SAAS,gBAAgB,CAAC,OAAgB,EAAE,CAAO;;IACjD,MAAM,MAAM,GAAG,EAAE,CAAC;IAClB,MAAM,IAAI,GAAG,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC;IAC7D,KAAK,MAAM,MAAM,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE;QACvC,IAAI,IAAI,KAAK,cAAc,CAAC,MAAM,CAAC,EAAE;YACnC,gBAAgB,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;YACpE,SAAS;SACV;QAED,MAAM,CAAC,IAAI,CAAC,MAAA,MAAM,CAAC,KAAK,mCAAI,MAAM,CAAC,IAAI,CAAC,CAAC;KAC1C;IAED,MAAM,MAAM,GAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC;IAC9D,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;QACrB,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC;QACrB,MAAM,CAAC,IAAI;YACT,IAAI,KAAK,QAAQ;gBACf,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;gBAC7C,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChD,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE;YACxB,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;YACvB,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC;SAC5B;KACF;IACD,OAAO,MAAM,CAAC;IACd,SAAS,cAAc,CAAC,MAAkB;QACxC,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,EAAE;YACpC,OAAO,QAAQ,CAAC;SACjB;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;AACH,CAAC;AACD;;GAEG;AACH,SAAS,0BAA0B,CACjC,OAAgB,EAChB,QAAe,EACf,KAAuB;;IAEvB,MAAM,OAAO,GAAI,QAAkB,CAAC,OAAO,CAAC;IAC5C,IAAI,OAAO,KAAK,SAAS,EAAE;QACzB,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YAC7B,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;YAC9B,IAAI,MAAM,GAAQ,EAAE,CAAC;YACrB,IAAI,IAAI,KAAK,QAAQ,EAAE;gBACrB,MAAM,SAAS,GAAG,gBAAgB,CAChC,OAAO,EACP,OAAO,CAAC,KAAM,EACd,KAAK,EACL,IAAI,CACL,CAAC;gBACF,MAAM,GAAG;oBACP,IAAI,EAAE,YAAY;oBAClB,oBAAoB,EAAE,SAAS;oBAC/B,WAAW,EAAE,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC;iBACvC,CAAC;gBACF,IACE,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC;oBACzC,CAAC,aAAa,CAAC,OAAO,CAAC,KAAM,CAAC;oBAC9B,CAAC,WAAW,CAAC,OAAO,CAAC,KAAM,CAAC,EAC5B;oBACA,MAAM,CAAC,QAAQ,GAAG,kBAAkB,SAAS,CAAC,IAAI,GAAG,CAAC;oBACtD,MAAM,CAAC,aAAa,GAAG,SAAS,CAAC,IAAI,CAAC;oBACtC,IAAI,KAAK,IAAI,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE;wBACjD,MAAM,CAAC,cAAc,GAAG,kBAAkB,SAAS,CAAC,IAAI,SAAS,CAAC;wBAClE,MAAM,CAAC,mBAAmB,GAAG,GAAG,SAAS,CAAC,IAAI,QAAQ,CAAC;qBACxD;iBACF;qBAAM,IAAI,aAAa,CAAC,OAAO,CAAC,KAAM,CAAC,EAAE;oBACxC,MAAM,CAAC,QAAQ,GAAG,kBAAkB,SAAS,CAAC,IAAI,GAAG,CAAC;oBACtD,IAAI,KAAK,IAAI,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE;wBACjD,MAAM,CAAC,cAAc,GAAG,kBAAkB,SAAS,CAAC,cAAc,GAAG,CAAC;qBACvE;iBACF;qBAAM;oBACL,MAAM,CAAC,QAAQ,GAAG,kBAAkB,SAAS,CAAC,IAAI,GAAG,CAAC;iBACvD;aACF;iBAAM,IAAI,IAAI,KAAK,SAAS,EAAE;gBAC7B,MAAM,GAAG;oBACP,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,KAAM,EAAE,KAAK,EAAE,IAAI,CAAC;oBAC7D,WAAW,EAAE,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC;iBACvC,CAAC;gBACF,IACE,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC;oBACzC,CAAC,aAAa,CAAC,OAAO,CAAC,KAAM,CAAC;qBAC9B,MAAA,OAAO,CAAC,KAAK,0CAAE,IAAI,CAAA;oBACnB,MAAM,CAAC,KAAK,CAAC,IAAI;oBACjB,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAClB;oBACA,MAAM,CAAC,QAAQ,GAAG,SAAS,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC;oBAChD,IAAI,KAAK,IAAI,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE;wBACjD,MAAM,CAAC,cAAc,GAAG,SAAS,MAAM,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC;qBAC7D;iBACF;qBAAM;oBACL,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE;wBACzB,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ;6BACpC,KAAK,CAAC,GAAG,CAAC;6BACV,GAAG,CAAC,CAAC,QAAgB,EAAE,EAAE;4BACxB,OAAO,GAAG,QAAQ,IAAI,CAAC;wBACzB,CAAC,CAAC;6BACD,IAAI,CAAC,KAAK,CAAC,CAAC;wBACf,IACE,MAAM,CAAC,KAAK,CAAC,cAAc;4BAC3B,KAAK;4BACL,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,EACpC;4BACA,MAAM,CAAC,cAAc,GAAG,MAAM,CAAC,KAAK,CAAC,cAAc;iCAChD,KAAK,CAAC,GAAG,CAAC;iCACV,GAAG,CAAC,CAAC,QAAgB,EAAE,EAAE;gCACxB,OAAO,GAAG,QAAQ,IAAI,CAAC;4BACzB,CAAC,CAAC;iCACD,IAAI,CAAC,KAAK,CAAC,CAAC;yBAChB;qBACF;yBAAM,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;wBAC1C,MAAM,CAAC,QAAQ,GAAG,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC;qBAC9C;yBAAM;wBACL,MAAM,CAAC,QAAQ,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC;qBAC5C;iBACF;aACF;YAED,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;YACrB,OAAO,MAAM,CAAC;SACf;KACF;AACH,CAAC;AAED,SAAS,WAAW,CAAC,IAAU;IAC7B,OAAO,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC;AAC/B,CAAC;AAED,SAAS,qBAAqB,CAAC,OAAgB,EAAE,QAAgB;IAC/D,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE;QACxC,OAAO,SAAS,CAAC;KAClB;IACD,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;IAC3B,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAClD,QAAQ,IAAI,EAAE;QACZ,KAAK,OAAO;YACV,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;QACzD,KAAK,SAAS;YACZ,OAAO,wBAAwB,CAAC,OAAO,EAAE,QAAQ,EAAE;gBACjD,IAAI,EAAE,QAAQ;aACf,CAAC,CAAC;QACL,KAAK,MAAM;YACT,OAAO,wBAAwB,CAAC,OAAO,EAAE,QAAQ,EAAE;gBACjD,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,MAAM;aACf,CAAC,CAAC;QACL,KAAK,OAAO;YACV,OAAO,wBAAwB,CAAC,OAAO,EAAE,QAAQ,EAAE;gBACjD,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,OAAO;aAChB,CAAC,CAAC;QACL,KAAK,OAAO;YACV,OAAO,wBAAwB,CAAC,OAAO,EAAE,QAAQ,EAAE;gBACjD,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,OAAO;aAChB,CAAC,CAAC;QACL,KAAK,OAAO;YACV,OAAO,wBAAwB,CAAC,OAAO,EAAE,QAAQ,EAAE;gBACjD,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,OAAO;aAChB,CAAC,CAAC;QACL,KAAK,SAAS;YACZ,OAAO,wBAAwB,CAAC,OAAO,EAAE,QAAQ,EAAE;gBACjD,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,OAAO;aAChB,CAAC,CAAC;QACL,KAAK,OAAO;YACV,OAAO,wBAAwB,CAAC,OAAO,EAAE,QAAQ,EAAE;gBACjD,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,OAAO;aAChB,CAAC,CAAC;QACL,KAAK,QAAQ;YACX,OAAO,wBAAwB,CAAC,OAAO,EAAE,QAAQ,EAAE;gBACjD,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,QAAQ;aACjB,CAAC,CAAC;QACL,KAAK,QAAQ;YACX,OAAO,wBAAwB,CAAC,OAAO,EAAE,QAAQ,EAAE;gBACjD,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,QAAQ;aACjB,CAAC,CAAC;QACL,KAAK,QAAQ;YACX,OAAO,wBAAwB,CAAC,OAAO,EAAE,QAAQ,EAAE;gBACjD,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,QAAQ;aACjB,CAAC,CAAC;QACL,KAAK,SAAS;YACZ,OAAO,wBAAwB,CAAC,OAAO,EAAE,QAAQ,EAAE;gBACjD,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,QAAQ;aACjB,CAAC,CAAC;QACL,KAAK,SAAS;YACZ,OAAO,wBAAwB,CAAC,OAAO,EAAE,QAAQ,EAAE;gBACjD,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,OAAO;aAChB,CAAC,CAAC;QACL,KAAK,QAAQ;YACX,OAAO,wBAAwB,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;QACzE,KAAK,SAAS;YACZ,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC;QAC1C,KAAK,WAAW;YACd,OAAO;gBACL,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,MAAM;gBACd,WAAW;gBACX,QAAQ,EAAE,eAAe;gBACzB,cAAc,EAAE,QAAQ;aACzB,CAAC;QACJ,KAAK,aAAa;YAChB,OAAO;gBACL,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,WAAW;gBACnB,WAAW;gBACX,QAAQ,EAAE,eAAe;gBACzB,cAAc,EAAE,QAAQ;aACzB,CAAC;QACJ,KAAK,WAAW;YACd,OAAO;gBACL,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,MAAM;gBACd,WAAW;gBACX,QAAQ,EAAE,eAAe;gBACzB,cAAc,EAAE,QAAQ;aACzB,CAAC;QACJ,KAAK,UAAU;YACb,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC;KAC9D;AACH,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,MAAc,EAAE,KAAuB;;IACjE,0BAA0B;IAC1B,OAAO,MAAA,MAAA,eAAe,CAAC,MAAM,EAAE,KAAK,CAAC,mCAAI,MAAM,CAAC,IAAI,mCAAI,KAAK,CAAC;AAChE,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,MAAc;IACjD,QAAQ,MAAM,CAAC,IAAI,EAAE;QACnB,KAAK,OAAO;YACV,OAAO,CAAE,MAAc,CAAC,KAAK,CAAC;iBAC3B,MAAM,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC;iBAC1C,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,WAAC,OAAA,MAAA,eAAe,CAAC,CAAC,CAAC,mCAAI,EAAE,CAAA,EAAA,CAAC,CAAC;QAClD,KAAK,QAAQ;YACX,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACzE,KAAK,YAAY,CAAC,CAAC;YACjB,MAAM,UAAU,GAAG,sBAAsB,CAAC,MAA0B,CAAC,CAAC;YACtE,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;SAC9C;QACD;YACE,OAAO;KACV;AACH,CAAC;AAED,SAAS,eAAe,CAAC,MAAc,EAAE,KAAuB;;IAC9D,OAAO,KAAK;QACV,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC;QACnC,CAAC,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC;QACrC,CAAC,CAAC,MAAA,MAAM,CAAC,QAAQ,mCAAI,MAAM,CAAC,IAAI;QAChC,CAAC,CAAC,MAAA,MAAA,MAAM,CAAC,cAAc,mCAAI,MAAM,CAAC,QAAQ,mCAAI,MAAM,CAAC,IAAI,CAAC;AAC9D,CAAC;AACD,SAAS,sBAAsB,CAAC,MAAwB;;IACtD,OAAO,MAAA,MAAA,MAAM,CAAC,mBAAmB,mCAAI,MAAM,CAAC,aAAa,mCAAI,SAAS,CAAC;AACzE,CAAC;AACD,SAAS,wBAAwB,CAAC,IAAS;IACzC,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;QAC/D,OAAO,oBAAoB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;KACnD;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,OAAgB,EAChB,QAA8B,EAC9B,UAAe,EACf,WAAmB,MAAM;IAEzB,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC9C,MAAM,mBAAmB,GAAG,wBAAwB,CAAC,UAAU,CAAC,CAAC;IACjE,IAAI,WAAW,IAAI,mBAAmB,EAAE;QACtC,OAAO,GAAG,WAAW,GAAG,QAAQ,GAAG,mBAAmB,EAAE,CAAC;KAC1D;IACD,OAAO,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,mBAAmB,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,WAAW,CACzB,OAAgB,EAChB,KAAoB;;IAEpB,IAAI,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC;IAC1C,IAAI,SAAS,IAAI,SAAS,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,SAAS,EAAE;QAC9D,MAAM,YAAY,GAAG,MAAA,oBAAoB,CACvC,OAAO,EACP,KAAK,CAAC,SAAS,CAChB,0CAAE,YAAY,CAAC;QAChB,IAAI,YAAY,IAAI,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;YACjE,MAAM,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YAChC,IAAI,IAAI,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;gBACvD,MAAM,YAAY,GAAG,MAAA,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,0CAAE,IAAI,CAAC;gBAC7C,IAAI,YAAY,EAAE;oBAChB,MAAM,kBAAkB,GAAG,yBAAyB,CAClD,OAAO,EACP,YAAY,CAAC,IAAI,CAClB,CAAC;oBACF,mGAAmG;oBACnG,IACE,kBAAkB,KAAK,YAAY;wBACnC,SAAS,CAAC,cAAc;wBACxB,SAAS,CAAC,cAAc,CAAC,IAAI;wBAC7B,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE;4BACxC,OAAO,EAAE,CAAC,IAAI,KAAK,OAAO,IAAI,EAAE,CAAC,IAAI,KAAK,OAAO;gCAC/C,CAAC,CAAC,EAAE,KAAK,kBAAkB;gCAC3B,CAAC,CAAC,KAAK,CAAC;wBACZ,CAAC,CAAC,EACF;wBACA,SAAS,GAAG,YAAY,CAAC;qBAC1B;iBACF;aACF;SACF;QACD,IAAI,YAAY,IAAI,SAAS,CAAC,IAAI,KAAK,EAAE,EAAE;YACzC,SAAS,GAAG,YAAY,CAAC;SAC1B;KACF;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,mBAAmB,CACjC,OAAgB,EAChB,UAAsB,EACtB,KAAqB;;IAErB,IAAI,CAAC,KAAK,EAAE;QACV,OAAO;KACR;IACD,MAAM,eAAe,GAAG,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,CAAC;IACvC,IAAI,cAAc,CAAC,eAAe,CAAC,EAAE;QACnC,OAAO,eAAe,CAAC,KAAK,CAAC;KAC9B;IACD,MAAM,gBAAgB,GAAG,MAAA,iBAAiB,CAAC,OAAO,CAAC,0CAAE,IAAI,CAAC;IAC1D,IAAI,CAAC,gBAAgB,EAAE;QACrB,OAAO;KACR;IACD,MAAM,iBAAiB,GAAG,4BAA4B,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IAC5E,IAAI,KAAK,IAAI,YAAY,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,iBAAiB,EAAE;QACjE,OAAO,iBAAiB,CAAC;KAC1B;IACD,OAAO;AACT,CAAC;AAED,SAAS,cAAc,CACrB,IAAW;IAEX,IAAI,CAAC,IAAI,EAAE;QACT,OAAO,KAAK,CAAC;KACd;IAED,IACE,IAAI,CAAC,IAAI,KAAK,SAAS;QACvB,IAAI,CAAC,IAAI,KAAK,QAAQ;QACtB,IAAI,CAAC,IAAI,KAAK,QAAQ,EACtB;QACA,OAAO,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC;KACjC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,OAAgB;IAChD,MAAM,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;IACvC,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;QACtC,gBAAgB,CAAC,OAAO,EAAE;YACxB,IAAI,EAAE,oBAAoB;YAC1B,MAAM,EAAE,QAAQ;SACjB,CAAC,CAAC;KACJ;IACD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;QACvB,gBAAgB,CAAC,OAAO,EAAE;YACxB,IAAI,EAAE,uBAAuB;YAC7B,MAAM,EAAE,QAAQ;SACjB,CAAC,CAAC;KACJ;IACD,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC;AACrB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,4BAA4B,CAC1C,OAAgB,EAChB,UAAsB;IAEtB,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IACpD,IAAI,CAAC,gBAAgB,EAAE;QACrB,OAAO;KACR;IAED,MAAM,cAAc,GAAG,oBAAoB,CACzC,UAAU,EACV,gBAAiB,CAAC,IAAI,CACvB,CAAC;IACF,IAAI,cAAc,EAAE;QAClB,OAAO,cAAc,CAAC,KAAK,CAAC;KAC7B;IACD,OAAO,gBAAgB,CAAC,OAAO,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,KAAU;IAClC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC7B,OAAO,KAAK,CAAC;KACd;IACD,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IAC1C,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;QACzD,OAAO,IAAI,KAAK,OAAO,CAAC;IAC1B,CAAC,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QACrD,GAAW,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;QAC7C,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,OAAO,OAAO,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"modelUtils.js","sourceRoot":"","sources":["../../src/modelUtils.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"buildApiIndex.d.ts","sourceRoot":"","sources":["../../../src/modular/buildApiIndex.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAEnC,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,QAUlE"}
1
+ {"version":3,"file":"buildApiIndex.d.ts","sourceRoot":"","sources":["../../../src/modular/buildApiIndex.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAEnC,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,QAYlE"}