@azure-tools/typespec-ts 0.11.0 → 0.12.0-alpha.20230501.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 (412) hide show
  1. package/.rush/temp/package-deps_build.json +265 -152
  2. package/.rush/temp/shrinkwrap-deps.json +58 -54
  3. package/CHANGELOG.md +4 -0
  4. package/CONTRIBUTING.md +5 -2
  5. package/README.md +3 -3
  6. package/dist/src/casingUtils.d.ts +4 -0
  7. package/dist/src/casingUtils.d.ts.map +1 -0
  8. package/dist/src/casingUtils.js +39 -0
  9. package/dist/src/casingUtils.js.map +1 -0
  10. package/dist/src/emitUtil.js +7 -1
  11. package/dist/src/emitUtil.js.map +1 -1
  12. package/dist/src/index.d.ts.map +1 -1
  13. package/dist/src/index.js +41 -9
  14. package/dist/src/index.js.map +1 -1
  15. package/dist/src/lib.d.ts.map +1 -1
  16. package/dist/src/lib.js +2 -1
  17. package/dist/src/lib.js.map +1 -1
  18. package/dist/src/modelUtils.d.ts +22 -1
  19. package/dist/src/modelUtils.d.ts.map +1 -1
  20. package/dist/src/modelUtils.js +105 -13
  21. package/dist/src/modelUtils.js.map +1 -1
  22. package/dist/src/modular/buildApiIndex.d.ts +3 -0
  23. package/dist/src/modular/buildApiIndex.d.ts.map +1 -0
  24. package/dist/src/modular/buildApiIndex.js +12 -0
  25. package/dist/src/modular/buildApiIndex.js.map +1 -0
  26. package/dist/src/modular/buildClassicalClient.d.ts +4 -0
  27. package/dist/src/modular/buildClassicalClient.d.ts.map +1 -0
  28. package/dist/src/modular/buildClassicalClient.js +112 -0
  29. package/dist/src/modular/buildClassicalClient.js.map +1 -0
  30. package/dist/src/modular/buildClientContext.d.ts +7 -0
  31. package/dist/src/modular/buildClientContext.d.ts.map +1 -0
  32. package/dist/src/modular/buildClientContext.js +72 -0
  33. package/dist/src/modular/buildClientContext.js.map +1 -0
  34. package/dist/src/modular/buildCodeModel.d.ts +14 -0
  35. package/dist/src/modular/buildCodeModel.d.ts.map +1 -0
  36. package/dist/src/modular/buildCodeModel.js +1110 -0
  37. package/dist/src/modular/buildCodeModel.js.map +1 -0
  38. package/dist/src/modular/buildOperations.d.ts +13 -0
  39. package/dist/src/modular/buildOperations.d.ts.map +1 -0
  40. package/dist/src/modular/buildOperations.js +70 -0
  41. package/dist/src/modular/buildOperations.js.map +1 -0
  42. package/dist/src/modular/buildProjectFiles.d.ts +5 -0
  43. package/dist/src/modular/buildProjectFiles.d.ts.map +1 -0
  44. package/dist/src/modular/buildProjectFiles.js +182 -0
  45. package/dist/src/modular/buildProjectFiles.js.map +1 -0
  46. package/dist/src/modular/buildRootIndex.d.ts +4 -0
  47. package/dist/src/modular/buildRootIndex.d.ts.map +1 -0
  48. package/dist/src/modular/buildRootIndex.js +66 -0
  49. package/dist/src/modular/buildRootIndex.js.map +1 -0
  50. package/dist/src/modular/buildSharedTypes.d.ts +6 -0
  51. package/dist/src/modular/buildSharedTypes.d.ts.map +1 -0
  52. package/dist/src/modular/buildSharedTypes.js +33 -0
  53. package/dist/src/modular/buildSharedTypes.js.map +1 -0
  54. package/dist/src/modular/emitModels.d.ts +7 -0
  55. package/dist/src/modular/emitModels.d.ts.map +1 -0
  56. package/dist/src/modular/emitModels.js +63 -0
  57. package/dist/src/modular/emitModels.js.map +1 -0
  58. package/dist/src/modular/helpers/clientHelpers.d.ts +4 -0
  59. package/dist/src/modular/helpers/clientHelpers.d.ts.map +1 -0
  60. package/dist/src/modular/helpers/clientHelpers.js +31 -0
  61. package/dist/src/modular/helpers/clientHelpers.js.map +1 -0
  62. package/dist/src/modular/helpers/credentialHelpers.d.ts +7 -0
  63. package/dist/src/modular/helpers/credentialHelpers.d.ts.map +1 -0
  64. package/dist/src/modular/helpers/credentialHelpers.js +32 -0
  65. package/dist/src/modular/helpers/credentialHelpers.js.map +1 -0
  66. package/dist/src/modular/helpers/namingHelpers.d.ts +3 -0
  67. package/dist/src/modular/helpers/namingHelpers.d.ts.map +1 -0
  68. package/dist/src/modular/helpers/namingHelpers.js +4 -0
  69. package/dist/src/modular/helpers/namingHelpers.js.map +1 -0
  70. package/dist/src/modular/helpers/operationHelpers.d.ts +8 -0
  71. package/dist/src/modular/helpers/operationHelpers.d.ts.map +1 -0
  72. package/dist/src/modular/helpers/operationHelpers.js +274 -0
  73. package/dist/src/modular/helpers/operationHelpers.js.map +1 -0
  74. package/dist/src/modular/helpers/parameterHelpers.d.ts +3 -0
  75. package/dist/src/modular/helpers/parameterHelpers.d.ts.map +1 -0
  76. package/dist/src/modular/helpers/parameterHelpers.js +16 -0
  77. package/dist/src/modular/helpers/parameterHelpers.js.map +1 -0
  78. package/dist/src/modular/helpers/typeHelpers.d.ts +16 -0
  79. package/dist/src/modular/helpers/typeHelpers.d.ts.map +1 -0
  80. package/dist/src/modular/helpers/typeHelpers.js +92 -0
  81. package/dist/src/modular/helpers/typeHelpers.js.map +1 -0
  82. package/dist/src/modular/interfaces.d.ts +10 -0
  83. package/dist/src/modular/interfaces.d.ts.map +1 -0
  84. package/dist/src/modular/interfaces.js +2 -0
  85. package/dist/src/modular/interfaces.js.map +1 -0
  86. package/dist/src/modular/modularCodeModel.d.ts +121 -0
  87. package/dist/src/modular/modularCodeModel.d.ts.map +1 -0
  88. package/dist/src/modular/modularCodeModel.js +2 -0
  89. package/dist/src/modular/modularCodeModel.js.map +1 -0
  90. package/dist/src/operationUtil.d.ts +30 -4
  91. package/dist/src/operationUtil.d.ts.map +1 -1
  92. package/dist/src/operationUtil.js +77 -18
  93. package/dist/src/operationUtil.js.map +1 -1
  94. package/dist/src/transform/transform.d.ts +4 -6
  95. package/dist/src/transform/transform.d.ts.map +1 -1
  96. package/dist/src/transform/transform.js +17 -58
  97. package/dist/src/transform/transform.js.map +1 -1
  98. package/dist/src/transform/transformApiVersionInfo.d.ts +5 -0
  99. package/dist/src/transform/transformApiVersionInfo.d.ts.map +1 -0
  100. package/dist/src/transform/transformApiVersionInfo.js +64 -0
  101. package/dist/src/transform/transformApiVersionInfo.js.map +1 -0
  102. package/dist/src/transform/transformHelperFunctionDetails.d.ts +6 -0
  103. package/dist/src/transform/transformHelperFunctionDetails.d.ts.map +1 -0
  104. package/dist/src/transform/{transformAnnotationDetails.js → transformHelperFunctionDetails.js} +2 -2
  105. package/dist/src/transform/transformHelperFunctionDetails.js.map +1 -0
  106. package/dist/src/transform/transformParameters.d.ts +2 -2
  107. package/dist/src/transform/transformParameters.d.ts.map +1 -1
  108. package/dist/src/transform/transformParameters.js +20 -7
  109. package/dist/src/transform/transformParameters.js.map +1 -1
  110. package/dist/src/transform/transformPaths.d.ts +2 -2
  111. package/dist/src/transform/transformPaths.d.ts.map +1 -1
  112. package/dist/src/transform/transformPaths.js +15 -7
  113. package/dist/src/transform/transformPaths.js.map +1 -1
  114. package/dist/src/transform/transformResponses.d.ts +2 -2
  115. package/dist/src/transform/transformResponses.d.ts.map +1 -1
  116. package/dist/src/transform/transformResponses.js +23 -2
  117. package/dist/src/transform/transformResponses.js.map +1 -1
  118. package/dist/src/transform/transformSchemas.d.ts +2 -2
  119. package/dist/src/transform/transformSchemas.d.ts.map +1 -1
  120. package/dist/src/transform/transformSchemas.js +10 -22
  121. package/dist/src/transform/transformSchemas.js.map +1 -1
  122. package/dist/src/transform/transfromRLCOptions.d.ts +2 -2
  123. package/dist/src/transform/transfromRLCOptions.js +1 -1
  124. package/dist/src/transform/transfromRLCOptions.js.map +1 -1
  125. package/dist/tsconfig.tsbuildinfo +1 -1
  126. package/package.json +27 -19
  127. package/src/casingUtils.ts +48 -0
  128. package/src/emitUtil.ts +9 -4
  129. package/src/index.ts +53 -10
  130. package/src/lib.ts +2 -1
  131. package/src/modelUtils.ts +137 -14
  132. package/src/modular/buildApiIndex.ts +13 -0
  133. package/src/modular/buildClassicalClient.ts +147 -0
  134. package/src/modular/buildClientContext.ts +104 -0
  135. package/src/modular/buildCodeModel.ts +1449 -0
  136. package/src/modular/buildOperations.ts +95 -0
  137. package/src/modular/buildProjectFiles.ts +219 -0
  138. package/src/modular/buildRootIndex.ts +94 -0
  139. package/src/modular/buildSharedTypes.ts +40 -0
  140. package/src/modular/emitModels.ts +72 -0
  141. package/src/modular/helpers/clientHelpers.ts +38 -0
  142. package/src/modular/helpers/credentialHelpers.ts +40 -0
  143. package/src/modular/helpers/namingHelpers.ts +5 -0
  144. package/src/modular/helpers/operationHelpers.ts +418 -0
  145. package/src/modular/helpers/parameterHelpers.ts +17 -0
  146. package/src/modular/helpers/typeHelpers.ts +106 -0
  147. package/src/modular/interfaces.ts +10 -0
  148. package/src/modular/modularCodeModel.ts +151 -0
  149. package/src/modular/static/karma.conf.cjs +120 -0
  150. package/src/modular/static/rollup.test.config.js +67 -0
  151. package/src/modular/static/scripts/renameOutput.mjs +17 -0
  152. package/src/operationUtil.ts +119 -31
  153. package/src/transform/transform.ts +33 -96
  154. package/src/transform/transformApiVersionInfo.ts +108 -0
  155. package/src/transform/{transformAnnotationDetails.ts → transformHelperFunctionDetails.ts} +11 -11
  156. package/src/transform/transformParameters.ts +30 -14
  157. package/src/transform/transformPaths.ts +29 -19
  158. package/src/transform/transformResponses.ts +50 -8
  159. package/src/transform/transformSchemas.ts +20 -28
  160. package/src/transform/transfromRLCOptions.ts +3 -3
  161. package/test/commands/cadl-ranch-list.ts +53 -20
  162. package/test/commands/gen-cadl-ranch.ts +6 -2
  163. package/test/commands/run.ts +3 -13
  164. package/test/integration/arrayItemTypes.spec.ts +6 -3
  165. package/test/integration/azurecore.spec.ts +130 -0
  166. package/test/integration/collectionFormat.spec.ts +118 -0
  167. package/test/integration/dictionary.spec.ts +6 -2
  168. package/test/integration/extensibleEnums.spec.ts +8 -8
  169. package/test/integration/fixedEnums.spec.ts +7 -7
  170. package/test/integration/generated/arrays/itemTypes/src/clientDefinitions.ts +33 -18
  171. package/test/integration/generated/arrays/itemTypes/src/parameters.ts +8 -0
  172. package/test/integration/generated/arrays/itemTypes/src/responses.ts +11 -0
  173. package/test/integration/generated/arrays/itemTypes/tspconfig.yaml +5 -2
  174. package/test/integration/generated/authentication/apiKey/package.json +2 -2
  175. package/test/integration/generated/authentication/apiKey/tspconfig.yaml +5 -2
  176. package/test/integration/generated/authentication/oauth2/tspconfig.yaml +5 -2
  177. package/test/integration/generated/authentication/union/tspconfig.yaml +5 -2
  178. package/test/integration/generated/{resiliency/devDriven → azure/core}/README.md +7 -7
  179. package/test/integration/generated/{lro/lroBasic → azure/core}/api-extractor.json +1 -1
  180. package/test/integration/generated/{resiliency/devDriven → azure/core}/package.json +6 -6
  181. package/test/integration/generated/azure/core/src/azureCoreClient.ts +31 -0
  182. package/test/integration/generated/azure/core/src/clientDefinitions.ts +108 -0
  183. package/test/integration/generated/{resiliency/devDriven → azure/core}/src/index.ts +4 -3
  184. package/test/integration/generated/azure/core/src/isUnexpected.ts +178 -0
  185. package/test/integration/generated/azure/core/src/models.ts +18 -0
  186. package/test/integration/generated/azure/core/src/outputModels.ts +32 -0
  187. package/test/integration/generated/{resiliency/devDriven → azure/core}/src/paginateHelper.ts +55 -5
  188. package/test/integration/generated/azure/core/src/parameters.ts +68 -0
  189. package/test/integration/generated/azure/core/src/responses.ts +158 -0
  190. package/test/integration/generated/azure/core/src/serializeHelper.ts +16 -0
  191. package/test/integration/generated/azure/core/tspconfig.yaml +15 -0
  192. package/test/integration/generated/azure/core-traits/README.md +56 -0
  193. package/test/integration/generated/azure/core-traits/api-extractor.json +18 -0
  194. package/test/integration/generated/azure/core-traits/package.json +80 -0
  195. package/test/integration/generated/azure/core-traits/src/azureCoreTraitsClient.ts +31 -0
  196. package/test/integration/generated/azure/core-traits/src/clientDefinitions.ts +22 -0
  197. package/test/integration/generated/azure/core-traits/src/index.ts +13 -0
  198. package/test/integration/generated/{resiliency/devDriven → azure/core-traits}/src/isUnexpected.ts +6 -26
  199. package/test/integration/generated/azure/core-traits/src/outputModels.ts +10 -0
  200. package/test/integration/generated/azure/core-traits/src/parameters.ts +26 -0
  201. package/test/integration/generated/azure/core-traits/src/responses.ts +32 -0
  202. package/test/integration/generated/azure/core-traits/tspconfig.yaml +15 -0
  203. package/test/integration/generated/dictionary/package.json +2 -2
  204. package/test/integration/generated/dictionary/src/clientDefinitions.ts +35 -20
  205. package/test/integration/generated/dictionary/src/parameters.ts +8 -0
  206. package/test/integration/generated/dictionary/src/responses.ts +11 -0
  207. package/test/integration/generated/dictionary/tspconfig.yaml +5 -2
  208. package/test/integration/generated/enums/extensible/README.md +3 -3
  209. package/test/integration/generated/enums/extensible/package.json +2 -2
  210. package/test/integration/generated/enums/extensible/src/clientDefinitions.ts +5 -5
  211. package/test/integration/generated/enums/extensible/src/index.ts +3 -3
  212. package/test/integration/generated/enums/extensible/src/{enumsExtensible.ts → typeEnumExtensible.ts} +4 -4
  213. package/test/integration/generated/enums/extensible/tspconfig.yaml +5 -2
  214. package/test/integration/generated/enums/fixed/README.md +3 -3
  215. package/test/integration/generated/enums/fixed/package.json +2 -2
  216. package/test/integration/generated/enums/fixed/src/clientDefinitions.ts +5 -5
  217. package/test/integration/generated/enums/fixed/src/index.ts +3 -3
  218. package/test/integration/generated/enums/fixed/src/{enumsFixed.ts → typeEnumFixed.ts} +4 -4
  219. package/test/integration/generated/enums/fixed/tspconfig.yaml +5 -2
  220. package/test/integration/generated/hello/package.json +2 -2
  221. package/test/integration/generated/hello/tspconfig.yaml +5 -2
  222. package/test/integration/generated/internal/src/clientDefinitions.ts +27 -0
  223. package/test/integration/generated/internal/src/index.ts +13 -0
  224. package/test/integration/generated/{lro/lroBasic/src/azureLro.ts → internal/src/internalClient.ts} +5 -5
  225. package/test/integration/generated/internal/src/models.ts +8 -0
  226. package/test/integration/generated/internal/src/outputModels.ts +13 -0
  227. package/test/integration/generated/internal/src/parameters.ts +21 -0
  228. package/test/integration/generated/internal/src/responses.ts +20 -0
  229. package/test/integration/generated/internal/tspconfig.yaml +14 -0
  230. package/test/integration/generated/lro/lroCore/.eslintrc.json +11 -0
  231. package/test/integration/generated/lro/lroCore/README.md +56 -0
  232. package/test/integration/generated/{resiliency/devDriven → lro/lroCore}/api-extractor.json +1 -1
  233. package/test/integration/generated/lro/{lroBasic → lroCore}/package.json +6 -6
  234. package/test/integration/generated/lro/lroCore/rollup.config.js +118 -0
  235. package/test/integration/generated/lro/lroCore/src/clientDefinitions.ts +54 -0
  236. package/test/integration/generated/lro/lroCore/src/index.ts +15 -0
  237. package/test/integration/generated/lro/lroCore/src/isUnexpected.ts +135 -0
  238. package/test/integration/generated/lro/lroCore/src/models.ts +8 -0
  239. package/test/integration/generated/lro/lroCore/src/outputModels.ts +50 -0
  240. package/test/integration/generated/lro/lroCore/src/parameters.ts +25 -0
  241. package/test/integration/generated/lro/{lroBasic → lroCore}/src/pollingHelper.ts +38 -0
  242. package/test/integration/generated/lro/lroCore/src/responses.ts +109 -0
  243. package/test/integration/generated/lro/lroCore/src/specsAzureCoreLroStandard.ts +31 -0
  244. package/test/integration/generated/lro/lroCore/tsconfig.json +25 -0
  245. package/test/integration/generated/lro/lroCore/tspconfig.yaml +14 -0
  246. package/test/integration/generated/lro/lroRPC/.eslintrc.json +11 -0
  247. package/test/integration/generated/lro/{lroBasic → lroRPC}/README.md +7 -7
  248. package/test/integration/generated/lro/lroRPC/api-extractor.json +18 -0
  249. package/test/integration/generated/lro/lroRPC/package.json +82 -0
  250. package/test/integration/generated/lro/lroRPC/rollup.config.js +118 -0
  251. package/test/integration/generated/lro/lroRPC/src/clientDefinitions.ts +79 -0
  252. package/test/integration/generated/lro/lroRPC/src/index.ts +15 -0
  253. package/test/integration/generated/lro/lroRPC/src/isUnexpected.ts +153 -0
  254. package/test/integration/generated/lro/lroRPC/src/models.ts +8 -0
  255. package/test/integration/generated/lro/lroRPC/src/outputModels.ts +40 -0
  256. package/test/integration/generated/lro/lroRPC/src/parameters.ts +20 -0
  257. package/test/integration/generated/lro/lroRPC/src/pollingHelper.ts +127 -0
  258. package/test/integration/generated/lro/lroRPC/src/responses.ts +124 -0
  259. package/test/integration/generated/lro/lroRPC/src/specsAzureCoreLroRpc.ts +31 -0
  260. package/test/integration/generated/lro/lroRPC/tsconfig.json +25 -0
  261. package/test/integration/generated/lro/lroRPC/tspconfig.yaml +14 -0
  262. package/test/integration/generated/models/inheritance/README.md +3 -3
  263. package/test/integration/generated/models/inheritance/package.json +2 -2
  264. package/test/integration/generated/models/inheritance/src/clientDefinitions.ts +13 -11
  265. package/test/integration/generated/models/inheritance/src/index.ts +3 -3
  266. package/test/integration/generated/models/inheritance/src/{modelsInheritance.ts → typeModelInheritance.ts} +4 -4
  267. package/test/integration/generated/models/inheritance/tspconfig.yaml +5 -2
  268. package/test/integration/generated/models/propertyNullable/.eslintrc.json +11 -0
  269. package/test/integration/generated/models/propertyNullable/README.md +56 -0
  270. package/test/integration/generated/models/propertyNullable/api-extractor.json +18 -0
  271. package/test/integration/generated/models/propertyNullable/package.json +80 -0
  272. package/test/integration/generated/models/propertyNullable/rollup.config.js +118 -0
  273. package/test/integration/generated/models/propertyNullable/src/clientDefinitions.ts +227 -0
  274. package/test/integration/generated/models/propertyNullable/src/index.ts +13 -0
  275. package/test/integration/generated/models/propertyNullable/src/models.ts +56 -0
  276. package/test/integration/generated/models/propertyNullable/src/outputModels.ts +56 -0
  277. package/test/integration/generated/models/propertyNullable/src/parameters.ts +197 -0
  278. package/test/integration/generated/models/propertyNullable/src/responses.ts +144 -0
  279. package/test/integration/generated/{resiliency/devDriven/src/resiliencyDevDriven.ts → models/propertyNullable/src/typePropertyNullable.ts} +5 -5
  280. package/test/integration/generated/models/propertyNullable/tsconfig.json +25 -0
  281. package/test/integration/generated/models/propertyNullable/tspconfig.yaml +14 -0
  282. package/test/integration/generated/models/propertyOptional/README.md +3 -3
  283. package/test/integration/generated/models/propertyOptional/package.json +2 -2
  284. package/test/integration/generated/models/propertyOptional/src/clientDefinitions.ts +47 -47
  285. package/test/integration/generated/models/propertyOptional/src/index.ts +3 -3
  286. package/test/integration/generated/models/propertyOptional/src/parameters.ts +7 -6
  287. package/test/integration/generated/models/propertyOptional/src/responses.ts +4 -4
  288. package/test/integration/generated/models/propertyOptional/src/{modelsPropertyOptional.ts → typePropertyOptional.ts} +4 -4
  289. package/test/integration/generated/models/propertyOptional/tspconfig.yaml +5 -2
  290. package/test/integration/generated/models/propertyTypes/README.md +3 -3
  291. package/test/integration/generated/models/propertyTypes/package.json +2 -2
  292. package/test/integration/generated/models/propertyTypes/src/clientDefinitions.ts +55 -47
  293. package/test/integration/generated/models/propertyTypes/src/index.ts +3 -3
  294. package/test/integration/generated/models/propertyTypes/src/parameters.ts +8 -6
  295. package/test/integration/generated/models/propertyTypes/src/responses.ts +4 -4
  296. package/test/integration/generated/models/propertyTypes/src/{modelsPropertyTypes.ts → typePropertyValueTypes.ts} +4 -4
  297. package/test/integration/generated/models/propertyTypes/tspconfig.yaml +5 -2
  298. package/test/integration/generated/models/usage/README.md +3 -3
  299. package/test/integration/generated/models/usage/package.json +2 -2
  300. package/test/integration/generated/models/usage/src/clientDefinitions.ts +7 -7
  301. package/test/integration/generated/models/usage/src/index.ts +3 -3
  302. package/test/integration/generated/models/usage/src/{modelsUsage.ts → typeModelUsage.ts} +4 -4
  303. package/test/integration/generated/models/usage/tspconfig.yaml +5 -2
  304. package/test/integration/generated/models/visibility/README.md +3 -3
  305. package/test/integration/generated/models/visibility/package.json +2 -2
  306. package/test/integration/generated/models/visibility/src/clientDefinitions.ts +3 -3
  307. package/test/integration/generated/models/visibility/src/index.ts +3 -3
  308. package/test/integration/generated/models/visibility/src/{modelsVisibilityAutomatic.ts → typeModelVisibility.ts} +4 -4
  309. package/test/integration/generated/models/visibility/tspconfig.yaml +5 -2
  310. package/test/integration/generated/parameters/collection-format/src/clientDefinitions.ts +63 -0
  311. package/test/integration/generated/parameters/collection-format/src/collectionFormatClient.ts +31 -0
  312. package/test/integration/generated/parameters/collection-format/src/index.ts +12 -0
  313. package/test/integration/generated/parameters/collection-format/src/parameters.ts +71 -0
  314. package/test/integration/generated/parameters/collection-format/src/responses.ts +34 -0
  315. package/test/integration/generated/parameters/collection-format/src/serializeHelper.ts +28 -0
  316. package/test/integration/generated/parameters/collection-format/tspconfig.yaml +14 -0
  317. package/test/integration/generated/parameters/spread/src/clientDefinitions.ts +61 -0
  318. package/test/integration/generated/{lro/lroBasic → parameters/spread}/src/index.ts +4 -4
  319. package/test/integration/generated/parameters/spread/src/models.ts +7 -0
  320. package/test/integration/generated/parameters/spread/src/parameters.ts +61 -0
  321. package/test/integration/generated/parameters/spread/src/parametersSpread.ts +31 -0
  322. package/test/integration/generated/parameters/spread/src/responses.ts +25 -0
  323. package/test/integration/generated/parameters/spread/tspconfig.yaml +12 -0
  324. package/test/integration/generated/projection/src/clientDefinitions.ts +71 -0
  325. package/test/integration/generated/projection/src/index.ts +12 -0
  326. package/test/integration/generated/projection/src/models.ts +22 -0
  327. package/test/integration/generated/projection/src/parameters.ts +48 -0
  328. package/test/integration/generated/projection/src/projectionClient.ts +31 -0
  329. package/test/integration/generated/projection/src/responses.ts +34 -0
  330. package/test/integration/generated/projection/tspconfig.yaml +14 -0
  331. package/test/integration/generated/resiliency/srvDriven1/README.md +4 -4
  332. package/test/integration/generated/resiliency/srvDriven1/package.json +2 -2
  333. package/test/integration/generated/resiliency/srvDriven1/src/clientDefinitions.ts +25 -49
  334. package/test/integration/generated/resiliency/srvDriven1/src/index.ts +3 -5
  335. package/test/integration/generated/resiliency/srvDriven1/src/parameters.ts +11 -32
  336. package/test/integration/generated/resiliency/srvDriven1/src/responses.ts +9 -24
  337. package/test/integration/generated/resiliency/srvDriven1/src/serviceDrivenOldClient.ts +39 -0
  338. package/test/integration/generated/resiliency/srvDriven1/tspconfig.yaml +6 -2
  339. package/test/integration/generated/resiliency/srvDriven2/README.md +13 -4
  340. package/test/integration/generated/resiliency/srvDriven2/package.json +2 -2
  341. package/test/integration/generated/resiliency/srvDriven2/src/clientDefinitions.ts +32 -68
  342. package/test/integration/generated/resiliency/srvDriven2/src/index.ts +3 -5
  343. package/test/integration/generated/resiliency/srvDriven2/src/parameters.ts +19 -42
  344. package/test/integration/generated/resiliency/srvDriven2/src/responses.ts +10 -31
  345. package/test/integration/generated/resiliency/srvDriven2/src/serviceDrivenNewClient.ts +39 -0
  346. package/test/integration/generated/resiliency/srvDriven2/tspconfig.yaml +6 -2
  347. package/test/integration/generated/server/path/multiple/src/clientDefinitions.ts +35 -0
  348. package/test/integration/generated/server/path/multiple/src/index.ts +11 -0
  349. package/test/integration/generated/server/path/multiple/src/multipleParamInServerPathClient.ts +39 -0
  350. package/test/integration/generated/server/path/multiple/src/parameters.ts +7 -0
  351. package/test/integration/generated/server/path/multiple/src/responses.ts +14 -0
  352. package/test/integration/generated/server/path/multiple/tspconfig.yaml +14 -0
  353. package/test/integration/generated/server/path/single/src/clientDefinitions.ts +19 -0
  354. package/test/integration/generated/server/path/single/src/index.ts +11 -0
  355. package/test/integration/generated/server/path/single/src/parameters.ts +6 -0
  356. package/test/integration/generated/server/path/single/src/responses.ts +9 -0
  357. package/test/integration/generated/server/path/single/src/singleParamInServerPathClient.ts +34 -0
  358. package/test/integration/generated/server/path/single/tspconfig.yaml +14 -0
  359. package/test/integration/generated/specialWords/tspconfig.yaml +5 -2
  360. package/test/integration/generated/unions/src/clientDefinitions.ts +8 -8
  361. package/test/integration/generated/unions/tspconfig.yaml +5 -2
  362. package/test/integration/internal.spec.ts +43 -0
  363. package/test/integration/lroCore.spec.ts +89 -0
  364. package/test/integration/modelInheritance.spec.ts +13 -13
  365. package/test/integration/modelPropertyNullable.spec.ts +115 -0
  366. package/test/integration/modelPropertyOptional.spec.ts +32 -32
  367. package/test/integration/modelPropertyType.spec.ts +6 -6
  368. package/test/integration/modelUsage.spec.ts +7 -7
  369. package/test/integration/projection.spec.ts +102 -0
  370. package/test/integration/resiliencyDpgCustomization.spec.ts +69 -35
  371. package/test/integration/server.spec.ts +59 -0
  372. package/test/integration/spreadParameters.spec.ts +82 -0
  373. package/test/integration/unions.spec.ts +4 -4
  374. package/test/unit/apiVersion.spec.ts +388 -0
  375. package/test/unit/clientFactoryGenerator.spec.ts +0 -131
  376. package/test/unit/modelsGenerator.spec.ts +2 -2
  377. package/test/unit/parametersGenerator.spec.ts +1 -1
  378. package/test/unit/responsesGenerator.spec.ts +1 -1
  379. package/test/unit/util/emitUtil.ts +6 -5
  380. package/test/unit/util/testUtil.ts +3 -3
  381. package/dist/src/transform/transformAnnotationDetails.d.ts +0 -6
  382. package/dist/src/transform/transformAnnotationDetails.d.ts.map +0 -1
  383. package/dist/src/transform/transformAnnotationDetails.js.map +0 -1
  384. package/dist/src/transform/transformApiVersionParam.d.ts +0 -5
  385. package/dist/src/transform/transformApiVersionParam.d.ts.map +0 -1
  386. package/dist/src/transform/transformApiVersionParam.js +0 -76
  387. package/dist/src/transform/transformApiVersionParam.js.map +0 -1
  388. package/src/transform/transformApiVersionParam.ts +0 -104
  389. package/test/integration/generated/lro/lroBasic/src/clientDefinitions.ts +0 -37
  390. package/test/integration/generated/lro/lroBasic/src/parameters.ts +0 -8
  391. package/test/integration/generated/lro/lroBasic/src/responses.ts +0 -22
  392. package/test/integration/generated/lro/lroBasic/tspconfig.yaml +0 -11
  393. package/test/integration/generated/resiliency/devDriven/src/clientDefinitions.ts +0 -75
  394. package/test/integration/generated/resiliency/devDriven/src/models.ts +0 -8
  395. package/test/integration/generated/resiliency/devDriven/src/outputModels.ts +0 -25
  396. package/test/integration/generated/resiliency/devDriven/src/parameters.ts +0 -17
  397. package/test/integration/generated/resiliency/devDriven/src/responses.ts +0 -62
  398. package/test/integration/generated/resiliency/devDriven/tspconfig.yaml +0 -11
  399. package/test/integration/generated/resiliency/srvDriven1/src/models.ts +0 -6
  400. package/test/integration/generated/resiliency/srvDriven1/src/outputModels.ts +0 -6
  401. package/test/integration/generated/resiliency/srvDriven1/src/resiliencyServiceDriven1.ts +0 -31
  402. package/test/integration/generated/resiliency/srvDriven2/src/models.ts +0 -6
  403. package/test/integration/generated/resiliency/srvDriven2/src/outputModels.ts +0 -6
  404. package/test/integration/generated/resiliency/srvDriven2/src/resiliencyServiceDriven2.ts +0 -31
  405. package/test/integration/helloWorld.spec.ts +0 -20
  406. package/test/integration/lroBasic.spec.ts +0 -25
  407. /package/test/integration/generated/{resiliency/devDriven → azure/core}/.eslintrc.json +0 -0
  408. /package/test/integration/generated/{resiliency/devDriven → azure/core}/rollup.config.js +0 -0
  409. /package/test/integration/generated/{resiliency/devDriven → azure/core}/tsconfig.json +0 -0
  410. /package/test/integration/generated/{lro/lroBasic → azure/core-traits}/.eslintrc.json +0 -0
  411. /package/test/integration/generated/{lro/lroBasic → azure/core-traits}/rollup.config.js +0 -0
  412. /package/test/integration/generated/{lro/lroBasic → azure/core-traits}/tsconfig.json +0 -0
