@azure-tools/typespec-ts 0.12.0 → 0.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (269) hide show
  1. package/.rush/temp/operation/build/all.log +1 -0
  2. package/.rush/temp/operation/build/state.json +3 -0
  3. package/.rush/temp/package-deps_build.json +205 -190
  4. package/.rush/temp/shrinkwrap-deps.json +488 -471
  5. package/CHANGELOG.md +7 -0
  6. package/dist/src/index.d.ts.map +1 -1
  7. package/dist/src/index.js +2 -1
  8. package/dist/src/index.js.map +1 -1
  9. package/dist/src/modelUtils.d.ts +1 -1
  10. package/dist/src/modelUtils.d.ts.map +1 -1
  11. package/dist/src/modelUtils.js +79 -56
  12. package/dist/src/modelUtils.js.map +1 -1
  13. package/dist/src/operationUtil.d.ts +26 -0
  14. package/dist/src/operationUtil.d.ts.map +1 -1
  15. package/dist/src/operationUtil.js +76 -17
  16. package/dist/src/operationUtil.js.map +1 -1
  17. package/dist/src/transform/transform.d.ts.map +1 -1
  18. package/dist/src/transform/transform.js +9 -6
  19. package/dist/src/transform/transform.js.map +1 -1
  20. package/dist/src/transform/transformApiVersionInfo.d.ts.map +1 -1
  21. package/dist/src/transform/transformApiVersionInfo.js +3 -3
  22. package/dist/src/transform/transformApiVersionInfo.js.map +1 -1
  23. package/dist/src/transform/transformHelperFunctionDetails.d.ts +6 -0
  24. package/dist/src/transform/transformHelperFunctionDetails.d.ts.map +1 -0
  25. package/dist/src/transform/{transformAnnotationDetails.js → transformHelperFunctionDetails.js} +2 -2
  26. package/dist/src/transform/transformHelperFunctionDetails.js.map +1 -0
  27. package/dist/src/transform/transformParameters.d.ts.map +1 -1
  28. package/dist/src/transform/transformParameters.js +41 -33
  29. package/dist/src/transform/transformParameters.js.map +1 -1
  30. package/dist/src/transform/transformPaths.d.ts.map +1 -1
  31. package/dist/src/transform/transformPaths.js +20 -12
  32. package/dist/src/transform/transformPaths.js.map +1 -1
  33. package/dist/src/transform/transformResponses.d.ts.map +1 -1
  34. package/dist/src/transform/transformResponses.js +29 -8
  35. package/dist/src/transform/transformResponses.js.map +1 -1
  36. package/dist/src/transform/transformSchemas.js +1 -1
  37. package/dist/src/transform/transformSchemas.js.map +1 -1
  38. package/dist/tsconfig.tsbuildinfo +1 -1
  39. package/package.json +41 -38
  40. package/src/index.ts +2 -0
  41. package/src/modelUtils.ts +143 -47
  42. package/src/operationUtil.ts +111 -22
  43. package/src/transform/transform.ts +20 -5
  44. package/src/transform/transformApiVersionInfo.ts +18 -3
  45. package/src/transform/{transformAnnotationDetails.ts → transformHelperFunctionDetails.ts} +3 -3
  46. package/src/transform/transformParameters.ts +71 -20
  47. package/src/transform/transformPaths.ts +30 -15
  48. package/src/transform/transformResponses.ts +50 -6
  49. package/src/transform/transformSchemas.ts +1 -1
  50. package/test/commands/cadl-ranch-list.ts +25 -28
  51. package/test/commands/gen-cadl-ranch.ts +6 -2
  52. package/test/integration/arrayItemTypes.spec.ts +2 -2
  53. package/test/integration/azurecore.spec.ts +64 -24
  54. package/test/integration/collectionFormat.spec.ts +44 -0
  55. package/test/integration/dictionary.spec.ts +2 -2
  56. package/test/integration/extensibleEnums.spec.ts +8 -8
  57. package/test/integration/fixedEnums.spec.ts +7 -7
  58. package/test/integration/generated/arrays/itemTypes/src/arrayItemTypesClient.ts +5 -1
  59. package/test/integration/generated/arrays/itemTypes/src/clientDefinitions.ts +20 -20
  60. package/test/integration/generated/arrays/itemTypes/src/logger.ts +5 -0
  61. package/test/integration/generated/authentication/apiKey/package.json +1 -1
  62. package/test/integration/generated/authentication/apiKey/src/authApiKeyClient.ts +6 -2
  63. package/test/integration/generated/authentication/apiKey/src/logger.ts +5 -0
  64. package/test/integration/generated/authentication/oauth2/src/authOauth2Client.ts +6 -2
  65. package/test/integration/generated/authentication/oauth2/src/logger.ts +5 -0
  66. package/test/integration/generated/authentication/union/src/authUnionClient.ts +6 -2
  67. package/test/integration/generated/authentication/union/src/logger.ts +5 -0
  68. package/test/integration/generated/azure/core/package.json +1 -1
  69. package/test/integration/generated/azure/core/src/azureCoreClient.ts +5 -1
  70. package/test/integration/generated/azure/core/src/clientDefinitions.ts +22 -8
  71. package/test/integration/generated/azure/core/src/isUnexpected.ts +18 -7
  72. package/test/integration/generated/azure/core/src/logger.ts +5 -0
  73. package/test/integration/generated/azure/core/src/outputModels.ts +7 -0
  74. package/test/integration/generated/azure/core/src/paginateHelper.ts +55 -5
  75. package/test/integration/generated/azure/core/src/parameters.ts +1 -0
  76. package/test/integration/generated/azure/core/src/responses.ts +23 -1
  77. package/test/integration/generated/azure/core-traits/package.json +1 -1
  78. package/test/integration/generated/azure/core-traits/src/azureCoreTraitsClient.ts +5 -1
  79. package/test/integration/generated/azure/core-traits/src/clientDefinitions.ts +7 -25
  80. package/test/integration/generated/azure/core-traits/src/isUnexpected.ts +6 -19
  81. package/test/integration/generated/azure/core-traits/src/logger.ts +5 -0
  82. package/test/integration/generated/azure/core-traits/src/outputModels.ts +15 -0
  83. package/test/integration/generated/azure/core-traits/src/parameters.ts +4 -19
  84. package/test/integration/generated/azure/core-traits/src/responses.ts +6 -30
  85. package/test/integration/generated/dictionary/package.json +1 -1
  86. package/test/integration/generated/dictionary/src/clientDefinitions.ts +22 -22
  87. package/test/integration/generated/dictionary/src/dictClient.ts +5 -1
  88. package/test/integration/generated/dictionary/src/logger.ts +5 -0
  89. package/test/integration/generated/enums/extensible/README.md +3 -3
  90. package/test/integration/generated/enums/extensible/package.json +1 -1
  91. package/test/integration/generated/enums/extensible/src/clientDefinitions.ts +5 -5
  92. package/test/integration/generated/enums/extensible/src/index.ts +3 -3
  93. package/test/integration/generated/enums/extensible/src/logger.ts +5 -0
  94. package/test/integration/generated/enums/extensible/src/{enumsExtensible.ts → typeEnumExtensible.ts} +9 -5
  95. package/test/integration/generated/enums/fixed/README.md +3 -3
  96. package/test/integration/generated/enums/fixed/package.json +1 -1
  97. package/test/integration/generated/enums/fixed/src/clientDefinitions.ts +5 -5
  98. package/test/integration/generated/enums/fixed/src/index.ts +3 -3
  99. package/test/integration/generated/enums/fixed/src/logger.ts +5 -0
  100. package/test/integration/generated/enums/fixed/src/{enumsFixed.ts → typeEnumFixed.ts} +9 -5
  101. package/test/integration/generated/internal/src/clientDefinitions.ts +38 -12
  102. package/test/integration/generated/internal/src/index.ts +0 -1
  103. package/test/integration/generated/internal/src/internalClient.ts +5 -1
  104. package/test/integration/generated/internal/src/logger.ts +5 -0
  105. package/test/integration/generated/internal/src/outputModels.ts +9 -5
  106. package/test/integration/generated/internal/src/parameters.ts +32 -8
  107. package/test/integration/generated/internal/src/responses.ts +18 -5
  108. package/test/integration/generated/lro/lroCore/README.md +3 -3
  109. package/test/integration/generated/lro/lroCore/package.json +2 -2
  110. package/test/integration/generated/lro/lroCore/src/clientDefinitions.ts +8 -5
  111. package/test/integration/generated/lro/lroCore/src/index.ts +3 -3
  112. package/test/integration/generated/lro/lroCore/src/isUnexpected.ts +14 -7
  113. package/test/integration/generated/lro/lroCore/src/logger.ts +5 -0
  114. package/test/integration/generated/lro/lroCore/src/pollingHelper.ts +38 -0
  115. package/test/integration/generated/lro/lroCore/src/responses.ts +18 -0
  116. package/test/integration/generated/lro/lroCore/src/{azureLroCore.ts → specsAzureCoreLroStandard.ts} +9 -5
  117. package/test/integration/generated/lro/{lroBasic → lroRPC}/README.md +7 -7
  118. package/test/integration/generated/lro/{lroBasic → lroRPC}/api-extractor.json +1 -1
  119. package/test/integration/generated/lro/{lroBasic → lroRPC}/package.json +6 -6
  120. package/test/integration/generated/lro/lroRPC/src/clientDefinitions.ts +79 -0
  121. package/test/integration/generated/{resiliency/devDriven → lro/lroRPC}/src/index.ts +4 -4
  122. package/test/integration/generated/{resiliency/devDriven → lro/lroRPC}/src/isUnexpected.ts +57 -21
  123. package/test/integration/generated/lro/lroRPC/src/logger.ts +5 -0
  124. package/test/integration/generated/lro/lroRPC/src/models.ts +8 -0
  125. package/test/integration/generated/lro/lroRPC/src/outputModels.ts +40 -0
  126. package/test/integration/generated/lro/lroRPC/src/parameters.ts +20 -0
  127. package/test/integration/generated/lro/{lroBasic → lroRPC}/src/pollingHelper.ts +52 -0
  128. package/test/integration/generated/lro/lroRPC/src/responses.ts +124 -0
  129. package/test/integration/generated/lro/lroRPC/src/specsAzureCoreLroRpc.ts +35 -0
  130. package/test/integration/generated/lro/{lroBasic → lroRPC}/tspconfig.yaml +2 -2
  131. package/test/integration/generated/models/inheritance/README.md +3 -3
  132. package/test/integration/generated/models/inheritance/package.json +1 -1
  133. package/test/integration/generated/models/inheritance/src/clientDefinitions.ts +13 -11
  134. package/test/integration/generated/models/inheritance/src/index.ts +3 -3
  135. package/test/integration/generated/models/inheritance/src/logger.ts +5 -0
  136. package/test/integration/generated/models/inheritance/src/{modelsInheritance.ts → typeModelInheritance.ts} +9 -5
  137. package/test/integration/generated/models/propertyNullable/README.md +3 -3
  138. package/test/integration/generated/models/propertyNullable/package.json +1 -1
  139. package/test/integration/generated/models/propertyNullable/src/clientDefinitions.ts +43 -43
  140. package/test/integration/generated/models/propertyNullable/src/index.ts +3 -3
  141. package/test/integration/generated/models/propertyNullable/src/logger.ts +5 -0
  142. package/test/integration/generated/models/propertyNullable/src/parameters.ts +14 -12
  143. package/test/integration/generated/models/propertyNullable/src/responses.ts +4 -4
  144. package/test/integration/generated/models/propertyNullable/src/{modelsPropertyNullable.ts → typePropertyNullable.ts} +9 -5
  145. package/test/integration/generated/models/propertyOptional/README.md +3 -3
  146. package/test/integration/generated/models/propertyOptional/package.json +1 -1
  147. package/test/integration/generated/models/propertyOptional/src/clientDefinitions.ts +47 -47
  148. package/test/integration/generated/models/propertyOptional/src/index.ts +3 -3
  149. package/test/integration/generated/models/propertyOptional/src/logger.ts +5 -0
  150. package/test/integration/generated/models/propertyOptional/src/parameters.ts +7 -6
  151. package/test/integration/generated/models/propertyOptional/src/responses.ts +4 -4
  152. package/test/integration/generated/models/propertyOptional/src/{modelsPropertyOptional.ts → typePropertyOptional.ts} +9 -5
  153. package/test/integration/generated/models/propertyTypes/README.md +3 -3
  154. package/test/integration/generated/models/propertyTypes/package.json +1 -1
  155. package/test/integration/generated/models/propertyTypes/src/clientDefinitions.ts +123 -47
  156. package/test/integration/generated/models/propertyTypes/src/index.ts +3 -3
  157. package/test/integration/generated/models/propertyTypes/src/logger.ts +5 -0
  158. package/test/integration/generated/models/propertyTypes/src/models.ts +24 -0
  159. package/test/integration/generated/models/propertyTypes/src/outputModels.ts +24 -0
  160. package/test/integration/generated/models/propertyTypes/src/parameters.ts +48 -6
  161. package/test/integration/generated/models/propertyTypes/src/responses.ts +52 -4
  162. package/test/integration/generated/models/propertyTypes/src/{modelsPropertyTypes.ts → typePropertyValueTypes.ts} +9 -5
  163. package/test/integration/generated/models/usage/README.md +3 -3
  164. package/test/integration/generated/models/usage/package.json +1 -1
  165. package/test/integration/generated/models/usage/src/clientDefinitions.ts +7 -7
  166. package/test/integration/generated/models/usage/src/index.ts +3 -3
  167. package/test/integration/generated/models/usage/src/logger.ts +5 -0
  168. package/test/integration/generated/models/usage/src/{modelsUsage.ts → typeModelUsage.ts} +9 -5
  169. package/test/integration/generated/models/visibility/README.md +3 -3
  170. package/test/integration/generated/models/visibility/package.json +1 -1
  171. package/test/integration/generated/models/visibility/src/clientDefinitions.ts +3 -3
  172. package/test/integration/generated/models/visibility/src/index.ts +3 -3
  173. package/test/integration/generated/models/visibility/src/logger.ts +5 -0
  174. package/test/integration/generated/models/visibility/src/{modelsVisibilityAutomatic.ts → typeModelVisibility.ts} +9 -5
  175. package/test/integration/generated/parameters/collection-format/src/clientDefinitions.ts +24 -0
  176. package/test/integration/generated/parameters/collection-format/src/collectionFormatClient.ts +5 -1
  177. package/test/integration/generated/parameters/collection-format/src/logger.ts +5 -0
  178. package/test/integration/generated/parameters/collection-format/src/parameters.ts +33 -0
  179. package/test/integration/generated/parameters/collection-format/src/responses.ts +15 -0
  180. package/test/integration/generated/parameters/collection-format/src/serializeHelper.ts +12 -0
  181. package/test/integration/generated/parameters/spread/src/clientDefinitions.ts +61 -0
  182. package/test/integration/generated/{lro/lroBasic → parameters/spread}/src/index.ts +4 -5
  183. package/test/integration/generated/parameters/spread/src/logger.ts +5 -0
  184. package/test/integration/generated/{lro/lroBasic/src/outputModels.ts → parameters/spread/src/models.ts} +2 -3
  185. package/test/integration/generated/parameters/spread/src/parameters.ts +61 -0
  186. package/test/integration/generated/{lro/lroBasic/src/azureLro.ts → parameters/spread/src/parametersSpread.ts} +10 -6
  187. package/test/integration/generated/parameters/spread/src/responses.ts +25 -0
  188. package/test/integration/generated/{resiliency/devDriven → parameters/spread}/tspconfig.yaml +2 -4
  189. package/test/integration/generated/projection/src/clientDefinitions.ts +47 -21
  190. package/test/integration/generated/projection/src/logger.ts +5 -0
  191. package/test/integration/generated/projection/src/models.ts +18 -7
  192. package/test/integration/generated/projection/src/parameters.ts +32 -10
  193. package/test/integration/generated/projection/src/projectionClient.ts +5 -1
  194. package/test/integration/generated/projection/src/responses.ts +18 -3
  195. package/test/integration/generated/resiliency/srvDriven1/README.md +4 -4
  196. package/test/integration/generated/resiliency/srvDriven1/package.json +1 -1
  197. package/test/integration/generated/resiliency/srvDriven1/src/clientDefinitions.ts +25 -49
  198. package/test/integration/generated/resiliency/srvDriven1/src/index.ts +3 -5
  199. package/test/integration/generated/resiliency/srvDriven1/src/logger.ts +5 -0
  200. package/test/integration/generated/resiliency/srvDriven1/src/parameters.ts +11 -32
  201. package/test/integration/generated/resiliency/srvDriven1/src/responses.ts +9 -24
  202. package/test/integration/generated/resiliency/srvDriven1/src/serviceDrivenOldClient.ts +43 -0
  203. package/test/integration/generated/resiliency/srvDriven1/tspconfig.yaml +1 -0
  204. package/test/integration/generated/resiliency/srvDriven2/README.md +13 -4
  205. package/test/integration/generated/resiliency/srvDriven2/package.json +1 -1
  206. package/test/integration/generated/resiliency/srvDriven2/src/clientDefinitions.ts +32 -68
  207. package/test/integration/generated/resiliency/srvDriven2/src/index.ts +3 -5
  208. package/test/integration/generated/resiliency/srvDriven2/src/logger.ts +5 -0
  209. package/test/integration/generated/resiliency/srvDriven2/src/parameters.ts +19 -42
  210. package/test/integration/generated/resiliency/srvDriven2/src/responses.ts +10 -31
  211. package/test/integration/generated/resiliency/srvDriven2/src/serviceDrivenNewClient.ts +43 -0
  212. package/test/integration/generated/resiliency/srvDriven2/tspconfig.yaml +1 -0
  213. package/test/integration/generated/server/path/multiple/src/logger.ts +5 -0
  214. package/test/integration/generated/server/path/multiple/src/multipleParamInServerPathClient.ts +6 -2
  215. package/test/integration/generated/server/path/single/src/logger.ts +5 -0
  216. package/test/integration/generated/server/path/single/src/singleParamInServerPathClient.ts +6 -2
  217. package/test/integration/generated/specialWords/src/logger.ts +5 -0
  218. package/test/integration/generated/specialWords/src/specialWordsClient.ts +5 -1
  219. package/test/integration/generated/unions/src/clientDefinitions.ts +8 -8
  220. package/test/integration/generated/unions/src/logger.ts +5 -0
  221. package/test/integration/generated/unions/src/unionsClient.ts +5 -1
  222. package/test/integration/internal.spec.ts +45 -12
  223. package/test/integration/lroCore.spec.ts +89 -0
  224. package/test/integration/modelInheritance.spec.ts +13 -13
  225. package/test/integration/modelPropertyNullable.spec.ts +8 -8
  226. package/test/integration/modelPropertyOptional.spec.ts +32 -32
  227. package/test/integration/modelPropertyType.spec.ts +22 -6
  228. package/test/integration/modelUsage.spec.ts +7 -7
  229. package/test/integration/projection.spec.ts +62 -15
  230. package/test/integration/resiliencyDpgCustomization.spec.ts +133 -38
  231. package/test/integration/spreadParameters.spec.ts +82 -0
  232. package/test/integration/unions.spec.ts +4 -4
  233. package/test/unit/apiVersion.spec.ts +19 -7
  234. package/test/unit/clientFactoryGenerator.spec.ts +44 -16
  235. package/test/unit/modelsGenerator.spec.ts +212 -2
  236. package/test/unit/util/emitUtil.ts +13 -4
  237. package/test/unit/util/testUtil.ts +7 -2
  238. package/typespec-ts.build.log +0 -1
  239. package/dist/src/transform/transformAnnotationDetails.d.ts +0 -6
  240. package/dist/src/transform/transformAnnotationDetails.d.ts.map +0 -1
  241. package/dist/src/transform/transformAnnotationDetails.js.map +0 -1
  242. package/test/integration/generated/internal/src/models.ts +0 -8
  243. package/test/integration/generated/lro/lroBasic/src/clientDefinitions.ts +0 -37
  244. package/test/integration/generated/lro/lroBasic/src/parameters.ts +0 -8
  245. package/test/integration/generated/lro/lroBasic/src/responses.ts +0 -23
  246. package/test/integration/generated/resiliency/devDriven/.eslintrc.json +0 -11
  247. package/test/integration/generated/resiliency/devDriven/README.md +0 -56
  248. package/test/integration/generated/resiliency/devDriven/api-extractor.json +0 -18
  249. package/test/integration/generated/resiliency/devDriven/package.json +0 -81
  250. package/test/integration/generated/resiliency/devDriven/rollup.config.js +0 -118
  251. package/test/integration/generated/resiliency/devDriven/src/clientDefinitions.ts +0 -75
  252. package/test/integration/generated/resiliency/devDriven/src/models.ts +0 -8
  253. package/test/integration/generated/resiliency/devDriven/src/outputModels.ts +0 -25
  254. package/test/integration/generated/resiliency/devDriven/src/paginateHelper.ts +0 -154
  255. package/test/integration/generated/resiliency/devDriven/src/parameters.ts +0 -17
  256. package/test/integration/generated/resiliency/devDriven/src/resiliencyDevDriven.ts +0 -31
  257. package/test/integration/generated/resiliency/devDriven/src/responses.ts +0 -62
  258. package/test/integration/generated/resiliency/devDriven/tsconfig.json +0 -25
  259. package/test/integration/generated/resiliency/srvDriven1/src/models.ts +0 -6
  260. package/test/integration/generated/resiliency/srvDriven1/src/outputModels.ts +0 -6
  261. package/test/integration/generated/resiliency/srvDriven1/src/resiliencyServiceDriven1.ts +0 -31
  262. package/test/integration/generated/resiliency/srvDriven2/src/models.ts +0 -6
  263. package/test/integration/generated/resiliency/srvDriven2/src/outputModels.ts +0 -6
  264. package/test/integration/generated/resiliency/srvDriven2/src/resiliencyServiceDriven2.ts +0 -31
  265. package/test/integration/helloWorld.spec.ts +0 -20
  266. package/test/integration/lroBasic.spec.ts +0 -25
  267. /package/test/integration/generated/lro/{lroBasic → lroRPC}/.eslintrc.json +0 -0
  268. /package/test/integration/generated/lro/{lroBasic → lroRPC}/rollup.config.js +0 -0
  269. /package/test/integration/generated/lro/{lroBasic → lroRPC}/tsconfig.json +0 -0
