@azure-tools/typespec-ts 0.31.0 → 0.32.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 (169) hide show
  1. package/CHANGELOG.md +25 -7
  2. package/README.md +8 -0
  3. package/dist/src/contextManager.d.ts +2 -0
  4. package/dist/src/contextManager.d.ts.map +1 -1
  5. package/dist/src/contextManager.js.map +1 -1
  6. package/dist/src/framework/dependency.d.ts +69 -0
  7. package/dist/src/framework/dependency.d.ts.map +1 -0
  8. package/dist/src/framework/dependency.js +2 -0
  9. package/dist/src/framework/dependency.js.map +1 -0
  10. package/dist/src/framework/hooks/binder.d.ts +8 -2
  11. package/dist/src/framework/hooks/binder.d.ts.map +1 -1
  12. package/dist/src/framework/hooks/binder.js +107 -20
  13. package/dist/src/framework/hooks/binder.js.map +1 -1
  14. package/dist/src/framework/hooks/useDependencies.d.ts +4 -0
  15. package/dist/src/framework/hooks/useDependencies.d.ts.map +1 -0
  16. package/dist/src/framework/hooks/useDependencies.js +13 -0
  17. package/dist/src/framework/hooks/useDependencies.js.map +1 -0
  18. package/dist/src/framework/load-static-helpers.d.ts +16 -0
  19. package/dist/src/framework/load-static-helpers.d.ts.map +1 -0
  20. package/dist/src/framework/load-static-helpers.js +93 -0
  21. package/dist/src/framework/load-static-helpers.js.map +1 -0
  22. package/dist/src/framework/reference.d.ts +1 -1
  23. package/dist/src/framework/reference.d.ts.map +1 -1
  24. package/dist/src/framework/reference.js +16 -2
  25. package/dist/src/framework/reference.js.map +1 -1
  26. package/dist/src/framework/sample.js +1 -1
  27. package/dist/src/framework/sample.js.map +1 -1
  28. package/dist/src/index.d.ts +1 -1
  29. package/dist/src/index.d.ts.map +1 -1
  30. package/dist/src/index.js +113 -79
  31. package/dist/src/index.js.map +1 -1
  32. package/dist/src/lib.d.ts +10 -1
  33. package/dist/src/lib.d.ts.map +1 -1
  34. package/dist/src/lib.js +8 -1
  35. package/dist/src/lib.js.map +1 -1
  36. package/dist/src/modular/buildClassicalClient.d.ts.map +1 -1
  37. package/dist/src/modular/buildClassicalClient.js +12 -9
  38. package/dist/src/modular/buildClassicalClient.js.map +1 -1
  39. package/dist/src/modular/buildClassicalOperationGroups.d.ts.map +1 -1
  40. package/dist/src/modular/buildClassicalOperationGroups.js +1 -11
  41. package/dist/src/modular/buildClassicalOperationGroups.js.map +1 -1
  42. package/dist/src/modular/buildClientContext.d.ts.map +1 -1
  43. package/dist/src/modular/buildClientContext.js +73 -52
  44. package/dist/src/modular/buildClientContext.js.map +1 -1
  45. package/dist/src/modular/buildCodeModel.d.ts +1 -1
  46. package/dist/src/modular/buildCodeModel.d.ts.map +1 -1
  47. package/dist/src/modular/buildCodeModel.js +36 -62
  48. package/dist/src/modular/buildCodeModel.js.map +1 -1
  49. package/dist/src/modular/buildHelperSerializers.d.ts.map +1 -1
  50. package/dist/src/modular/buildHelperSerializers.js.map +1 -1
  51. package/dist/src/modular/buildOperations.d.ts +1 -3
  52. package/dist/src/modular/buildOperations.d.ts.map +1 -1
  53. package/dist/src/modular/buildOperations.js +9 -69
  54. package/dist/src/modular/buildOperations.js.map +1 -1
  55. package/dist/src/modular/buildRestorePoller.d.ts +3 -0
  56. package/dist/src/modular/buildRestorePoller.d.ts.map +1 -0
  57. package/dist/src/modular/buildRestorePoller.js +203 -0
  58. package/dist/src/modular/buildRestorePoller.js.map +1 -0
  59. package/dist/src/modular/buildRootIndex.d.ts.map +1 -1
  60. package/dist/src/modular/buildRootIndex.js +37 -0
  61. package/dist/src/modular/buildRootIndex.js.map +1 -1
  62. package/dist/src/modular/emitLoggerFile.d.ts +4 -0
  63. package/dist/src/modular/emitLoggerFile.d.ts.map +1 -0
  64. package/dist/src/modular/emitLoggerFile.js +16 -0
  65. package/dist/src/modular/emitLoggerFile.js.map +1 -0
  66. package/dist/src/modular/emitModels.d.ts.map +1 -1
  67. package/dist/src/modular/emitModels.js +0 -5
  68. package/dist/src/modular/emitModels.js.map +1 -1
  69. package/dist/src/modular/external-dependencies.d.ts +26 -0
  70. package/dist/src/modular/external-dependencies.d.ts.map +1 -0
  71. package/dist/src/modular/external-dependencies.js +137 -0
  72. package/dist/src/modular/external-dependencies.js.map +1 -0
  73. package/dist/src/modular/helpers/clientHelpers.d.ts +13 -6
  74. package/dist/src/modular/helpers/clientHelpers.d.ts.map +1 -1
  75. package/dist/src/modular/helpers/clientHelpers.js +92 -7
  76. package/dist/src/modular/helpers/clientHelpers.js.map +1 -1
  77. package/dist/src/modular/helpers/operationHelpers.d.ts +6 -1
  78. package/dist/src/modular/helpers/operationHelpers.d.ts.map +1 -1
  79. package/dist/src/modular/helpers/operationHelpers.js +43 -69
  80. package/dist/src/modular/helpers/operationHelpers.js.map +1 -1
  81. package/dist/src/modular/helpers/typeHelpers.d.ts +1 -0
  82. package/dist/src/modular/helpers/typeHelpers.d.ts.map +1 -1
  83. package/dist/src/modular/helpers/typeHelpers.js +6 -0
  84. package/dist/src/modular/helpers/typeHelpers.js.map +1 -1
  85. package/dist/src/modular/interfaces.d.ts +1 -0
  86. package/dist/src/modular/interfaces.d.ts.map +1 -1
  87. package/dist/src/modular/serialization/buildSerializerFunction.d.ts.map +1 -1
  88. package/dist/src/modular/serialization/buildSerializerFunction.js +2 -20
  89. package/dist/src/modular/serialization/buildSerializerFunction.js.map +1 -1
  90. package/dist/src/modular/static-helpers-metadata.d.ts +72 -0
  91. package/dist/src/modular/static-helpers-metadata.d.ts.map +1 -0
  92. package/dist/src/modular/static-helpers-metadata.js +72 -0
  93. package/dist/src/modular/static-helpers-metadata.js.map +1 -0
  94. package/dist/src/transform/transfromRLCOptions.d.ts.map +1 -1
  95. package/dist/src/transform/transfromRLCOptions.js +56 -49
  96. package/dist/src/transform/transfromRLCOptions.js.map +1 -1
  97. package/dist/src/utils/credentialUtils.d.ts +10 -0
  98. package/dist/src/utils/credentialUtils.d.ts.map +1 -0
  99. package/dist/src/utils/credentialUtils.js +37 -0
  100. package/dist/src/utils/credentialUtils.js.map +1 -0
  101. package/dist/src/utils/dirname.d.ts +9 -0
  102. package/dist/src/utils/dirname.d.ts.map +1 -0
  103. package/dist/src/utils/dirname.js +12 -0
  104. package/dist/src/utils/dirname.js.map +1 -0
  105. package/dist/src/utils/emitUtil.d.ts.map +1 -1
  106. package/dist/src/utils/emitUtil.js +3 -5
  107. package/dist/src/utils/emitUtil.js.map +1 -1
  108. package/dist/src/utils/modelUtils.d.ts +1 -1
  109. package/dist/src/utils/modelUtils.js +3 -2
  110. package/dist/src/utils/modelUtils.js.map +1 -1
  111. package/dist/src/utils/operationUtil.d.ts.map +1 -1
  112. package/dist/src/utils/operationUtil.js +20 -2
  113. package/dist/src/utils/operationUtil.js.map +1 -1
  114. package/dist/src/utils/resolve-project-root.d.ts +7 -0
  115. package/dist/src/utils/resolve-project-root.d.ts.map +1 -0
  116. package/dist/src/utils/resolve-project-root.js +22 -0
  117. package/dist/src/utils/resolve-project-root.js.map +1 -0
  118. package/dist/tsconfig.tsbuildinfo +1 -1
  119. package/package.json +29 -25
  120. package/src/contextManager.ts +2 -0
  121. package/src/framework/dependency.ts +56 -0
  122. package/src/framework/hooks/binder.ts +144 -27
  123. package/src/framework/hooks/useDependencies.ts +18 -0
  124. package/src/framework/load-static-helpers.ts +174 -0
  125. package/src/framework/reference.ts +27 -3
  126. package/src/framework/sample.ts +1 -1
  127. package/src/index.ts +154 -113
  128. package/src/lib.ts +8 -1
  129. package/src/modular/buildClassicalClient.ts +14 -12
  130. package/src/modular/buildClassicalOperationGroups.ts +1 -24
  131. package/src/modular/buildClientContext.ts +93 -63
  132. package/src/modular/buildCodeModel.ts +93 -128
  133. package/src/modular/buildHelperSerializers.ts +1 -0
  134. package/src/modular/buildOperations.ts +9 -110
  135. package/src/modular/buildRestorePoller.ts +239 -0
  136. package/src/modular/buildRootIndex.ts +68 -0
  137. package/src/modular/emitLoggerFile.ts +28 -0
  138. package/src/modular/emitModels.ts +0 -8
  139. package/src/modular/external-dependencies.ts +140 -0
  140. package/src/modular/helpers/clientHelpers.ts +148 -14
  141. package/src/modular/helpers/operationHelpers.ts +72 -109
  142. package/src/modular/helpers/typeHelpers.ts +8 -0
  143. package/src/modular/interfaces.ts +1 -0
  144. package/src/modular/serialization/buildSerializerFunction.ts +3 -33
  145. package/src/modular/static-helpers-metadata.ts +73 -0
  146. package/src/transform/transfromRLCOptions.ts +61 -53
  147. package/src/utils/credentialUtils.ts +41 -0
  148. package/src/utils/dirname.ts +12 -0
  149. package/src/utils/emitUtil.ts +3 -2
  150. package/src/utils/modelUtils.ts +4 -4
  151. package/src/utils/operationUtil.ts +25 -2
  152. package/src/utils/resolve-project-root.ts +28 -0
  153. package/static/static-helpers/pagingHelpers.ts +274 -0
  154. package/static/static-helpers/pollingHelpers.ts +137 -0
  155. package/static/static-helpers/serialization/build-csv-collection.ts +6 -0
  156. package/static/static-helpers/serialization/build-multi-collection.ts +13 -0
  157. package/static/static-helpers/serialization/build-pipe-collection.ts +3 -0
  158. package/static/static-helpers/serialization/build-ssv-collection.ts +3 -0
  159. package/static/static-helpers/serialization/build-tsv-collection.ts +3 -0
  160. package/dist/src/modular/buildLroFiles.d.ts +0 -24
  161. package/dist/src/modular/buildLroFiles.d.ts.map +0 -1
  162. package/dist/src/modular/buildLroFiles.js +0 -393
  163. package/dist/src/modular/buildLroFiles.js.map +0 -1
  164. package/dist/src/modular/buildPagingFiles.d.ts +0 -4
  165. package/dist/src/modular/buildPagingFiles.d.ts.map +0 -1
  166. package/dist/src/modular/buildPagingFiles.js +0 -333
  167. package/dist/src/modular/buildPagingFiles.js.map +0 -1
  168. package/src/modular/buildLroFiles.ts +0 -429
  169. package/src/modular/buildPagingFiles.ts +0 -356