@@ -0,0 +1,71 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT license.
3
+
4
+ import { RawHttpHeadersInput } from "@azure/core-rest-pipeline";
5
+ import { RequestParameters } from "@azure-rest/core-client";
6
+
7
+ export interface QueryMultiQueryParamProperties {
8
+ /** Possible values for colors are [blue,red,green] This parameter needs to be formatted as multi collection, we provide buildMultiCollection from serializeHelper.ts to help, you will probably need to set skipUrlEncoding as true when sending the request */
9
+ colors: string;
10
+ }
11
+
12
+ export interface QueryMultiQueryParam {
13
+ queryParameters: QueryMultiQueryParamProperties;
14
+ }
15
+
16
+ export type QueryMultiParameters = QueryMultiQueryParam & RequestParameters;
17
+
18
+ export interface QuerySsvQueryParamProperties {
19
+ /** Possible values for colors are [blue,red,green] This parameter needs to be formatted as ssv collection, we provide buildSsvCollection from serializeHelper.ts to help */
20
+ colors: string;
21
+ }
22
+
23
+ export interface QuerySsvQueryParam {
24
+ queryParameters: QuerySsvQueryParamProperties;
25
+ }
26
+
27
+ export type QuerySsvParameters = QuerySsvQueryParam & RequestParameters;
28
+
29
+ export interface QueryTsvQueryParamProperties {
30
+ /** Possible values for colors are [blue,red,green] This parameter needs to be formatted as tsv collection, we provide buildTsvCollection from serializeHelper.ts to help */
31
+ colors: string;
32
+ }
33
+
34
+ export interface QueryTsvQueryParam {
35
+ queryParameters: QueryTsvQueryParamProperties;
36
+ }
37
+
38
+ export type QueryTsvParameters = QueryTsvQueryParam & RequestParameters;
39
+
40
+ export interface QueryPipesQueryParamProperties {
41
+ /** Possible values for colors are [blue,red,green] This parameter needs to be formatted as pipe collection, we provide buildPipeCollection from serializeHelper.ts to help */
42
+ colors: string;
43
+ }
44
+
45
+ export interface QueryPipesQueryParam {
46
+ queryParameters: QueryPipesQueryParamProperties;
47
+ }
48
+
49
+ export type QueryPipesParameters = QueryPipesQueryParam & RequestParameters;
50
+
51
+ export interface QueryCsvQueryParamProperties {
52
+ /** Possible values for colors are [blue,red,green] */
53
+ colors: string[];
54
+ }
55
+
56
+ export interface QueryCsvQueryParam {
57
+ queryParameters: QueryCsvQueryParamProperties;
58
+ }
59
+
60
+ export type QueryCsvParameters = QueryCsvQueryParam & RequestParameters;
61
+
62
+ export interface HeaderCsvHeaders {
63
+ /** Possible values for colors are [blue,red,green] */
64
+ colors: string[];
65
+ }
66
+
67
+ export interface HeaderCsvHeaderParam {
68
+ headers: RawHttpHeadersInput & HeaderCsvHeaders;
69
+ }
70
+
71
+ export type HeaderCsvParameters = HeaderCsvHeaderParam & RequestParameters;
@@ -0,0 +1,34 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT license.
3
+
4
+ import { HttpResponse } from "@azure-rest/core-client";
5
+
6
+ /** There is no content to send for this request, but the headers may be useful. */
7
+ export interface QueryMulti204Response extends HttpResponse {
8
+ status: "204";
9
+ }
10
+
11
+ /** There is no content to send for this request, but the headers may be useful. */
12
+ export interface QuerySsv204Response extends HttpResponse {
13
+ status: "204";
14
+ }
15
+
16
+ /** There is no content to send for this request, but the headers may be useful. */
17
+ export interface QueryTsv204Response extends HttpResponse {
18
+ status: "204";
19
+ }
20
+
21
+ /** There is no content to send for this request, but the headers may be useful. */
22
+ export interface QueryPipes204Response extends HttpResponse {
23
+ status: "204";
24
+ }
25
+
26
+ /** There is no content to send for this request, but the headers may be useful. */
27
+ export interface QueryCsv204Response extends HttpResponse {
28
+ status: "204";
29
+ }
30
+
31
+ /** There is no content to send for this request, but the headers may be useful. */
32
+ export interface HeaderCsv204Response extends HttpResponse {
33
+ status: "204";
34
+ }
@@ -0,0 +1,28 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT license.
3
+
4
+ export function buildMultiCollection(
5
+ queryParameters: string[],
6
+ parameterName: string
7
+ ) {
8
+ return queryParameters
9
+ .map((item, index) => {
10
+ if (index === 0) {
11
+ return item;
12
+ }
13
+ return `${parameterName}=${item}`;
14
+ })
15
+ .join("&");
16
+ }
17
+
18
+ export function buildPipeCollection(queryParameters: string[]): string {
19
+ return queryParameters.join("|");
20
+ }
21
+
22
+ export function buildSsvCollection(queryParameters: string[]): string {
23
+ return queryParameters.join(" ");
24
+ }
25
+
26
+ export function buildTsvCollection(queryParameters: string[]) {
27
+ return queryParameters.join("\t");
28
+ }
@@ -0,0 +1,14 @@
1
+ emit:
2
+ - "@azure-tools/typespec-ts"
3
+ options:
4
+ "@azure-tools/typespec-ts":
5
+ "emitter-output-dir": "{project-root}"
6
+ generateMetadata: false
7
+ generateTest: false
8
+ addCredentials: false
9
+ azureSdkForJs: false
10
+ isCadlTest: true
11
+ title: CollectionFormatClient
12
+ packageDetails:
13
+ name: "@msinternal/collectionFormat"
14
+ description: "CollectionFormat Test Service"
@@ -0,0 +1,61 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT license.
3
+
4
+ import {
5
+ ModelSpreadAsRequestBodyParameters,
6
+ AliasSpreadAsRequestBodyParameters,
7
+ AliasSpreadAsRequestParameterParameters,
8
+ AliasSpreadWithMultipleParametersParameters,
9
+ } from "./parameters";
10
+ import {
11
+ ModelSpreadAsRequestBody204Response,
12
+ AliasSpreadAsRequestBody204Response,
13
+ AliasSpreadAsRequestParameter204Response,
14
+ AliasSpreadWithMultipleParameters204Response,
15
+ } from "./responses";
16
+ import { Client, StreamableMethod } from "@azure-rest/core-client";
17
+
18
+ export interface ModelSpreadAsRequestBody {
19
+ put(
20
+ options?: ModelSpreadAsRequestBodyParameters
21
+ ): StreamableMethod<ModelSpreadAsRequestBody204Response>;
22
+ }
23
+
24
+ export interface AliasSpreadAsRequestBody {
25
+ put(
26
+ options?: AliasSpreadAsRequestBodyParameters
27
+ ): StreamableMethod<AliasSpreadAsRequestBody204Response>;
28
+ }
29
+
30
+ export interface AliasSpreadAsRequestParameter {
31
+ put(
32
+ options: AliasSpreadAsRequestParameterParameters
33
+ ): StreamableMethod<AliasSpreadAsRequestParameter204Response>;
34
+ }
35
+
36
+ export interface AliasSpreadWithMultipleParameters {
37
+ put(
38
+ options: AliasSpreadWithMultipleParametersParameters
39
+ ): StreamableMethod<AliasSpreadWithMultipleParameters204Response>;
40
+ }
41
+
42
+ export interface Routes {
43
+ /** Resource for '/parameters/spread/model/request-body' has methods for the following verbs: put */
44
+ (path: "/parameters/spread/model/request-body"): ModelSpreadAsRequestBody;
45
+ /** Resource for '/parameters/spread/alias/request-body' has methods for the following verbs: put */
46
+ (path: "/parameters/spread/alias/request-body"): AliasSpreadAsRequestBody;
47
+ /** Resource for '/parameters/spread/alias/request-parameter/\{id\}' has methods for the following verbs: put */
48
+ (
49
+ path: "/parameters/spread/alias/request-parameter/{id}",
50
+ id: string
51
+ ): AliasSpreadAsRequestParameter;
52
+ /** Resource for '/parameters/spread/alias/multiple-parameters/\{id\}' has methods for the following verbs: put */
53
+ (
54
+ path: "/parameters/spread/alias/multiple-parameters/{id}",
55
+ id: string
56
+ ): AliasSpreadWithMultipleParameters;
57
+ }
58
+
59
+ export type ParametersSpreadClient = Client & {
60
+ path: Routes;
61
+ };
@@ -1,12 +1,12 @@
1
1
  // Copyright (c) Microsoft Corporation.