@@ -2,33 +2,18 @@
2
2
  // Licensed under the MIT license.
3
3
 
4
4
  import { HttpResponse } from "@azure-rest/core-client";
5
- import { MessageOutput } from "./outputModels";
6
5
 
7
- /** The request has succeeded. */
8
- export interface HeadNoParams200Response extends HttpResponse {
9
- status: "200";
6
+ /** There is no content to send for this request, but the headers may be useful. */
7
+ export interface FromNone204Response extends HttpResponse {
8
+ status: "204";
10
9
  }
11
10
 
12
- /** Answer from service */
13
- export interface GetRequired200Response extends HttpResponse {
14
- status: "200";
15
- body: MessageOutput;
11
+ /** There is no content to send for this request, but the headers may be useful. */
12
+ export interface FromOneRequired204Response extends HttpResponse {
13
+ status: "204";
16
14
  }
17
15
 
18
- /** Answer from service */
19
- export interface PutRequiredOptional200Response extends HttpResponse {
20
- status: "200";
21
- body: MessageOutput;
22
- }
23
-
24
- /** Answer from service */
25
- export interface PostParameters200Response extends HttpResponse {
26
- status: "200";
27
- body: MessageOutput;
28
- }
29
-
30
- /** Answer from service */
31
- export interface GetOptional200Response extends HttpResponse {
32
- status: "200";
33
- body: MessageOutput;
16
+ /** There is no content to send for this request, but the headers may be useful. */
17
+ export interface FromOneOptional204Response extends HttpResponse {
18
+ status: "204";
34
19
  }
@@ -0,0 +1,43 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT license.
3
+
4
+ import { getClient, ClientOptions } from "@azure-rest/core-client";
5
+ import { logger } from "./logger";
6
+ import { ServiceDrivenOldClient } from "./clientDefinitions";
7
+
8
+ export interface ServiceDrivenOldClientOptions extends ClientOptions {
9
+ apiVersion?: string;
10
+ }
11
+
12
+ /**
13
+ * Initialize a new instance of `ServiceDrivenOldClient`
14
+ * @param serviceDeploymentVersion - Pass in either 'v1' or 'v2'. This represents a version of the service deployment in history. 'v1' is for the deployment when the service had only one api version. 'v2' is for the deployment when the service had api-versions 'v1' and 'v2'.
15
+ * @param options - the parameter for all optional parameters
16
+ */
17
+ export default function createClient(
18
+ serviceDeploymentVersion: string,
19
+ options: ServiceDrivenOldClientOptions = {}
20
+ ): ServiceDrivenOldClient {
21
+ const apiVersion = options.apiVersion ?? "v1";
22
+ const baseUrl =
23
+ options.baseUrl ??
24
+ `http://localhost:3000/resiliency/service-driven/client:v1/service:${serviceDeploymentVersion}/api-version:${apiVersion}`;
25
+ const userAgentInfo = `azsdk-js-srv-driven-1-rest/1.0.0`;
26
+ const userAgentPrefix =
27
+ options.userAgentOptions && options.userAgentOptions.userAgentPrefix
28
+ ? `${options.userAgentOptions.userAgentPrefix} ${userAgentInfo}`
29
+ : `${userAgentInfo}`;
30
+ options = {
31
+ ...options,
32
+ userAgentOptions: {
33
+ userAgentPrefix,
34
+ },
35
+ loggingOptions: {
36
+ logger: options.loggingOptions?.logger ?? logger.info,
37
+ },
38
+ };
39
+
40
+ const client = getClient(baseUrl, options) as ServiceDrivenOldClient;
41
+
42
+ return client;
43
+ }
@@ -8,6 +8,7 @@ options:
8
8
  addCredentials: false
9
9
  azureSdkForJs: false
10
10
  isCadlTest: true
11
+ title: ServiceDrivenOldClient
11
12
  packageDetails:
12
13
  name: "@msinternal/srv-driven-1"
13
14
  description: "Srv Driven 1 Test Service"
@@ -1,6 +1,15 @@
1
- # ResiliencyServiceDriven2 REST client library for JavaScript
1
+ # ServiceDrivenNew 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
+
5
+ There are three concepts that should be clarified:
6
+ 1. Client spec version: refers to the spec that the client is generated from. 'v1' is a client generated from old.tsp and 'v2' is a client generated from main.tsp.
7
+ 2. Service deployment version: refers to a deployment version of the service. 'v1' represents the initial deployment of the service with a single api version. 'v2' represents the new deployment of a service with multiple api versions
8
+ 3. Api version: The initial deployment of the service only supports api version 'v1'. The new deployment of the service supports api versions 'v1' and 'v2'.
9
+
10
+ We test the following configurations from this service spec:
11
+ - A client generated from the second service spec can call the second deployment of a service with api version v1
12
+ - A client generated from the second service spec can call the second deployment of a service with api version v2
4
13
 
5
14
  **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
15
 
@@ -20,13 +29,13 @@ Key links:
20
29
 
21
30
  ### Install the `@msinternal/srv-driven-2` package
22
31
 
23
- Install the ResiliencyServiceDriven2 REST client REST client library for JavaScript with `npm`:
32
+ Install the ServiceDrivenNew REST client REST client library for JavaScript with `npm`:
24
33
 
25
34
  ```bash
26
35
  npm install @msinternal/srv-driven-2
27
36
  ```
28
37
 
29
- ### Create and authenticate a `ResiliencyServiceDriven2Client`
38
+ ### Create and authenticate a `ServiceDrivenNewClient`
30
39
 
31
40
  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
41
  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.2",
55
+ "@azure-rest/core-client": "^1.1.3",
56
56
  "@azure/core-rest-pipeline": "^1.8.0",
57
57
  "@azure/logger": "^1.0.0",
58
58
  "tslib": "^2.2.0"
@@ -2,92 +2,56 @@
2
2
  // Licensed under the MIT license.
3
3
 
4
4
  import {
5
- HeadNoParamsParameters,
6
- GetRequiredParameters,
7
- PutRequiredOptionalParameters,
8
- DeleteParametersParameters,
9
- PostParametersParameters,
10
- GetOptionalParameters,
11
- GetNewOperationParameters,
5
+ AddOperationParameters,
6
+ FromNoneParameters,
7
+ FromOneRequiredParameters,
8
+ FromOneOptionalParameters,
12
9
  } from "./parameters";
13
10
  import {
14
- HeadNoParams200Response,
15
- GetRequired200Response,
16
- PutRequiredOptional200Response,
17
- DeleteParameters204Response,
18
- PostParameters200Response,
19
- GetOptional200Response,
20
- GetNewOperation200Response,
11
+ AddOperation204Response,
12
+ FromNone204Response,
13
+ FromOneRequired204Response,
14
+ FromOneOptional204Response,
21
15
  } from "./responses";
22
16
  import { Client, StreamableMethod } from "@azure-rest/core-client";
23
17
 
24
- export interface HeadNoParams {
25
- /**
26
- * Head request, no params.
27
- * Initially has no query parameters. After evolution, a new optional query parameter is added
28
- */
29
- head(
30
- options?: HeadNoParamsParameters
31
- ): StreamableMethod<HeadNoParams200Response>;
32
- /**
33
- * Get true Boolean value on path.
34
- * Initially only has one required Query Parameter. After evolution, a new optional query parameter is added
35
- */
36
- get(options: GetRequiredParameters): StreamableMethod<GetRequired200Response>;
37
- /** Initially has one required query parameter and one optional query parameter. After evolution, a new optional query parameter is added */
38
- put(
39
- options: PutRequiredOptionalParameters
40
- ): StreamableMethod<PutRequiredOptional200Response>;
41
- /**
42
- * Delete something.
43
- * Initially the path exists but there is no delete method. After evolution this is a new method in a known path
44
- */
18
+ export interface AddOperation {
19
+ /** Added operation */
45
20
  delete(
46
- options?: DeleteParametersParameters
47
- ): StreamableMethod<DeleteParameters204Response>;
21
+ options?: AddOperationParameters
22
+ ): StreamableMethod<AddOperation204Response>;
48
23
  }
49
24
 
50
- export interface PostParameters {
51
- /** POST a JSON or a JPEG */
52
- post(
53
- options: PostParametersParameters
54
- ): StreamableMethod<PostParameters200Response>;
25
+ export interface FromNone {
26
+ /** Test that grew up from accepting no parameters to an optional input parameter */
27
+ head(options?: FromNoneParameters): StreamableMethod<FromNone204Response>;
55
28
  }
56
29
 
57
- export interface GetOptional {
58
- /**
59
- * Get true Boolean value on path.
60
- * Initially has one optional query parameter. After evolution, a new optional query parameter is added
61
- */
30
+ export interface FromOneRequired {
31
+ /** Operation that grew up from accepting one required parameter to accepting a required parameter and an optional parameter. */
62
32
  get(
63
- options?: GetOptionalParameters
64
- ): StreamableMethod<GetOptional200Response>;
33
+ options: FromOneRequiredParameters
34
+ ): StreamableMethod<FromOneRequired204Response>;
65
35
  }
66
36
 
67
- export interface GetNewOperation {
68
- /**
69
- * I'm a new operation.
70
- * Initially neither path or method exist for this operation. After evolution, this is a new method in a new path
71
- */
37
+ export interface FromOneOptional {
38
+ /** Tests that we can grow up an operation from accepting one optional parameter to accepting two optional parameters. */
72
39
  get(
73
- options?: GetNewOperationParameters
74
- ): StreamableMethod<GetNewOperation200Response>;
40
+ options?: FromOneOptionalParameters
41
+ ): StreamableMethod<FromOneOptional204Response>;
75
42
  }
76
43
 
77
44
  export interface Routes {
78
- /** Resource for '/serviceDriven2/serviceDriven/parameters' has methods for the following verbs: head, get, put, delete */
79
- (path: "/serviceDriven2/serviceDriven/parameters"): HeadNoParams;
80
- /** Resource for '/serviceDriven2/serviceDriven/parameters/\{contentTypePath\}' has methods for the following verbs: post */
81
- (
82
- path: "/serviceDriven2/serviceDriven/parameters/{contentTypePath}",
83
- contentTypePath: "json" | "jpeg"
84
- ): PostParameters;
85
- /** Resource for '/serviceDriven2/serviceDriven/moreParameters' has methods for the following verbs: get */
86
- (path: "/serviceDriven2/serviceDriven/moreParameters"): GetOptional;
87
- /** Resource for '/serviceDriven2/serviceDriven/newPath' has methods for the following verbs: get */
88
- (path: "/serviceDriven2/serviceDriven/newPath"): GetNewOperation;
45
+ /** Resource for '/add-operation' has methods for the following verbs: delete */
46
+ (path: "/add-operation"): AddOperation;
47
+ /** Resource for '/add-optional-param/from-none' has methods for the following verbs: head */
48
+ (path: "/add-optional-param/from-none"): FromNone;
49
+ /** Resource for '/add-optional-param/from-one-required' has methods for the following verbs: get */
50
+ (path: "/add-optional-param/from-one-required"): FromOneRequired;
51
+ /** Resource for '/add-optional-param/from-one-optional' has methods for the following verbs: get */
52
+ (path: "/add-optional-param/from-one-optional"): FromOneOptional;
89
53
  }
90
54
 
91
- export type ResiliencyServiceDriven2Client = Client & {
55
+ export type ServiceDrivenNewClient = Client & {
92
56
  path: Routes;
93
57
  };
@@ -1,13 +1,11 @@
1
1
  // Copyright (c) Microsoft Corporation.
2
2
  // Licensed under the MIT license.
3
3
 
4
- import ResiliencyServiceDriven2 from "./resiliencyServiceDriven2";
4
+ import ServiceDrivenNewClient from "./serviceDrivenNewClient";
5
5
 
6
- export * from "./resiliencyServiceDriven2";
6
+ export * from "./serviceDrivenNewClient";
7
7
  export * from "./parameters";
8
8
  export * from "./responses";
9
9
  export * from "./clientDefinitions";
10
- export * from "./models";
11
- export * from "./outputModels";
12
10
 
13
- export default ResiliencyServiceDriven2;
11
+ export default ServiceDrivenNewClient;
@@ -0,0 +1,5 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT license.
3
+
4
+ import { createClientLogger } from "@azure/logger";
5
+ export const logger = createClientLogger("srv-driven-2");
@@ -2,67 +2,44 @@
2
2
  // Licensed under the MIT license.
3
3
 
4
4
  import { RequestParameters } from "@azure-rest/core-client";
5
- import { PostInput } from "./models";
6
5
 
7
- export interface HeadNoParamsQueryParamProperties {
8
- /** I'm a new input optional parameter */
9
- new_parameter?: string;
10
- }
11
-
12
- export interface HeadNoParamsQueryParam {
13
- queryParameters?: HeadNoParamsQueryParamProperties;
14
- }
6
+ export type AddOperationParameters = RequestParameters;
15
7
 
16
- export type HeadNoParamsParameters = HeadNoParamsQueryParam & RequestParameters;
17
-
18
- export interface GetRequiredQueryParamProperties {
19
- /** I am a required parameter */
20
- parameter: string;
8
+ export interface FromNoneQueryParamProperties {
21
9
  /** I'm a new input optional parameter */
22
- new_parameter?: string;
10
+ "new-parameter"?: string;
23
11
  }
24
12
 
25
- export interface GetRequiredQueryParam {
26
- queryParameters: GetRequiredQueryParamProperties;
13
+ export interface FromNoneQueryParam {
14
+ queryParameters?: FromNoneQueryParamProperties;
27
15
  }
28
16
 
29
- export type GetRequiredParameters = GetRequiredQueryParam & RequestParameters;
17
+ export type FromNoneParameters = FromNoneQueryParam & RequestParameters;
30
18
 
31
- export interface PutRequiredOptionalQueryParamProperties {
19
+ export interface FromOneRequiredQueryParamProperties {
32
20
  /** I am a required parameter */
33
- requiredParam: string;
34
- /** I am an optional parameter */
35
- optionalParam?: string;
21
+ parameter: string;
36
22
  /** I'm a new input optional parameter */
37
- new_parameter?: string;
23
+ "new-parameter"?: string;
38
24
  }
39
25
 
40
- export interface PutRequiredOptionalQueryParam {
41
- queryParameters: PutRequiredOptionalQueryParamProperties;
26
+ export interface FromOneRequiredQueryParam {
27
+ queryParameters: FromOneRequiredQueryParamProperties;
42
28
  }
43
29
 
44
- export type PutRequiredOptionalParameters = PutRequiredOptionalQueryParam &
30
+ export type FromOneRequiredParameters = FromOneRequiredQueryParam &
45
31
  RequestParameters;
46
32
 
47
- export interface PostParametersBodyParam {
48
- /** I am a body parameter. My only valid JSON entry is { url: "http://example.org/myimage.jpeg" } */
49
- body: PostInput;
50
- }
51
-
52
- export type PostParametersParameters = PostParametersBodyParam &
53
- RequestParameters;
54
- export type DeleteParametersParameters = RequestParameters;
55
-
56
- export interface GetOptionalQueryParamProperties {
33
+ export interface FromOneOptionalQueryParamProperties {
57
34
  /** I am an optional parameter */
58
- optionalParam?: string;
35
+ parameter?: string;
59
36
  /** I'm a new input optional parameter */
60
- new_parameter?: string;
37
+ "new-parameter"?: string;
61
38
  }
62
39
 
63
- export interface GetOptionalQueryParam {
64
- queryParameters?: GetOptionalQueryParamProperties;
40
+ export interface FromOneOptionalQueryParam {
41
+ queryParameters?: FromOneOptionalQueryParamProperties;
65
42
  }
66
43
 
67
- export type GetOptionalParameters = GetOptionalQueryParam & RequestParameters;
68
- export type GetNewOperationParameters = RequestParameters;
44
+ export type FromOneOptionalParameters = FromOneOptionalQueryParam &
45
+ RequestParameters;
@@ -2,44 +2,23 @@
2
2
  // Licensed under the MIT license.
3
3
 
4
4
  import { HttpResponse } from "@azure-rest/core-client";
5
- import { MessageOutput } from "./outputModels";
6
5
 
7
- /** The request has succeeded. */
8
- export interface HeadNoParams200Response extends HttpResponse {
9
- status: "200";
10
- }
11
-
12
- /** Answer from service */
13
- export interface GetRequired200Response extends HttpResponse {
14
- status: "200";
15
- body: MessageOutput;
16
- }
17
-
18
- /** Answer from service */
19
- export interface PutRequiredOptional200Response extends HttpResponse {
20
- status: "200";
21
- body: MessageOutput;
22
- }
23
-
24
- /** Answer from service */
25
- export interface PostParameters200Response extends HttpResponse {
26
- status: "200";
27
- body: MessageOutput;
6
+ /** There is no content to send for this request, but the headers may be useful. */
7
+ export interface AddOperation204Response extends HttpResponse {
8
+ status: "204";
28
9
  }
29
10
 
30
11
  /** There is no content to send for this request, but the headers may be useful. */
31
- export interface DeleteParameters204Response extends HttpResponse {
12
+ export interface FromNone204Response extends HttpResponse {
32
13
  status: "204";
33
14
  }
34
15
 
35
- /** Answer from service */
36
- export interface GetOptional200Response extends HttpResponse {
37
- status: "200";
38
- body: MessageOutput;
16
+ /** There is no content to send for this request, but the headers may be useful. */
17
+ export interface FromOneRequired204Response extends HttpResponse {
18
+ status: "204";
39
19
  }
40
20
 
41
- /** Answer from service */
42
- export interface GetNewOperation200Response extends HttpResponse {
43
- status: "200";
44
- body: MessageOutput;
21
+ /** There is no content to send for this request, but the headers may be useful. */
22
+ export interface FromOneOptional204Response extends HttpResponse {
23
+ status: "204";
45
24
  }
@@ -0,0 +1,43 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT license.
3
+
4
+ import { getClient, ClientOptions } from "@azure-rest/core-client";
5
+ import { logger } from "./logger";
6
+ import { ServiceDrivenNewClient } from "./clientDefinitions";
7
+
8
+ export interface ServiceDrivenNewClientOptions extends ClientOptions {
9
+ apiVersion?: string;
10
+ }
11
+
12
+ /**
13
+ * Initialize a new instance of `ServiceDrivenNewClient`
14
+ * @param serviceDeploymentVersion - Pass in either 'v1' or 'v2'. This represents a version of the service deployment in history. 'v1' is for the deployment when the service had only one api version. 'v2' is for the deployment when the service had api-versions 'v1' and 'v2'.
15
+ * @param options - the parameter for all optional parameters
16
+ */
17
+ export default function createClient(
18
+ serviceDeploymentVersion: string,
19
+ options: ServiceDrivenNewClientOptions = {}
20
+ ): ServiceDrivenNewClient {
21
+ const apiVersion = options.apiVersion ?? "v2";
22
+ const baseUrl =
23
+ options.baseUrl ??
24
+ `http://localhost:3000/resiliency/service-driven/client:v2/service:${serviceDeploymentVersion}/api-version:${apiVersion}`;
25
+ const userAgentInfo = `azsdk-js-srv-driven-2-rest/1.0.0`;
26
+ const userAgentPrefix =
27
+ options.userAgentOptions && options.userAgentOptions.userAgentPrefix
28
+ ? `${options.userAgentOptions.userAgentPrefix} ${userAgentInfo}`
29
+ : `${userAgentInfo}`;
30
+ options = {
31
+ ...options,
32
+ userAgentOptions: {
33
+ userAgentPrefix,
34
+ },
35
+ loggingOptions: {
36
+ logger: options.loggingOptions?.logger ?? logger.info,
37
+ },
38
+ };
39
+
40
+ const client = getClient(baseUrl, options) as ServiceDrivenNewClient;
41
+
42
+ return client;
43
+ }
@@ -8,6 +8,7 @@ options:
8
8
  addCredentials: false
9
9
  azureSdkForJs: false
10
10
  isCadlTest: true
11
+ title: ServiceDrivenNewClient
11
12
  packageDetails:
12
13
  name: "@msinternal/srv-driven-2"
13
14
  description: "Srv Driven 2 Test Service"
@@ -0,0 +1,5 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT license.
3
+
4
+ import { createClientLogger } from "@azure/logger";
5
+ export const logger = createClientLogger("multipleparam");
@@ -2,6 +2,7 @@
2
2
  // Licensed under the MIT license.
3
3
 
4
4
  import { getClient, ClientOptions } from "@azure-rest/core-client";
5
+ import { logger } from "./logger";
5
6
  import { MultipleParamInServerPathClient } from "./clientDefinitions";
6
7
 
7
8
  export interface MultipleParamInServerPathClientOptions extends ClientOptions {
@@ -10,8 +11,8 @@ export interface MultipleParamInServerPathClientOptions extends ClientOptions {
10
11
 
11
12
  /**
12
13
  * Initialize a new instance of `MultipleParamInServerPathClient`
13
- * @param endpoint type: string, Pass in http://localhost:3000 for endpoint.
14
- * @param options type: MultipleParamInServerPathClientOptions, the parameter for all optional parameters
14
+ * @param endpoint - Pass in http://localhost:3000 for endpoint.
15
+ * @param options - the parameter for all optional parameters
15
16
  */
16
17
  export default function createClient(
17
18
  endpoint: string,
@@ -31,6 +32,9 @@ export default function createClient(
31
32
  userAgentOptions: {
32
33
  userAgentPrefix,
33
34
  },
35
+ loggingOptions: {
36
+ logger: options.loggingOptions?.logger ?? logger.info,
37
+ },
34
38
  };
35
39
 
36
40
  const client = getClient(baseUrl, options) as MultipleParamInServerPathClient;
@@ -0,0 +1,5 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT license.
3
+
4
+ import { createClientLogger } from "@azure/logger";
5
+ export const logger = createClientLogger("singleparam");
@@ -2,12 +2,13 @@
2
2
  // Licensed under the MIT license.
3
3
 
4
4
  import { getClient, ClientOptions } from "@azure-rest/core-client";
5
+ import { logger } from "./logger";
5
6
  import { SingleParamInServerPathClient } from "./clientDefinitions";
6
7
 
7
8
  /**
8
9
  * Initialize a new instance of `SingleParamInServerPathClient`
9
- * @param endpoint type: string, Need to be set as 'http://localhost:3000' in client.
10
- * @param options type: ClientOptions, the parameter for all optional parameters
10
+ * @param endpoint - Need to be set as 'http://localhost:3000' in client.
11
+ * @param options - the parameter for all optional parameters
11
12
  */
12
13
  export default function createClient(
13
14
  endpoint: string,
@@ -26,6 +27,9 @@ export default function createClient(
26
27
  userAgentOptions: {
27
28
  userAgentPrefix,
28
29
  },
30
+ loggingOptions: {
31
+ logger: options.loggingOptions?.logger ?? logger.info,
32
+ },
29
33
  };
30
34
 
31
35
  const client = getClient(baseUrl, options) as SingleParamInServerPathClient;
@@ -0,0 +1,5 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT license.
3
+
4
+ import { createClientLogger } from "@azure/logger";
5
+ export const logger = createClientLogger("special-words");
@@ -2,11 +2,12 @@
2
2
  // Licensed under the MIT license.
3
3
 
4
4
  import { getClient, ClientOptions } from "@azure-rest/core-client";
5
+ import { logger } from "./logger";
5
6
  import { SpecialWordsClient } from "./clientDefinitions";
6
7
 
7
8
  /**
8
9
  * Initialize a new instance of `SpecialWordsClient`
9
- * @param options type: ClientOptions, the parameter for all optional parameters
10
+ * @param options - the parameter for all optional parameters
10
11
  */
11
12
  export default function createClient(
12
13
  options: ClientOptions = {}
@@ -23,6 +24,9 @@ export default function createClient(
23
24
  userAgentOptions: {
24
25
  userAgentPrefix,
25
26
  },
27
+ loggingOptions: {
28
+ logger: options.loggingOptions?.logger ?? logger.info,
29
+ },
26
30
  };
27
31
 
28
32
  const client = getClient(baseUrl, options) as SpecialWordsClient;
@@ -38,14 +38,14 @@ export interface SendSecondNamedUnionValue {
38
38
  }
39
39
 
40
40
  export interface Routes {
41
- /** Resource for '/unions/int' has methods for the following verbs: post */
42
- (path: "/unions/int"): SendInt;
43
- /** Resource for '/unions/int-array' has methods for the following verbs: post */
44
- (path: "/unions/int-array"): SendIntArray;
45
- /** Resource for '/unions/model1' has methods for the following verbs: post */
46
- (path: "/unions/model1"): SendFirstNamedUnionValue;
47
- /** Resource for '/unions/model2' has methods for the following verbs: post */
48
- (path: "/unions/model2"): SendSecondNamedUnionValue;
41
+ /** Resource for '/type/union/int' has methods for the following verbs: post */
42
+ (path: "/type/union/int"): SendInt;
43
+ /** Resource for '/type/union/int-array' has methods for the following verbs: post */
44
+ (path: "/type/union/int-array"): SendIntArray;
45
+ /** Resource for '/type/union/model1' has methods for the following verbs: post */
46
+ (path: "/type/union/model1"): SendFirstNamedUnionValue;
47
+ /** Resource for '/type/union/model2' has methods for the following verbs: post */
48
+ (path: "/type/union/model2"): SendSecondNamedUnionValue;
49
49
  }
50
50
 
51
51
  export type UnionsClient = Client & {
@@ -0,0 +1,5 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT license.
3
+
4
+ import { createClientLogger } from "@azure/logger";
5
+ export const logger = createClientLogger("unions");
@@ -2,11 +2,12 @@
2
2
  // Licensed under the MIT license.
3
3
 
4
4
  import { getClient, ClientOptions } from "@azure-rest/core-client";
5
+ import { logger } from "./logger";
5
6
  import { UnionsClient } from "./clientDefinitions";
6
7
 
7
8
  /**
8
9
  * Initialize a new instance of `UnionsClient`
9
- * @param options type: ClientOptions, the parameter for all optional parameters
10
+ * @param options - the parameter for all optional parameters
10
11
  */
11
12
  export default function createClient(
12
13
  options: ClientOptions = {}
@@ -23,6 +24,9 @@ export default function createClient(
23
24
  userAgentOptions: {
24
25
  userAgentPrefix,
25
26
  },
27
+ loggingOptions: {
28
+ logger: options.loggingOptions?.logger ?? logger.info,
29
+ },
26
30
  };
27
31
 
28
32
  const client = getClient(baseUrl, options) as UnionsClient;