@@ -1,6 +1,6 @@
1
1
  import { getImportSpecifier } from "@azure-tools/rlc-common";
2
2
  import { getClientName } from "./namingHelpers.js";
3
- import { getType } from "./typeHelpers.js";
3
+ import { getType, isCredentialType } from "./typeHelpers.js";
4
4
  export function getClientParameters(client, dpgContext, isClassicalClient = false) {
5
5
  var _a;
6
6
  const { parameters } = client;
@@ -38,7 +38,95 @@ export function getClientParameters(client, dpgContext, isClassicalClient = fals
38
38
  params.push(optionsParam);
39
39
  return params;
40
40
  }
41
- export function getUserAgentStatements(sdkUserAgentPrefix, paramNames) {
41
+ export function buildGetClientEndpointParam(context, client) {
42
+ // Special case: endpoint URL not defined
43
+ if (client.url === "") {
44
+ const endpointParam = client.parameters.find((x) => x.location === "endpointPath");
45
+ return `options.endpoint ?? options.baseUrl ?? ${endpointParam === null || endpointParam === void 0 ? void 0 : endpointParam.clientName}`;
46
+ }
47
+ const urlParams = client.parameters.filter((x) => x.location === "path" || x.location === "endpointPath");
48
+ for (const param of urlParams) {
49
+ if (param.clientDefaultValue) {
50
+ const defaultValue = typeof param.clientDefaultValue === "string"
51
+ ? `"${param.clientDefaultValue}"`
52
+ : param.clientDefaultValue;
53
+ context.addStatements(`const ${param.clientName} = options.${param.clientName} ?? ${defaultValue};`);
54
+ }
55
+ else if (param.optional) {
56
+ context.addStatements(`const ${param.clientName} = options.${param.clientName};`);
57
+ }
58
+ }
59
+ let parameterizedEndpointUrl = client.url;
60
+ for (const param of urlParams) {
61
+ parameterizedEndpointUrl = parameterizedEndpointUrl.replace(`{${param.restApiName}}`, `\${${param.clientName}}`);
62
+ }
63
+ context.addStatements(`const endpointUrl = options.endpoint ?? options.baseUrl ?? \`${parameterizedEndpointUrl}\``);
64
+ return "endpointUrl";
65
+ }
66
+ /**
67
+ * Builds the options to be passed to getClient
68
+ *
69
+ * @param context - context in which the options are being passed; statements will be added to this context
70
+ * to help build the options shape
71
+ * @returns - an expression representing the options to be passed in to getClient
72
+ */
73
+ export function buildGetClientOptionsParam(context, codeModel, endpointParam) {
74
+ const userAgentOptions = buildUserAgentOptions(context, "azsdk-js-api");
75
+ const loggingOptions = buildLoggingOptions(codeModel.options.flavor);
76
+ const credentials = buildCredentials(codeModel, endpointParam);
77
+ let expr = "const { apiVersion: _, ...updatedOptions } = {";
78
+ expr += "...options,";
79
+ if (userAgentOptions) {
80
+ expr += `userAgentOptions: ${userAgentOptions},`;
81
+ }
82
+ if (loggingOptions) {
83
+ expr += `loggingOptions: ${loggingOptions},`;
84
+ }
85
+ if (credentials) {
86
+ expr += `credentials: ${credentials},`;
87
+ }
88
+ expr += `}`;
89
+ context.addStatements(expr);
90
+ return "updatedOptions";
91
+ }
92
+ export function buildGetClientCredentialParam(client, codeModel) {
93
+ var _a, _b;
94
+ if (codeModel.options.addCredentials &&
95
+ (codeModel.options.credentialScopes ||
96
+ codeModel.options.credentialKeyHeaderName)) {
97
+ return ((_b = (_a = client.parameters.find((x) => isCredentialType(x.type))) === null || _a === void 0 ? void 0 : _a.clientName) !== null && _b !== void 0 ? _b : "undefined");
98
+ }
99
+ else {
100
+ return "undefined";
101
+ }
102
+ }
103
+ function buildCredentials(codeModel, endpointParam) {
104
+ if (!codeModel.options.addCredentials) {
105
+ return undefined;
106
+ }
107
+ const { credentialScopes, credentialKeyHeaderName } = codeModel.options;
108
+ const scopesString = credentialScopes
109
+ ? credentialScopes.map((cs) => `"${cs}"`).join(", ") ||
110
+ `\`\${${endpointParam}}/.default\``
111
+ : "";
112
+ const scopes = scopesString
113
+ ? `scopes: options.credentials?.scopes ?? [${scopesString}],`
114
+ : "";
115
+ const apiKeyHeaderName = credentialKeyHeaderName
116
+ ? `apiKeyHeaderName: options.credentials?.apiKeyHeaderName ?? "${credentialKeyHeaderName}",`
117
+ : "";
118
+ if (!scopes && !apiKeyHeaderName) {
119
+ return undefined;
120
+ }
121
+ return `{ ${scopes}${apiKeyHeaderName} }`;
122
+ }
123
+ function buildLoggingOptions(flavor) {
124
+ if (flavor !== "azure") {
125
+ return undefined;
126
+ }
127
+ return `{ logger: options.loggingOptions?.logger ?? logger.info }`;
128
+ }
129
+ export function buildUserAgentOptions(context, sdkUserAgentPrefix) {
42
130
  const userAgentStatements = `
43
131
  const prefixFromOptions = options?.userAgentOptions?.userAgentPrefix;
44
132
  const userAgentPrefix = ${"prefixFromOptions ? `${prefixFromOptions} " +
@@ -46,11 +134,8 @@ export function getUserAgentStatements(sdkUserAgentPrefix, paramNames) {
46
134
  "` : " +
47
135
  `"${sdkUserAgentPrefix}"`};
48
136
  `;
49
- // Update param names to spread over options
50
- const updatedParamNames = paramNames.map((x) => x === "options"
51
- ? "{ ...options, userAgentOptions: { userAgentPrefix } }"
52
- : x);
53
- return { userAgentStatements, updatedParamNames };
137
+ context.addStatements(userAgentStatements);
138
+ return `{ userAgentPrefix }`;
54
139
  }
55
140
  export function importCredential(runtimeImports, clientSourceFile) {
56
141
  clientSourceFile.addImportDeclaration({
@@ -1 +1 @@
1
- {"version":3,"file":"clientHelpers.js","sourceRoot":"","sources":["../../../../src/modular/helpers/clientHelpers.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAEnB,MAAM,yBAAyB,CAAC;AAOjC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAG3C,MAAM,UAAU,mBAAmB,CACjC,MAAc,EACd,UAAsB,EACtB,iBAAiB,GAAG,KAAK;;IAEzB,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;IAC9B,MAAM,IAAI,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IACnC,MAAM,YAAY,GAAG;QACnB,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,GAAG,IAAI,sBAAsB;QACnC,WAAW,EAAE,IAAI;KAClB,CAAC;IAEF,MAAM,MAAM,GAAkD;QAC5D,GAAG,UAAU;aACV,MAAM,CACL,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,QAAQ,KAAK,KAAK;YACpB,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU;YAC1B,CAAC,CAAC,CAAC,kBAAkB,KAAK,IAAI,IAAI,CAAC,CAAC,kBAAkB,KAAK,SAAS,CAAC,CACxE;aACA,GAAG,CAA8C,CAAC,CAAC,EAAE,EAAE;YACtD,MAAM,YAAY,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;YAC/C,IAAI,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC;YACjC,IAAI,YAAY,CAAC,QAAQ,EAAE,CAAC;gBAC1B,QAAQ,GAAG,GAAG,QAAQ,SAAS,CAAC;YAClC,CAAC;YACD,OAAO;gBACL,IAAI,EAAE,CAAC,CAAC,UAAU;gBAClB,IAAI,EAAE,QAAQ;aACf,CAAC;QACJ,CAAC,CAAC;KACL,CAAC;IACF,6DAA6D;IAC7D,IAAI,iBAAiB,KAAI,MAAA,UAAU,CAAC,UAAU,0CAAE,QAAQ,CAAA,EAAE,CAAC;QACzD,iDAAiD;QACjD,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,gBAAgB;YACtB,IAAI,EAAE,QAAQ;SACf,CAAC,CAAC;IACL,CAAC;IACD,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAE1B,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,kBAA0B,EAC1B,UAAoB;IAEpB,MAAM,mBAAmB,GAAG;;8BAGxB,4CAA4C;QAC5C,kBAAkB;QAClB,MAAM;QACN,IAAI,kBAAkB,GACxB;GACD,CAAC;IAEF,4CAA4C;IAC5C,MAAM,iBAAiB,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAC7C,CAAC,KAAK,SAAS;QACb,CAAC,CAAC,uDAAuD;QACzD,CAAC,CAAC,CAAC,CACN,CAAC;IAEF,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,cAA8B,EAC9B,gBAA4B;IAE5B,gBAAgB,CAAC,oBAAoB,CAAC;QACpC,eAAe,EAAE,kBAAkB,CAAC,UAAU,EAAE,cAAc,CAAC;QAC/D,YAAY,EAAE,CAAC,iBAAiB,EAAE,eAAe,CAAC;KACnD,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"clientHelpers.js","sourceRoot":"","sources":["../../../../src/modular/helpers/clientHelpers.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ import { SdkContext, SdkModelType, SdkType } from "@azure-tools/typespec-client-
3
3
  import { FunctionDeclarationStructure, OptionalKind } from "ts-morph";
4
4
  import { Client, ModularCodeModel, Operation, Parameter, Property, Type } from "../modularCodeModel.js";
5
5
  export declare function getSendPrivateFunction(dpgContext: SdkContext, operation: Operation, clientType: string, runtimeImports: RuntimeImports): OptionalKind<FunctionDeclarationStructure>;
6
- export declare function getDeserializePrivateFunction(operation: Operation, needSubClient: boolean, needUnexpectedHelper: boolean, runtimeImports: RuntimeImports): OptionalKind<FunctionDeclarationStructure>;
6
+ export declare function getDeserializePrivateFunction(operation: Operation, runtimeImports: RuntimeImports): OptionalKind<FunctionDeclarationStructure>;
7
7
  /**
8
8
  * This operation builds and returns the function declaration for an operation.
9
9
  */
@@ -52,5 +52,10 @@ export declare function getAllAncestors(type: Type): Type[];
52
52
  export declare function getPropertySerializationPrefix(modularType: Property | Parameter, propertyPath?: string): string;
53
53
  export declare function getPropertyFullName(modularType: Property | Parameter, propertyPath?: string): string;
54
54
  export declare function isDiscriminatedUnion(type?: SdkType): type is SdkModelType;
55
+ /**
56
+ * Get an expression representing an array of expected status codes for the operation
57
+ * @param operation The operation
58
+ */
59
+ export declare function getExpectedStatuses(operation: Operation): string;
55
60
  export {};
56
61
  //# sourceMappingURL=operationHelpers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"operationHelpers.d.ts","sourceRoot":"","sources":["../../../../src/modular/helpers/operationHelpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"operationHelpers.d.ts","sourceRoot":"","sources":["../../../../src/modular/helpers/operationHelpers.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { addImportToSpecifier, getResponseBaseName, getResponseTypeName, NameType } from "@azure-tools/rlc-common";
1
+ import { addImportToSpecifier, NameType } from "@azure-tools/rlc-common";
2
2
  import { NoTarget } from "@typespec/compiler";
3
3
  import { reportDiagnostic } from "../../lib.js";
4
4
  import { toCamelCase, toPascalCase } from "../../utils/casingUtils.js";
@@ -7,72 +7,45 @@ import { getDeserializeFunctionName, isNormalUnion, isPolymorphicUnion, isSpecia
7
7
  import { getDocsFromDescription, getFixmeForMultilineDocs } from "./docsHelpers.js";
8
8
  import { getClassicalLayerPrefix, getOperationName } from "./namingHelpers.js";
9
9
  import { buildType, isTypeNullable } from "./typeHelpers.js";
10
- function getRLCResponseTypes(rlcResponse) {
11
- if (!(rlcResponse === null || rlcResponse === void 0 ? void 0 : rlcResponse.responses)) {
12
- return;
13
- }
14
- return rlcResponse === null || rlcResponse === void 0 ? void 0 : rlcResponse.responses.map((resp) => { var _a; return (_a = resp.predefinedName) !== null && _a !== void 0 ? _a : getRLCResponseType(resp.statusCode, rlcResponse); }).join(" | ");
15
- }
16
- function getRLCResponseType(statusCode, operationInfo) {
17
- if (!operationInfo) {
18
- return;
19
- }
20
- const baseResponseName = getResponseBaseName(operationInfo.operationGroup, operationInfo.operationName, statusCode);
21
- // Get the information to build the Response Interface
22
- return getResponseTypeName(baseResponseName);
23
- }
24
- function getNarrowedRLCResponse(response, rlcResponse) {
25
- var _a, _b, _c;
26
- if (!rlcResponse) {
27
- return;
28
- }
29
- const statusCode = response.statusCodes;
30
- const names = (_a = getRLCResponseTypes(rlcResponse)) === null || _a === void 0 ? void 0 : _a.split(" | ");
31
- const lroResponse = names === null || names === void 0 ? void 0 : names.filter((n) => n.endsWith(`LogicalResponse`));
32
- const normalResponse = names === null || names === void 0 ? void 0 : names.filter((n) => n === getRLCResponseType(`${statusCode}`, rlcResponse));
33
- return (
34
- // if the response is a LRO response, narrow to the lro logical response
35
- (_b = lroResponse === null || lroResponse === void 0 ? void 0 : lroResponse.at(0)) !== null && _b !== void 0 ? _b :
36
- // if the default response is a superset of one of other responses, narrow to the normal response
37
- (rlcResponse.isDefaultSupersetOfOthers
38
- ? (_c = normalResponse === null || normalResponse === void 0 ? void 0 : normalResponse.at(0)) !== null && _c !== void 0 ? _c : "any"
39
- : undefined));
40
- }
10
+ import { resolveReference } from "../../framework/reference.js";
11
+ import { PagingHelpers, PollingHelpers } from "../static-helpers-metadata.js";
12
+ import { AzurePollingDependencies } from "../external-dependencies.js";
41
13
  export function getSendPrivateFunction(dpgContext, operation, clientType, runtimeImports) {
42
14
  var _a;
43
15
  const parameters = getOperationSignatureParameters(operation, clientType);
44
16
  const { name } = getOperationName(operation);
45
- const returnType = `StreamableMethod<${getRLCResponseTypes(operation.rlcResponse)}>`;
46
17
  const functionStatement = {
47
18
  isAsync: false,
48
19
  isExported: true,
49
20
  name: `_${name}Send`,
50
21
  parameters,
51
- returnType
22
+ returnType: "StreamableMethod"
52
23
  };
53
24
  const operationPath = operation.url;
54
25
  const operationMethod = operation.method.toLowerCase();
55
26
  const optionalParamName = (_a = parameters.filter((p) => { var _a; return (_a = p.type) === null || _a === void 0 ? void 0 : _a.toString().endsWith("OptionalParams"); })[0]) === null || _a === void 0 ? void 0 : _a.name;
56
27
  const statements = [];
57
- statements.push(`return context.path("${operationPath}", ${getPathParameters(operation)}).${operationMethod}({...operationOptionsToRequestParameters(${optionalParamName}), ${getRequestParameters(dpgContext, operation, runtimeImports)}}) ${operation.isOverload ? `as ${returnType}` : ``} ;`);
28
+ statements.push(`return context.path("${operationPath}", ${getPathParameters(operation)}).${operationMethod}({...operationOptionsToRequestParameters(${optionalParamName}), ${getRequestParameters(dpgContext, operation, runtimeImports)}});`);
58
29
  return {
59
30
  ...functionStatement,
60
31
  statements
61
32
  };
62
33
  }
63
- export function getDeserializePrivateFunction(operation, needSubClient, needUnexpectedHelper, runtimeImports) {
34
+ export function getDeserializePrivateFunction(operation, runtimeImports) {
64
35
  var _a, _b, _c, _d;
65
36
  const { name } = getOperationName(operation);
66
37
  const parameters = [
67
38
  {
68
39
  name: "result",
69
- type: getRLCResponseTypes(operation.rlcResponse)
40
+ type: "PathUncheckedResponse"
70
41
  }
71
42
  ];
43
+ addImportToSpecifier("restClient", runtimeImports, "PathUncheckedResponse");
72
44
  // TODO: Support LRO + paging operation
73
45
  // https://github.com/Azure/autorest.typescript/issues/2313
74
46
  const isLroOnly = isLroOnlyOperation(operation);
75
47
  // TODO: Support operation overloads
48
+ // TODO: Support multiple responses
76
49
  const response = operation.responses[0];
77
50
  let returnType;
78
51
  if (isLroOnly && operation.method.toLowerCase() !== "patch") {
@@ -92,34 +65,14 @@ export function getDeserializePrivateFunction(operation, needSubClient, needUnex
92
65
  returnType: `Promise<${returnType.type}>`
93
66
  };
94
67
  const statements = [];
95
- if (needUnexpectedHelper) {
96
- statements.push(`if(${needSubClient ? "UnexpectedHelper." : ""}isUnexpected(result)){`, `throw createRestError(result);`, "}");
97
- addImportToSpecifier("restClient", runtimeImports, "createRestError");
98
- }
99
- else {
100
- const validStatus = [
101
- ...new Set(operation.responses
102
- .flatMap((r) => r.statusCodes)
103
- .filter((s) => s !== "default"))
104
- ];
105
- if (validStatus.length > 0) {
106
- statements.push(`if(${validStatus
107
- .map((s) => `result.status !== "${s}"`)
108
- .join(" || ")}){`, `throw createRestError(result);`, "}");
109
- addImportToSpecifier("restClient", runtimeImports, "createRestError");
110
- }
111
- }
68
+ statements.push(`const expectedStatuses = ${getExpectedStatuses(operation)};`);
69
+ statements.push(`if(!expectedStatuses.includes(result.status)){`, `throw createRestError(result);`, "}");
70
+ addImportToSpecifier("restClient", runtimeImports, "createRestError");
112
71
  const deserializedType = isLroOnly
113
72
  ? (_b = operation === null || operation === void 0 ? void 0 : operation.lroMetadata) === null || _b === void 0 ? void 0 : _b.finalResult
114
73
  : response.type;
115
74
  const hasLroSubPath = ((_c = operation === null || operation === void 0 ? void 0 : operation.lroMetadata) === null || _c === void 0 ? void 0 : _c.finalResultPath) !== undefined;
116
- // Narrow down the rlc response type to deserialized one
117
- const isNarrowedResponse = getNarrowedRLCResponse(response, operation.rlcResponse);
118
- let deserializePrefix = "result.body";
119
- if (isNarrowedResponse) {
120
- statements.push(`const res = result as unknown as ${isNarrowedResponse};`);
121
- deserializePrefix = "res.body";
122
- }
75
+ const deserializePrefix = "result.body";
123
76
  const deserializedRoot = hasLroSubPath
124
77
  ? `${deserializePrefix}.${(_d = operation === null || operation === void 0 ? void 0 : operation.lroMetadata) === null || _d === void 0 ? void 0 : _d.finalResultPath}`
125
78
  : `${deserializePrefix}`;
@@ -242,6 +195,8 @@ function getLroOnlyOperationFunction(operation, clientType) {
242
195
  const parameters = getOperationSignatureParameters(operation, clientType);
243
196
  const returnType = buildLroReturnType(operation);
244
197
  const { name, fixme = [] } = getOperationName(operation);
198
+ const pollerLikeReference = resolveReference(AzurePollingDependencies.PollerLike);
199
+ const operationStateReference = resolveReference(AzurePollingDependencies.OperationState);
245
200
  const functionStatement = {
246
201
  docs: [
247
202
  ...getDocsFromDescription(operation.description),
@@ -252,17 +207,19 @@ function getLroOnlyOperationFunction(operation, clientType) {
252
207
  name,
253
208
  propertyName: operation.name,
254
209
  parameters,
255
- returnType: `PollerLike<OperationState<${returnType.type}>, ${returnType.type}>`
210
+ returnType: `${pollerLikeReference}<${operationStateReference}<${returnType.type}>, ${returnType.type}>`
256
211
  };
212
+ const getLongRunningPollerReference = resolveReference(PollingHelpers.GetLongRunningPoller);
257
213
  const statements = [];
258
214
  statements.push(`
259
- return getLongRunningPoller(context, _${name}Deserialize, {
215
+
216
+ return ${getLongRunningPollerReference}(context, _${name}Deserialize, ${getExpectedStatuses(operation)}, {
260
217
  updateIntervalInMs: options?.updateIntervalInMs,
261
218
  abortSignal: options?.abortSignal,
262
219
  getInitialResponse: () => _${name}Send(${parameters
263
220
  .map((p) => p.name)
264
221
  .join(", ")})
265
- }) as PollerLike<OperationState<${returnType.type}>, ${returnType.type}>;
222
+ }) as ${pollerLikeReference}<${operationStateReference}<${returnType.type}>, ${returnType.type}>;
266
223
  `);
267
224
  return {
268
225
  ...functionStatement,
@@ -289,6 +246,8 @@ function getPagingOnlyOperationFunction(operation, clientType) {
289
246
  returnType = buildType(type.name, type, type.format);
290
247
  }
291
248
  const { name, fixme = [] } = getOperationName(operation);
249
+ const pagedAsyncIterableIteratorReference = resolveReference(PagingHelpers.PagedAsyncIterableIterator);
250
+ const buildPagedAsyncIteratorReference = resolveReference(PagingHelpers.BuildPagedAsyncIterator);
292
251
  const functionStatement = {
293
252
  docs: [
294
253
  ...getDocsFromDescription(operation.description),
@@ -299,7 +258,7 @@ function getPagingOnlyOperationFunction(operation, clientType) {
299
258
  name,
300
259
  propertyName: operation.name,
301
260
  parameters,
302
- returnType: `PagedAsyncIterableIterator<${returnType.type}>`
261
+ returnType: `${pagedAsyncIterableIteratorReference}<${returnType.type}>`
303
262
  };
304
263
  const statements = [];
305
264
  const options = [];
@@ -309,10 +268,11 @@ function getPagingOnlyOperationFunction(operation, clientType) {
309
268
  if (operation.continuationTokenName) {
310
269
  options.push(`nextLinkName: "${operation.continuationTokenName}"`);
311
270
  }
312
- statements.push(`return buildPagedAsyncIterator(
271
+ statements.push(`return ${buildPagedAsyncIteratorReference}(
313
272
  context,
314
273
  () => _${name}Send(${parameters.map((p) => p.name).join(", ")}),
315
274
  _${name}Deserialize,
275
+ ${getExpectedStatuses(operation)},
316
276
  ${options.length > 0 ? `{${options.join(", ")}}` : ``}
317
277
  );`);
318
278
  return {
@@ -799,7 +759,7 @@ export function deserializeResponseValue(type, restValue, runtimeImports, requir
799
759
  const elementNullOrUndefinedPrefix = isTypeNullable(type.elementType) || type.elementType.optional
800
760
  ? "!p ? p :"
801
761
  : "";
802
- return `${prefix}.map(p => { return ${elementNullOrUndefinedPrefix}{${getResponseMapping(type.elementType, "p", runtimeImports, [...typeStack, type.elementType])}}})`;
762
+ return `${prefix}.map((p: any) => { return ${elementNullOrUndefinedPrefix}{${getResponseMapping(type.elementType, "p", runtimeImports, [...typeStack, type.elementType])}}})`;
803
763
  }
804
764
  else if (isPolymorphicUnion(type.elementType)) {
805
765
  let nullOrUndefinedPrefix = "";
@@ -807,13 +767,13 @@ export function deserializeResponseValue(type, restValue, runtimeImports, requir
807
767
  nullOrUndefinedPrefix = `!p ? p :`;
808
768
  }
809
769
  const deserializeFunctionName = getDeserializeFunctionName(type.elementType, "deserialize");
810
- return `${prefix}.map(p => ${nullOrUndefinedPrefix}${deserializeFunctionName}(p))`;
770
+ return `${prefix}.map((p: any) => ${nullOrUndefinedPrefix}${deserializeFunctionName}(p))`;
811
771
  }
812
772
  return `${prefix}`;
813
773
  }
814
774
  else if (needsDeserialize(type.elementType) &&
815
775
  !((_b = type.elementType) === null || _b === void 0 ? void 0 : _b.aliasType)) {
816
- return `${prefix}.map(p => ${deserializeResponseValue(type.elementType, "p", runtimeImports, true, [...typeStack, type.elementType], (_c = type.elementType) === null || _c === void 0 ? void 0 : _c.format)})`;
776
+ return `${prefix}.map((p: any) => ${deserializeResponseValue(type.elementType, "p", runtimeImports, true, [...typeStack, type.elementType], (_c = type.elementType) === null || _c === void 0 ? void 0 : _c.format)})`;
817
777
  }
818
778
  else {
819
779
  return restValue;
@@ -1026,4 +986,18 @@ export function isDiscriminatedUnion(type) {
1026
986
  type.discriminatorProperty &&
1027
987
  type.discriminatedSubtypes);
1028
988
  }
989
+ /**
990
+ * Get an expression representing an array of expected status codes for the operation
991
+ * @param operation The operation
992
+ */
993
+ export function getExpectedStatuses(operation) {
994
+ const statusCodes = operation.responses.flatMap((x) => x.statusCodes.filter((s) => s !== "default"));
995
+ // LROs may call the same path but with GET to get the operation status.
996
+ if (isLroOnlyOperation(operation) &&
997
+ operation.method !== "GET" &&
998
+ !statusCodes.includes(200)) {
999
+ statusCodes.push(200);
1000
+ }
1001
+ return `[${statusCodes.map((x) => `"${x}"`).join(", ")}]`;
1002
+ }
1029
1003
  //# sourceMappingURL=operationHelpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"operationHelpers.js","sourceRoot":"","sources":["../../../../src/modular/helpers/operationHelpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"operationHelpers.js","sourceRoot":"","sources":["../../../../src/modular/helpers/operationHelpers.ts"],"names":[],"mappings":"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"}
@@ -23,4 +23,5 @@ export declare function buildType(clientName?: string, type?: Type, format?: str
23
23
  };
24
24
  export declare function isNumericTypeKind(kind: string): boolean;
25
25
  export declare function isDateTimeTypeKind(kind: string): boolean;
26
+ export declare function isCredentialType(type: Type): boolean;
26
27
  //# sourceMappingURL=typeHelpers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"typeHelpers.d.ts","sourceRoot":"","sources":["../../../../src/modular/helpers/typeHelpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAE9C;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAuDD;;GAEG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,YAAY,CAuCjE;AA6CD,wBAAgB,cAAc,CAAC,IAAI,EAAE,IAAI,WAExC;AAuGD;;GAEG;AACH,wBAAgB,SAAS,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,MAAM;;;EAQ1E;AAwBD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEvD;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAExD"}
1
+ {"version":3,"file":"typeHelpers.d.ts","sourceRoot":"","sources":["../../../../src/modular/helpers/typeHelpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAE9C;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAuDD;;GAEG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,YAAY,CAuCjE;AA6CD,wBAAgB,cAAc,CAAC,IAAI,EAAE,IAAI,WAExC;AAuGD;;GAEG;AACH,wBAAgB,SAAS,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,MAAM;;;EAQ1E;AAwBD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEvD;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAExD;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAMpD"}
@@ -246,4 +246,10 @@ export function isNumericTypeKind(kind) {
246
246
  export function isDateTimeTypeKind(kind) {
247
247
  return DateTimeTypeKinds.includes(kind);
248
248
  }
249
+ export function isCredentialType(type) {
250
+ var _a, _b;
251
+ const credentialTypes = ["OAuth2", "Key"];
252
+ return (credentialTypes.includes(type.type) ||
253
+ (type.type === "combined" && ((_b = (_a = type.types) === null || _a === void 0 ? void 0 : _a.every(isCredentialType)) !== null && _b !== void 0 ? _b : false)));
254
+ }
249
255
  //# sourceMappingURL=typeHelpers.js.map