2
2
  // Licensed under the MIT license.
3
3
 
4
- import AzureLro from "./azureLro";
4
+ import ParametersSpread from "./parametersSpread";
5
5
 
6
- export * from "./azureLro";
6
+ export * from "./parametersSpread";
7
7
  export * from "./parameters";
8
8
  export * from "./responses";
9
9
  export * from "./clientDefinitions";
10
- export * from "./pollingHelper";
10
+ export * from "./models";
11
11
 
12
- export default AzureLro;
12
+ export default ParametersSpread;
@@ -0,0 +1,7 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT license.
3
+
4
+ /** This is a simple model. */
5
+ export interface BodyParameter {
6
+ name: string;
7
+ }
@@ -0,0 +1,61 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT license.
3
+
4
+ import { RawHttpHeadersInput } from "@azure/core-rest-pipeline";
5
+ import { RequestParameters } from "@azure-rest/core-client";
6
+ import { BodyParameter } from "./models";
7
+
8
+ export interface ModelSpreadAsRequestBodyBodyParam {
9
+ body?: BodyParameter;
10
+ }
11
+
12
+ export type ModelSpreadAsRequestBodyParameters =
13
+ ModelSpreadAsRequestBodyBodyParam & RequestParameters;
14
+
15
+ export interface AliasSpreadAsRequestBodyBodyParam {
16
+ body?: { name: string };
17
+ }
18
+
19
+ export type AliasSpreadAsRequestBodyParameters =
20
+ AliasSpreadAsRequestBodyBodyParam & RequestParameters;
21
+
22
+ export interface AliasSpreadAsRequestParameterHeaders {
23
+ "x-ms-test-header": string;
24
+ }
25
+
26
+ export interface AliasSpreadAsRequestParameterBodyParam {
27
+ body?: { name: string };
28
+ }
29
+
30
+ export interface AliasSpreadAsRequestParameterHeaderParam {
31
+ headers: RawHttpHeadersInput & AliasSpreadAsRequestParameterHeaders;
32
+ }
33
+
34
+ export type AliasSpreadAsRequestParameterParameters =
35
+ AliasSpreadAsRequestParameterHeaderParam &
36
+ AliasSpreadAsRequestParameterBodyParam &
37
+ RequestParameters;
38
+
39
+ export interface AliasSpreadWithMultipleParametersHeaders {
40
+ "x-ms-test-header": string;
41
+ }
42
+
43
+ export interface AliasSpreadWithMultipleParametersBodyParam {
44
+ body?: {
45
+ prop1: string;
46
+ prop2: string;
47
+ prop3: string;
48
+ prop4: string;
49
+ prop5: string;
50
+ prop6: string;
51
+ };
52
+ }
53
+
54
+ export interface AliasSpreadWithMultipleParametersHeaderParam {
55
+ headers: RawHttpHeadersInput & AliasSpreadWithMultipleParametersHeaders;
56
+ }
57
+
58
+ export type AliasSpreadWithMultipleParametersParameters =
59
+ AliasSpreadWithMultipleParametersHeaderParam &
60
+ AliasSpreadWithMultipleParametersBodyParam &
61
+ RequestParameters;
@@ -0,0 +1,31 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT license.
3
+
4
+ import { getClient, ClientOptions } from "@azure-rest/core-client";
5
+ import { ParametersSpreadClient } from "./clientDefinitions";
6
+
7
+ /**
8
+ * Initialize a new instance of `ParametersSpreadClient`
9
+ * @param options type: ClientOptions, the parameter for all optional parameters
10
+ */
11
+ export default function createClient(
12
+ options: ClientOptions = {}
13
+ ): ParametersSpreadClient {
14
+ const baseUrl = options.baseUrl ?? `http://localhost:3000`;
15
+ options.apiVersion = options.apiVersion ?? "1.0.0";
16
+ const userAgentInfo = `azsdk-js-parameterSpread-rest/1.0.0-beta.1`;
17
+ const userAgentPrefix =
18
+ options.userAgentOptions && options.userAgentOptions.userAgentPrefix
19
+ ? `${options.userAgentOptions.userAgentPrefix} ${userAgentInfo}`
20
+ : `${userAgentInfo}`;
21
+ options = {
22
+ ...options,
23
+ userAgentOptions: {
24
+ userAgentPrefix,
25
+ },
26
+ };
27
+
28
+ const client = getClient(baseUrl, options) as ParametersSpreadClient;
29
+
30
+ return client;
31
+ }
@@ -0,0 +1,25 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT license.
3
+
4
+ import { HttpResponse } from "@azure-rest/core-client";
5
+
6
+ /** There is no content to send for this request, but the headers may be useful. */
7
+ export interface ModelSpreadAsRequestBody204Response extends HttpResponse {
8
+ status: "204";
9
+ }
10
+
11
+ /** There is no content to send for this request, but the headers may be useful. */
12
+ export interface AliasSpreadAsRequestBody204Response extends HttpResponse {
13
+ status: "204";
14
+ }
15
+
16
+ /** There is no content to send for this request, but the headers may be useful. */
17
+ export interface AliasSpreadAsRequestParameter204Response extends HttpResponse {
18
+ status: "204";
19
+ }
20
+
21
+ /** There is no content to send for this request, but the headers may be useful. */
22
+ export interface AliasSpreadWithMultipleParameters204Response
23
+ extends HttpResponse {
24
+ status: "204";
25
+ }
@@ -0,0 +1,12 @@
1
+ emit:
2
+ - "@azure-tools/typespec-ts"
3
+ options:
4
+ "@azure-tools/typespec-ts":
5
+ "emitter-output-dir": "{project-root}"
6
+ generateMetadata: false
7
+ generateTest: false
8
+ addCredentials: false
9
+ azureSdkForJs: false
10
+ isCadlTest: true
11
+ packageDetails:
12
+ name: "@msinternal/parameterSpread"
@@ -0,0 +1,71 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT license.
3
+
4
+ import {
5
+ PropertyJsonParameters,
6
+ PropertyClientParameters,
7
+ PropertyLanguageParameters,
8
+ PropertyJsonAndClientParameters,
9
+ OperationParameters,
10
+ ParameterParameters,
11
+ } from "./parameters";
12
+ import {
13
+ PropertyJson204Response,
14
+ PropertyClient204Response,
15
+ PropertyLanguage204Response,
16
+ PropertyJsonAndClient204Response,
17
+ Operation204Response,
18
+ Parameter204Response,
19
+ } from "./responses";
20
+ import { Client, StreamableMethod } from "@azure-rest/core-client";
21
+
22
+ export interface Json {
23
+ post(
24
+ options?: PropertyJsonParameters
25
+ ): StreamableMethod<PropertyJson204Response>;
26
+ }
27
+
28
+ export interface _client {
29
+ post(
30
+ options?: PropertyClientParameters
31
+ ): StreamableMethod<PropertyClient204Response>;
32
+ }
33
+
34
+ export interface Language {
35
+ post(
36
+ options?: PropertyLanguageParameters
37
+ ): StreamableMethod<PropertyLanguage204Response>;
38
+ }
39
+
40
+ export interface JsonAndClient {
41
+ post(
42
+ options?: PropertyJsonAndClientParameters
43
+ ): StreamableMethod<PropertyJsonAndClient204Response>;
44
+ }
45
+
46
+ export interface Operation {
47
+ post(options?: OperationParameters): StreamableMethod<Operation204Response>;
48
+ }
49
+
50
+ export interface Parameter {
51
+ post(options: ParameterParameters): StreamableMethod<Parameter204Response>;
52
+ }
53
+
54
+ export interface Routes {
55
+ /** Resource for '/projection/projected-name/property/json' has methods for the following verbs: post */
56
+ (path: "/projection/projected-name/property/json"): Json;
57
+ /** Resource for '/projection/projected-name/property/client' has methods for the following verbs: post */
58
+ (path: "/projection/projected-name/property/client"): _client;
59
+ /** Resource for '/projection/projected-name/property/language' has methods for the following verbs: post */
60
+ (path: "/projection/projected-name/property/language"): Language;
61
+ /** Resource for '/projection/projected-name/property/json-and-client' has methods for the following verbs: post */
62
+ (path: "/projection/projected-name/property/json-and-client"): JsonAndClient;
63
+ /** Resource for '/projection/projected-name/operation' has methods for the following verbs: post */
64
+ (path: "/projection/projected-name/operation"): Operation;
65
+ /** Resource for '/projection/projected-name/parameter' has methods for the following verbs: post */
66
+ (path: "/projection/projected-name/parameter"): Parameter;
67
+ }
68
+
69
+ export type ProjectionClient = Client & {
70
+ path: Routes;
71
+ };
@@ -0,0 +1,12 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT license.
3
+
4
+ import ProjectionClient from "./projectionClient";
5
+
6
+ export * from "./projectionClient";
7
+ export * from "./parameters";
8
+ export * from "./responses";
9
+ export * from "./clientDefinitions";
10
+ export * from "./models";
11
+
12
+ export default ProjectionClient;
@@ -0,0 +1,22 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT license.
3
+
4
+ export interface JsonProjectedNameModel {
5
+ /** Pass in true */
6
+ wireName: boolean;
7
+ }
8
+
9
+ export interface ClientProjectedNameModel {
10
+ /** Pass in true */
11
+ defaultName: boolean;
12
+ }
13
+
14
+ export interface LanguageProjectedNameModel {
15
+ /** Pass in true */
16
+ defaultName: boolean;
17
+ }
18
+
19
+ export interface JsonAndClientProjectedNameModel {
20
+ /** Pass in true */
21
+ wireName: boolean;
22
+ }
@@ -0,0 +1,48 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT license.
3
+
4
+ import { RequestParameters } from "@azure-rest/core-client";
5
+ import {
6
+ JsonProjectedNameModel,
7
+ ClientProjectedNameModel,
8
+ LanguageProjectedNameModel,
9
+ JsonAndClientProjectedNameModel,
10
+ } from "./models";
11
+
12
+ export interface PropertyJsonBodyParam {
13
+ body?: JsonProjectedNameModel;
14
+ }
15
+
16
+ export type PropertyJsonParameters = PropertyJsonBodyParam & RequestParameters;
17
+
18
+ export interface PropertyClientBodyParam {
19
+ body?: ClientProjectedNameModel;
20
+ }
21
+
22
+ export type PropertyClientParameters = PropertyClientBodyParam &
23
+ RequestParameters;
24
+
25
+ export interface PropertyLanguageBodyParam {
26
+ body?: LanguageProjectedNameModel;
27
+ }
28
+
29
+ export type PropertyLanguageParameters = PropertyLanguageBodyParam &
30
+ RequestParameters;
31
+
32
+ export interface PropertyJsonAndClientBodyParam {
33
+ body?: JsonAndClientProjectedNameModel;
34
+ }
35
+
36
+ export type PropertyJsonAndClientParameters = PropertyJsonAndClientBodyParam &
37
+ RequestParameters;
38
+ export type OperationParameters = RequestParameters;
39
+
40
+ export interface ParameterQueryParamProperties {
41
+ "default-name": string;
42
+ }
43
+
44
+ export interface ParameterQueryParam {
45
+ queryParameters: ParameterQueryParamProperties;
46
+ }
47
+
48
+ export type ParameterParameters = ParameterQueryParam & RequestParameters;
@@ -0,0 +1,31 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT license.
3
+
4
+ import { getClient, ClientOptions } from "@azure-rest/core-client";
5
+ import { ProjectionClient } from "./clientDefinitions";
6
+
7
+ /**
8
+ * Initialize a new instance of `ProjectionClient`
9
+ * @param options type: ClientOptions, the parameter for all optional parameters
10
+ */
11
+ export default function createClient(
12
+ options: ClientOptions = {}
13
+ ): ProjectionClient {
14
+ const baseUrl = options.baseUrl ?? `http://localhost:3000`;
15
+ options.apiVersion = options.apiVersion ?? "1.0.0";
16
+ const userAgentInfo = `azsdk-js-projection-rest/1.0.0-beta.1`;
17
+ const userAgentPrefix =
18
+ options.userAgentOptions && options.userAgentOptions.userAgentPrefix
19
+ ? `${options.userAgentOptions.userAgentPrefix} ${userAgentInfo}`
20
+ : `${userAgentInfo}`;
21
+ options = {
22
+ ...options,
23
+ userAgentOptions: {
24
+ userAgentPrefix,
25
+ },
26
+ };
27
+
28
+ const client = getClient(baseUrl, options) as ProjectionClient;
29
+
30
+ return client;
31
+ }
@@ -0,0 +1,34 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT license.
3
+
4
+ import { HttpResponse } from "@azure-rest/core-client";
5
+
6
+ /** There is no content to send for this request, but the headers may be useful. */
7
+ export interface PropertyJson204Response extends HttpResponse {
8
+ status: "204";
9
+ }
10
+
11
+ /** There is no content to send for this request, but the headers may be useful. */
12
+ export interface PropertyClient204Response extends HttpResponse {
13
+ status: "204";
14
+ }
15
+
16
+ /** There is no content to send for this request, but the headers may be useful. */
17
+ export interface PropertyLanguage204Response extends HttpResponse {
18
+ status: "204";
19
+ }
20
+
21
+ /** There is no content to send for this request, but the headers may be useful. */
22
+ export interface PropertyJsonAndClient204Response extends HttpResponse {
23
+ status: "204";
24
+ }
25
+
26
+ /** There is no content to send for this request, but the headers may be useful. */
27
+ export interface Operation204Response extends HttpResponse {
28
+ status: "204";
29
+ }
30
+
31
+ /** There is no content to send for this request, but the headers may be useful. */
32
+ export interface Parameter204Response extends HttpResponse {
33
+ status: "204";
34
+ }
@@ -0,0 +1,14 @@
1
+ emit:
2
+ - "@azure-tools/typespec-ts"
3
+ options:
4
+ "@azure-tools/typespec-ts":
5
+ "emitter-output-dir": "{project-root}"
6
+ generateMetadata: false
7
+ generateTest: false
8
+ addCredentials: false
9
+ azureSdkForJs: false
10
+ isCadlTest: true
11
+ title: ProjectionClient
12
+ packageDetails:
13
+ name: "@msinternal/projection"
14
+ description: "Projection Test Service"
@@ -1,6 +1,6 @@
1
- # ResiliencyServiceDriven1 REST client library for JavaScript
1
+ # ServiceDrivenOld REST client library for JavaScript
2
2
 
3
- DPG Swagger, this is the initial swagger a service could do
3
+ Test that we can grow up a service spec and service deployment into a multi-versioned service with full client support.
4
4
 
5
5
  **Please rely heavily on our [REST client docs](https://github.com/Azure/azure-sdk-for-js/blob/main/documentation/rest-clients.md) to use this library**
6
6
 
@@ -20,13 +20,13 @@ Key links:
20
20
 
21
21
  ### Install the `@msinternal/srv-driven-1` package
22
22
 
23
- Install the ResiliencyServiceDriven1 REST client REST client library for JavaScript with `npm`:
23
+ Install the ServiceDrivenOld REST client REST client library for JavaScript with `npm`:
24
24
 
25
25
  ```bash
26
26
  npm install @msinternal/srv-driven-1
27
27
  ```
28
28
 
29
- ### Create and authenticate a `ResiliencyServiceDriven1Client`
29
+ ### Create and authenticate a `ServiceDrivenOldClient`
30
30
 
31
31
  To use an [Azure Active Directory (AAD) token credential](https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/identity/identity/samples/AzureIdentityExamples.md#authenticating-with-a-pre-fetched-access-token),
32
32
  provide an instance of the desired credential type obtained from the
@@ -52,7 +52,7 @@
52
52
  "autoPublish": false,
53
53
  "dependencies": {
54
54
  "@azure/core-auth": "^1.3.0",
55
- "@azure-rest/core-client": "^1.1.0",
55
+ "@azure-rest/core-client": "^1.1.2",
56
56
  "@azure/core-rest-pipeline": "^1.8.0",
57
57
  "@azure/logger": "^1.0.0",
58
58
  "tslib": "^2.2.0"
@@ -67,7 +67,7 @@
67
67
  "prettier": "^2.5.1",
68
68
  "rimraf": "^3.0.0",
69
69
  "source-map-support": "^0.5.9",
70
- "typescript": "~4.8.0",
70
+ "typescript": "~5.0.0",
71
71
  "@rollup/plugin-commonjs": "^24.0.0",
72
72
  "@rollup/plugin-json": "^6.0.0",
73
73
  "@rollup/plugin-multi-entry": "^6.0.0",