@azure-tools/typespec-ts 0.28.0 → 0.29.0-alpha.20240531.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 (94) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/src/index.d.ts +2 -0
  3. package/dist/src/index.d.ts.map +1 -1
  4. package/dist/src/index.js +24 -18
  5. package/dist/src/index.js.map +1 -1
  6. package/dist/src/lib.d.ts +14 -4
  7. package/dist/src/lib.d.ts.map +1 -1
  8. package/dist/src/lib.js +9 -2
  9. package/dist/src/lib.js.map +1 -1
  10. package/dist/src/modular/buildClassicalClient.d.ts.map +1 -1
  11. package/dist/src/modular/buildClassicalClient.js +2 -0
  12. package/dist/src/modular/buildClassicalClient.js.map +1 -1
  13. package/dist/src/modular/buildClassicalOperationGroups.d.ts.map +1 -1
  14. package/dist/src/modular/buildClassicalOperationGroups.js +3 -0
  15. package/dist/src/modular/buildClassicalOperationGroups.js.map +1 -1
  16. package/dist/src/modular/buildCodeModel.d.ts.map +1 -1
  17. package/dist/src/modular/buildCodeModel.js +80 -83
  18. package/dist/src/modular/buildCodeModel.js.map +1 -1
  19. package/dist/src/modular/buildLroFiles.d.ts +24 -0
  20. package/dist/src/modular/buildLroFiles.d.ts.map +1 -0
  21. package/dist/src/modular/buildLroFiles.js +399 -0
  22. package/dist/src/modular/buildLroFiles.js.map +1 -0
  23. package/dist/src/modular/buildOperations.d.ts +6 -0
  24. package/dist/src/modular/buildOperations.d.ts.map +1 -1
  25. package/dist/src/modular/buildOperations.js +64 -5
  26. package/dist/src/modular/buildOperations.js.map +1 -1
  27. package/dist/src/modular/buildPagingFiles.js +3 -3
  28. package/dist/src/modular/buildPagingFiles.js.map +1 -1
  29. package/dist/src/modular/buildProjectFiles.d.ts +0 -3
  30. package/dist/src/modular/buildProjectFiles.d.ts.map +1 -1
  31. package/dist/src/modular/buildProjectFiles.js +0 -399
  32. package/dist/src/modular/buildProjectFiles.js.map +1 -1
  33. package/dist/src/modular/buildRootIndex.d.ts.map +1 -1
  34. package/dist/src/modular/buildRootIndex.js +20 -0
  35. package/dist/src/modular/buildRootIndex.js.map +1 -1
  36. package/dist/src/modular/buildSubpathIndex.js +4 -3
  37. package/dist/src/modular/buildSubpathIndex.js.map +1 -1
  38. package/dist/src/modular/emitModels.d.ts +2 -0
  39. package/dist/src/modular/emitModels.d.ts.map +1 -1
  40. package/dist/src/modular/emitModels.js +73 -11
  41. package/dist/src/modular/emitModels.js.map +1 -1
  42. package/dist/src/modular/helpers/operationHelpers.d.ts +5 -5
  43. package/dist/src/modular/helpers/operationHelpers.d.ts.map +1 -1
  44. package/dist/src/modular/helpers/operationHelpers.js +171 -55
  45. package/dist/src/modular/helpers/operationHelpers.js.map +1 -1
  46. package/dist/src/modular/helpers/typeHelpers.d.ts.map +1 -1
  47. package/dist/src/modular/helpers/typeHelpers.js +6 -1
  48. package/dist/src/modular/helpers/typeHelpers.js.map +1 -1
  49. package/dist/src/modular/interfaces.d.ts +5 -0
  50. package/dist/src/modular/interfaces.d.ts.map +1 -1
  51. package/dist/src/modular/modularCodeModel.d.ts +9 -1
  52. package/dist/src/modular/modularCodeModel.d.ts.map +1 -1
  53. package/dist/src/transform/transformHelperFunctionDetails.js +1 -1
  54. package/dist/src/transform/transformParameters.js +2 -2
  55. package/dist/src/transform/transformParameters.js.map +1 -1
  56. package/dist/src/transform/transformPaths.js +1 -1
  57. package/dist/src/transform/transformPaths.js.map +1 -1
  58. package/dist/src/transform/transformResponses.js +2 -2
  59. package/dist/src/transform/transformResponses.js.map +1 -1
  60. package/dist/src/transform/transformSchemas.d.ts.map +1 -1
  61. package/dist/src/transform/transformSchemas.js +23 -31
  62. package/dist/src/transform/transformSchemas.js.map +1 -1
  63. package/dist/src/transform/transfromRLCOptions.d.ts.map +1 -1
  64. package/dist/src/transform/transfromRLCOptions.js +8 -1
  65. package/dist/src/transform/transfromRLCOptions.js.map +1 -1
  66. package/dist/src/utils/modelUtils.d.ts +12 -2
  67. package/dist/src/utils/modelUtils.d.ts.map +1 -1
  68. package/dist/src/utils/modelUtils.js +88 -49
  69. package/dist/src/utils/modelUtils.js.map +1 -1
  70. package/dist/tsconfig.tsbuildinfo +1 -1
  71. package/package.json +19 -18
  72. package/src/index.ts +36 -22
  73. package/src/lib.ts +10 -2
  74. package/src/modular/buildClassicalClient.ts +2 -0
  75. package/src/modular/buildClassicalOperationGroups.ts +4 -0
  76. package/src/modular/buildCodeModel.ts +100 -155
  77. package/src/modular/buildLroFiles.ts +433 -0
  78. package/src/modular/buildOperations.ts +91 -10
  79. package/src/modular/buildPagingFiles.ts +4 -4
  80. package/src/modular/buildProjectFiles.ts +0 -471
  81. package/src/modular/buildRootIndex.ts +49 -0
  82. package/src/modular/buildSubpathIndex.ts +4 -4
  83. package/src/modular/emitModels.ts +102 -15
  84. package/src/modular/helpers/operationHelpers.ts +207 -72
  85. package/src/modular/helpers/typeHelpers.ts +6 -2
  86. package/src/modular/interfaces.ts +6 -0
  87. package/src/modular/modularCodeModel.ts +10 -1
  88. package/src/transform/transformHelperFunctionDetails.ts +1 -1
  89. package/src/transform/transformParameters.ts +2 -2
  90. package/src/transform/transformPaths.ts +1 -1
  91. package/src/transform/transformResponses.ts +2 -2
  92. package/src/transform/transformSchemas.ts +22 -33
  93. package/src/transform/transfromRLCOptions.ts +10 -1
  94. package/src/utils/modelUtils.ts +107 -46
@@ -7,19 +7,37 @@ import { getImportSpecifier } from "@azure-tools/rlc-common";
7
7
  function isAzureCoreErrorSdkType(t) {
8
8
  return (t.name &&
9
9
  ["error", "errormodel", "innererror", "errorresponse"].includes(t.name.toLowerCase()) &&
10
- t.isCoreErrorType === true);
10
+ t.coreTypeInfo === "ErrorType");
11
+ }
12
+ function isAzureCoreLroSdkType(t) {
13
+ return (t.name &&
14
+ ["operationstate"].includes(t.name.toLowerCase()) &&
15
+ t.coreTypeInfo === "LroType");
16
+ }
17
+ function isAnonymousModel(t) {
18
+ return t.type === "model" && t.name === "";
19
+ }
20
+ export function isModelWithAdditionalProperties(t) {
21
+ return t.type === "dict" && t.name !== "Record";
11
22
  }
12
23
  function getCoreClientErrorType(name, coreClientTypes) {
13
24
  const coreClientType = name === "Error" ? "ErrorModel" : name;
14
25
  coreClientTypes.add(coreClientType);
15
26
  return coreClientType;
16
27
  }
28
+ function getCoreLroType(name, coreLroTypes) {
29
+ const coreLroType = name === "OperationState" ? "CoreOperationStatus" : name;
30
+ coreLroTypes.add(coreLroType);
31
+ return coreLroType;
32
+ }
17
33
  // ====== TYPE EXTRACTION ======
18
34
  function extractModels(codeModel) {
19
35
  var _a;
20
- const models = codeModel.types.filter((t) => (t.type === "model" || t.type === "enum") &&
36
+ const models = codeModel.types.filter((t) => ((t.type === "model" || t.type === "enum") &&
21
37
  !isAzureCoreErrorSdkType(t) &&
22
- !(t.type == "model" && t.name === ""));
38
+ !isAzureCoreLroSdkType(t) &&
39
+ !isAnonymousModel(t)) ||
40
+ isModelWithAdditionalProperties(t));
23
41
  for (const model of codeModel.types) {
24
42
  if (model.type === "combined" && model.nullable) {
25
43
  for (const unionModel of (_a = model.types) !== null && _a !== void 0 ? _a : []) {
@@ -37,7 +55,10 @@ function extractModels(codeModel) {
37
55
  * 2. alias from unions, where we also need to use typescript union to combine all the union variants
38
56
  */
39
57
  export function extractAliases(codeModel) {
40
- const models = codeModel.types.filter((t) => (t.type === "model" || t.type === "combined") && t.alias && t.aliasType);
58
+ const models = codeModel.types.filter((t) => ((t.type === "model" || t.type === "combined") &&
59
+ t.alias &&
60
+ t.aliasType) ||
61
+ (isModelWithAdditionalProperties(t) && t.alias && t.aliasType));
41
62
  return models;
42
63
  }
43
64
  // ====== TYPE BUILDERS ======
@@ -82,9 +103,10 @@ export function buildModelInterface(model, cache) {
82
103
  const propertyMetadata = getType(p.type, p.format);
83
104
  let propertyTypeName = propertyMetadata.name;
84
105
  if (isAzureCoreErrorSdkType(p.type)) {
85
- propertyTypeName = isAzureCoreErrorSdkType(p.type)
86
- ? getCoreClientErrorType(propertyTypeName, cache.coreClientTypes)
87
- : propertyTypeName;
106
+ propertyTypeName = getCoreClientErrorType(propertyTypeName, cache.coreClientTypes);
107
+ }
108
+ if (isAzureCoreLroSdkType(p.type)) {
109
+ propertyTypeName = getCoreLroType(propertyTypeName, cache.coreLroTypes);
88
110
  }
89
111
  return {
90
112
  name: `"${p.clientName}"`,
@@ -105,6 +127,7 @@ export function buildModels(subClient, codeModel) {
105
127
  var _a, _b;
106
128
  // We are generating both models and enums here
107
129
  const coreClientTypes = new Set();
130
+ const coreLroTypes = new Set();
108
131
  // filter out the models/enums that are anonymous
109
132
  const models = extractModels(codeModel).filter((m) => !!m.name);
110
133
  const aliases = extractAliases(codeModel);
@@ -124,10 +147,14 @@ export function buildModels(subClient, codeModel) {
124
147
  modelsFile.addTypeAlias(enumAlias);
125
148
  }
126
149
  else {
127
- const modelInterface = buildModelInterface(model, { coreClientTypes });
128
- model.type === "model"
129
- ? (_b = model.parents) === null || _b === void 0 ? void 0 : _b.forEach((p) => { var _a; return modelInterface.extends.push((_a = p.alias) !== null && _a !== void 0 ? _a : getType(p, p.format).name); })
130
- : undefined;
150
+ const modelInterface = buildModelInterface(model, {
151
+ coreClientTypes,
152
+ coreLroTypes
153
+ });
154
+ (_b = model.parents) === null || _b === void 0 ? void 0 : _b.forEach((p) => { var _a; return modelInterface.extends.push((_a = p.alias) !== null && _a !== void 0 ? _a : getType(p, p.format).name); });
155
+ if (isModelWithAdditionalProperties(model)) {
156
+ addExtendedDictInfo(model, modelInterface, codeModel.modularOptions.compatibilityMode);
157
+ }
131
158
  modelsFile.addInterface(modelInterface);
132
159
  }
133
160
  }
@@ -139,11 +166,46 @@ export function buildModels(subClient, codeModel) {
139
166
  }
140
167
  ]);
141
168
  }
169
+ if (coreLroTypes.size > 0) {
170
+ modelsFile.addImportDeclarations([
171
+ {
172
+ moduleSpecifier: getImportSpecifier("azureCoreLro", codeModel.runtimeImports),
173
+ namedImports: Array.from(coreLroTypes).map((t) => t === "CoreOperationStatus"
174
+ ? "OperationStatus as CoreOperationStatus"
175
+ : t)
176
+ }
177
+ ]);
178
+ }
142
179
  aliases.forEach((alias) => {
143
180
  modelsFile.addTypeAlias(buildModelTypeAlias(alias));
144
181
  });
145
182
  return modelsFile;
146
183
  }
184
+ function addExtendedDictInfo(model, modelInterface, compatibilityMode = false) {
185
+ var _a, _b, _c, _d, _e;
186
+ if ((model.properties &&
187
+ model.properties.length > 0 &&
188
+ model.elementType &&
189
+ ((_a = model.properties) === null || _a === void 0 ? void 0 : _a.every((p) => {
190
+ var _a;
191
+ return (_a = getType(model.elementType)) === null || _a === void 0 ? void 0 : _a.name.includes(getType(p.type).name);
192
+ }))) ||
193
+ (((_b = model.properties) === null || _b === void 0 ? void 0 : _b.length) === 0 && model.elementType)) {
194
+ modelInterface.extends.push(`Record<string, ${(_c = getType(model.elementType).name) !== null && _c !== void 0 ? _c : "any"}>`);
195
+ }
196
+ else if (compatibilityMode) {
197
+ modelInterface.extends.push(`Record<string, any>`);
198
+ }
199
+ else {
200
+ (_d = modelInterface.properties) === null || _d === void 0 ? void 0 : _d.push({
201
+ name: "additionalProperties",
202
+ docs: ["Additional properties"],
203
+ hasQuestionToken: true,
204
+ isReadonly: false,
205
+ type: `Record<string, ${(_e = getType(model.elementType).name) !== null && _e !== void 0 ? _e : "any"}>`
206
+ });
207
+ }
208
+ }
147
209
  export function buildModelTypeAlias(model) {
148
210
  return {
149
211
  name: model.name,
@@ -1 +1 @@
1
- {"version":3,"file":"emitModels.js","sourceRoot":"","sources":["../../../src/modular/emitModels.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"emitModels.js","sourceRoot":"","sources":["../../../src/modular/emitModels.ts"],"names":[],"mappings":"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"}
@@ -38,11 +38,11 @@ export declare function deserializeResponseValue(type: Type, restValue: string,
38
38
  * deserialized correctly
39
39
  */
40
40
  export declare function serializeRequestValue(type: Type, clientValue: string, runtimeImports: RuntimeImports, required: boolean, typeStack?: Type[], format?: string): string;
41
- export declare function hasLROOperation(codeModel: ModularCodeModel, needRLC?: boolean): boolean;
42
- export declare function isLROOperation(op: Operation): boolean;
43
- export declare function hasPagingOperation(client: Client, needRLC?: boolean): boolean;
44
- export declare function hasPagingOperation(codeModel: ModularCodeModel, needRLC?: boolean): boolean;
45
- export declare function isPagingOperation(op: Operation): boolean;
41
+ export declare function isLroAndPagingOperation(op: Operation): boolean;
42
+ export declare function isLroOnlyOperation(op: Operation): boolean;
43
+ export declare function hasPagingOnlyOperation(client: Client, needRLC?: boolean): boolean;
44
+ export declare function hasPagingOnlyOperation(codeModel: ModularCodeModel, needRLC?: boolean): boolean;
45
+ export declare function isPagingOnlyOperation(op: Operation): boolean;
46
46
  export declare function getAllProperties(type: Type, parents?: Type[]): Property[];
47
47
  export declare function getAllAncestors(type: Type): Type[];
48
48
  //# sourceMappingURL=operationHelpers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"operationHelpers.d.ts","sourceRoot":"","sources":["../../../../src/modular/helpers/operationHelpers.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,4BAA4B,EAC5B,YAAY,EAEb,MAAM,UAAU,CAAC;AAElB,OAAO,EAEL,MAAM,EACN,gBAAgB,EAChB,SAAS,EACT,SAAS,EACT,QAAQ,EACR,IAAI,EACL,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,OAAO,IAAI,cAAc,EAK1B,MAAM,yBAAyB,CAAC;AAiBjC,OAAO,EAAE,UAAU,EAAE,MAAM,6CAA6C,CAAC;AAsBzE,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,MAAM,EAClB,cAAc,EAAE,cAAc,GAC7B,YAAY,CAAC,4BAA4B,CAAC,CAoC5C;AAED,wBAAgB,6BAA6B,CAC3C,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,OAAO,EACtB,oBAAoB,EAAE,OAAO,EAC7B,cAAc,EAAE,cAAc,GAC7B,YAAY,CAAC,4BAA4B,CAAC,CA6F5C;AAkDD;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,MAAM,GACjB,YAAY,CAAC,4BAA4B,CAAC,GAAG;IAAE,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,CA8DxE;AAgBD,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,SAAS,EACpB,gBAAgB,UAAQ,UAQzB;AAyLD;;GAEG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,SAAS,GAAG,QAAQ,EAC3B,cAAc,EAAE,cAAc,GAC7B,MAAM,CAmBR;AA0MD;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,iBAAiB,EAAE,IAAI,EACvB,YAAY,oBAAiB,EAC7B,cAAc,EAAE,cAAc,EAC9B,SAAS,GAAE,IAAI,EAAO,YAiGvB;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,IAAI,EACV,YAAY,oBAAwB,EACpC,cAAc,EAAE,cAAc,EAC9B,SAAS,GAAE,IAAI,EAAO,YAyFvB;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,cAAc,EAC9B,QAAQ,EAAE,OAAO,EACjB,SAAS,GAAE,IAAI,EAAO,EACtB,MAAM,CAAC,EAAE,MAAM,GACd,MAAM,CA8ER;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,IAAI,EACV,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,cAAc,EAC9B,QAAQ,EAAE,OAAO,EACjB,SAAS,GAAE,IAAI,EAAO,EACtB,MAAM,CAAC,EAAE,MAAM,GACd,MAAM,CA+FR;AAWD,wBAAgB,eAAe,CAC7B,SAAS,EAAE,gBAAgB,EAC3B,OAAO,GAAE,OAAe,WASzB;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE,SAAS,GAAG,OAAO,CAErD;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;AAC/E,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,gBAAgB,EAC3B,OAAO,CAAC,EAAE,OAAO,GAChB,OAAO,CAAC;AAoBX,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,SAAS,GAAG,OAAO,CAExD;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,GAAG,QAAQ,EAAE,CAczE;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,EAAE,CAOlD"}
1
+ {"version":3,"file":"operationHelpers.d.ts","sourceRoot":"","sources":["../../../../src/modular/helpers/operationHelpers.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,4BAA4B,EAC5B,YAAY,EAEb,MAAM,UAAU,CAAC;AAElB,OAAO,EAEL,MAAM,EACN,gBAAgB,EAChB,SAAS,EACT,SAAS,EACT,QAAQ,EACR,IAAI,EACL,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,OAAO,IAAI,cAAc,EAK1B,MAAM,yBAAyB,CAAC;AAiBjC,OAAO,EAAE,UAAU,EAAE,MAAM,6CAA6C,CAAC;AA+BzE,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,MAAM,EAClB,cAAc,EAAE,cAAc,GAC7B,YAAY,CAAC,4BAA4B,CAAC,CAoC5C;AAED,wBAAgB,6BAA6B,CAC3C,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,OAAO,EACtB,oBAAoB,EAAE,OAAO,EAC7B,cAAc,EAAE,cAAc,GAC7B,YAAY,CAAC,4BAA4B,CAAC,CAqI5C;AAkDD;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,MAAM,GACjB,YAAY,CAAC,4BAA4B,CAAC,GAAG;IAAE,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,CAiDxE;AAkHD,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,SAAS,EACpB,gBAAgB,UAAQ,UAQzB;AAgMD;;GAEG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,SAAS,GAAG,QAAQ,EAC3B,cAAc,EAAE,cAAc,GAC7B,MAAM,CAmBR;AA0MD;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,iBAAiB,EAAE,IAAI,EACvB,YAAY,oBAAiB,EAC7B,cAAc,EAAE,cAAc,EAC9B,SAAS,GAAE,IAAI,EAAO,YAiGvB;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,IAAI,EACV,YAAY,oBAAwB,EACpC,cAAc,EAAE,cAAc,EAC9B,SAAS,GAAE,IAAI,EAAO,YAyFvB;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,cAAc,EAC9B,QAAQ,EAAE,OAAO,EACjB,SAAS,GAAE,IAAI,EAAO,EACtB,MAAM,CAAC,EAAE,MAAM,GACd,MAAM,CA8ER;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,IAAI,EACV,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,cAAc,EAC9B,QAAQ,EAAE,OAAO,EACjB,SAAS,GAAE,IAAI,EAAO,EACtB,MAAM,CAAC,EAAE,MAAM,GACd,MAAM,CA+FR;AAWD,wBAAgB,uBAAuB,CAAC,EAAE,EAAE,SAAS,GAAG,OAAO,CAE9D;AAED,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,SAAS,GAAG,OAAO,CAEzD;AAED,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,OAAO,GAChB,OAAO,CAAC;AACX,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,gBAAgB,EAC3B,OAAO,CAAC,EAAE,OAAO,GAChB,OAAO,CAAC;AAoBX,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,SAAS,GAAG,OAAO,CAE5D;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,GAAG,QAAQ,EAAE,CAczE;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,EAAE,CAOlD"}
@@ -19,6 +19,13 @@ function getRLCResponseType(rlcResponse) {
19
19
  return (_a = resp.predefinedName) !== null && _a !== void 0 ? _a : getResponseTypeName(baseResponseName);
20
20
  }).join(" | ");
21
21
  }
22
+ function getRLCLroLogicalResponse(rlcResponse) {
23
+ var _a;
24
+ const logicalResponse = ((_a = rlcResponse === null || rlcResponse === void 0 ? void 0 : rlcResponse.responses) !== null && _a !== void 0 ? _a : []).filter((r) => r.predefinedName && r.predefinedName.endsWith(`LogicalResponse`));
25
+ return logicalResponse.length > 0
26
+ ? logicalResponse[0].predefinedName
27
+ : "any";
28
+ }
22
29
  export function getSendPrivateFunction(dpgContext, operation, clientType, runtimeImports) {
23
30
  var _a;
24
31
  const parameters = getOperationSignatureParameters(operation, clientType);
@@ -50,10 +57,16 @@ export function getDeserializePrivateFunction(operation, needSubClient, needUnex
50
57
  type: getRLCResponseType(operation.rlcResponse)
51
58
  }
52
59
  ];
60
+ // TODO: Support LRO + paging operation
61
+ // https://github.com/Azure/autorest.typescript/issues/2313
62
+ const isLroOnly = isLroOnlyOperation(operation);
53
63
  // TODO: Support operation overloads
54
64
  const response = operation.responses[0];
55
65
  let returnType;
56
- if ((_a = response === null || response === void 0 ? void 0 : response.type) === null || _a === void 0 ? void 0 : _a.type) {
66
+ if (isLroOnly && operation.method.toLowerCase() !== "patch") {
67
+ returnType = buildLroReturnType(operation);
68
+ }
69
+ else if ((_a = response === null || response === void 0 ? void 0 : response.type) === null || _a === void 0 ? void 0 : _a.type) {
57
70
  returnType = buildType(response.type.name, response.type, response.type.format);
58
71
  }
59
72
  else {
@@ -84,21 +97,52 @@ export function getDeserializePrivateFunction(operation, needSubClient, needUnex
84
97
  addImportToSpecifier("restClient", runtimeImports, "createRestError");
85
98
  }
86
99
  }
87
- const allParents = getAllAncestors(response.type);
88
- const properties = (_b = getAllProperties(response.type, allParents)) !== null && _b !== void 0 ? _b : [];
89
- if (((_c = response === null || response === void 0 ? void 0 : response.type) === null || _c === void 0 ? void 0 : _c.type) === "any" ||
100
+ let deserializedType = isLroOnly
101
+ ? (_b = operation === null || operation === void 0 ? void 0 : operation.lroMetadata) === null || _b === void 0 ? void 0 : _b.finalResult
102
+ : response.type;
103
+ let hasLroSubPath = ((_c = operation === null || operation === void 0 ? void 0 : operation.lroMetadata) === null || _c === void 0 ? void 0 : _c.finalResultPath) !== undefined;
104
+ let deserializedRoot = hasLroSubPath
105
+ ? `result.body.${(_d = operation === null || operation === void 0 ? void 0 : operation.lroMetadata) === null || _d === void 0 ? void 0 : _d.finalResultPath}`
106
+ : "result.body";
107
+ // TODO: Hard-coded for LRO PATCH case for now
108
+ // https://github.com/Azure/autorest.typescript/issues/2314
109
+ if (isLroOnly && operation.method.toLowerCase() === "patch") {
110
+ deserializedType = response.type;
111
+ hasLroSubPath = false;
112
+ deserializedRoot = "result.body";
113
+ }
114
+ if (isLroOnly) {
115
+ const lroLogicalResponse = getRLCLroLogicalResponse(operation.rlcResponse);
116
+ statements.push(`result = result as ${lroLogicalResponse};`);
117
+ if (hasLroSubPath) {
118
+ statements.push(`if(${deserializedRoot.split(".").join("?.")} === undefined) {
119
+ throw createRestError(\`Expected a result in the response at position "${deserializedRoot}"\`, result);
120
+ }
121
+ `);
122
+ }
123
+ }
124
+ const allParents = deserializedType ? getAllAncestors(deserializedType) : [];
125
+ const properties = deserializedType
126
+ ? getAllProperties(deserializedType, allParents)
127
+ : [];
128
+ if ((deserializedType === null || deserializedType === void 0 ? void 0 : deserializedType.type) === "any" ||
129
+ (deserializedType === null || deserializedType === void 0 ? void 0 : deserializedType.type) === "dict" ||
130
+ ((deserializedType === null || deserializedType === void 0 ? void 0 : deserializedType.type) === "model" &&
131
+ allParents.some((p) => p.type === "dict")) ||
90
132
  response.isBinaryPayload ||
91
- ((_d = response === null || response === void 0 ? void 0 : response.type) === null || _d === void 0 ? void 0 : _d.aliasType)) {
133
+ (deserializedType === null || deserializedType === void 0 ? void 0 : deserializedType.aliasType)) {
92
134
  statements.push(`return result.body`);
93
135
  }
94
- else if (properties.length > 0) {
95
- statements.push(`return {`, getResponseMapping(response.type, "result.body", runtimeImports).join(","), `}`);
136
+ else if (deserializedType && properties.length > 0) {
137
+ statements.push(`return {`, getResponseMapping(deserializedType, deserializedRoot, runtimeImports).join(","), `}`);
96
138
  }
97
- else if (returnType.type === "void") {
139
+ else if (returnType.type === "void" || deserializedType === undefined) {
98
140
  statements.push(`return;`);
99
141
  }
100
142
  else {
101
- statements.push(`return ${deserializeResponseValue(response.type, "result.body", runtimeImports, response.type.nullable !== undefined ? !response.type.nullable : false, [response.type], response.type.format)}`);
143
+ statements.push(`return ${deserializeResponseValue(deserializedType, deserializedRoot, runtimeImports, deserializedType.nullable !== undefined
144
+ ? !deserializedType.nullable
145
+ : false, [deserializedType], deserializedType.format)}`);
102
146
  }
103
147
  return {
104
148
  ...functionStatement,
@@ -140,17 +184,25 @@ function getOperationSignatureParameters(operation, clientType) {
140
184
  */
141
185
  export function getOperationFunction(operation, clientType) {
142
186
  var _a, _b;
187
+ if (isPagingOnlyOperation(operation)) {
188
+ // Case 1: paging-only operation
189
+ return getPagingOnlyOperationFunction(operation, clientType);
190
+ }
191
+ else if (isLroOnlyOperation(operation)) {
192
+ // Case 2: lro-only operation
193
+ return getLroOnlyOperationFunction(operation, clientType);
194
+ }
195
+ else if (isLroAndPagingOperation(operation)) {
196
+ // Case 3: both paging + lro operation is not supported yet so handle them as normal operation and customization may be needed
197
+ // https://github.com/Azure/autorest.typescript/issues/2313
198
+ }
143
199
  // Extract required parameters
144
200
  const parameters = getOperationSignatureParameters(operation, clientType);
145
- const isPaging = isPagingOperation(operation);
146
201
  // TODO: Support operation overloads
147
202
  const response = operation.responses[0];
148
203
  let returnType = { name: "", type: "void" };
149
204
  if ((_a = response.type) === null || _a === void 0 ? void 0 : _a.type) {
150
- let type = response.type;
151
- if (isPaging) {
152
- type = (_b = extractPagingType(type, operation.itemName)) !== null && _b !== void 0 ? _b : type;
153
- }
205
+ const type = (_b = extractPagingType(response.type, operation.itemName)) !== null && _b !== void 0 ? _b : response.type;
154
206
  returnType = buildType(type.name, type, type.format);
155
207
  }
156
208
  const { name, fixme = [] } = getOperationName(operation);
@@ -159,37 +211,101 @@ export function getOperationFunction(operation, clientType) {
159
211
  ...getDocsFromDescription(operation.description),
160
212
  ...getFixmeForMultilineDocs(fixme)
161
213
  ],
162
- isAsync: !isPaging,
214
+ isAsync: true,
163
215
  isExported: true,
164
216
  name,
165
217
  propertyName: operation.name,
166
218
  parameters,
167
- returnType: isPaging
168
- ? `PagedAsyncIterableIterator<${returnType.type}>`
169
- : `Promise<${returnType.type}>`
219
+ returnType: `Promise<${returnType.type}>`
170
220
  };
171
221
  const statements = [];
172
- if (isPaging) {
173
- const options = [];
174
- if (operation.itemName) {
175
- options.push(`itemName: "${operation.itemName}"`);
176
- }
177
- if (operation.continuationTokenName) {
178
- options.push(`nextLinkName: "${operation.continuationTokenName}"`);
179
- }
180
- statements.push(`return buildPagedAsyncIterator(
181
- context,
182
- () => _${name}Send(${parameters.map((p) => p.name).join(", ")}),
183
- _${name}Deserialize,
184
- ${options.length > 0 ? `{${options.join(", ")}}` : ``}
185
- );`);
222
+ statements.push(`const result = await _${name}Send(${parameters
223
+ .map((p) => p.name)
224
+ .join(", ")});`);
225
+ statements.push(`return _${name}Deserialize(result);`);
226
+ return {
227
+ ...functionStatement,
228
+ statements
229
+ };
230
+ }
231
+ function getLroOnlyOperationFunction(operation, clientType) {
232
+ // Extract required parameters
233
+ const parameters = getOperationSignatureParameters(operation, clientType);
234
+ const returnType = buildLroReturnType(operation);
235
+ const { name, fixme = [] } = getOperationName(operation);
236
+ const functionStatement = {
237
+ docs: [
238
+ ...getDocsFromDescription(operation.description),
239
+ ...getFixmeForMultilineDocs(fixme)
240
+ ],
241
+ isAsync: false,
242
+ isExported: true,
243
+ name,
244
+ propertyName: operation.name,
245
+ parameters,
246
+ returnType: `PollerLike<OperationState<${returnType.type}>, ${returnType.type}>`
247
+ };
248
+ const statements = [];
249
+ statements.push(`
250
+ return getLongRunningPoller(context, _${name}Deserialize, {
251
+ updateIntervalInMs: options?.updateIntervalInMs,
252
+ abortSignal: options?.abortSignal,
253
+ getInitialResponse: () => _${name}Send(${parameters
254
+ .map((p) => p.name)
255
+ .join(", ")})
256
+ }) as PollerLike<OperationState<${returnType.type}>, ${returnType.type}>;
257
+ `);
258
+ return {
259
+ ...functionStatement,
260
+ statements
261
+ };
262
+ }
263
+ function buildLroReturnType(operation) {
264
+ const metadata = operation.lroMetadata;
265
+ if (metadata !== undefined && metadata.finalResult !== undefined) {
266
+ const type = metadata.finalResult;
267
+ return buildType(type.name, type, type.format);
186
268
  }
187
- else {
188
- statements.push(`const result = await _${name}Send(${parameters
189
- .map((p) => p.name)
190
- .join(", ")});`);
191
- statements.push(`return _${name}Deserialize(result);`);
269
+ return { name: "", type: "void" };
270
+ }
271
+ function getPagingOnlyOperationFunction(operation, clientType) {
272
+ var _a, _b;
273
+ // Extract required parameters
274
+ const parameters = getOperationSignatureParameters(operation, clientType);
275
+ // TODO: Support operation overloads
276
+ const response = operation.responses[0];
277
+ let returnType = { name: "", type: "void" };
278
+ if ((_a = response.type) === null || _a === void 0 ? void 0 : _a.type) {
279
+ const type = (_b = extractPagingType(response.type, operation.itemName)) !== null && _b !== void 0 ? _b : response.type;
280
+ returnType = buildType(type.name, type, type.format);
192
281
  }
282
+ const { name, fixme = [] } = getOperationName(operation);
283
+ const functionStatement = {
284
+ docs: [
285
+ ...getDocsFromDescription(operation.description),
286
+ ...getFixmeForMultilineDocs(fixme)
287
+ ],
288
+ isAsync: false,
289
+ isExported: true,
290
+ name,
291
+ propertyName: operation.name,
292
+ parameters,
293
+ returnType: `PagedAsyncIterableIterator<${returnType.type}>`
294
+ };
295
+ const statements = [];
296
+ const options = [];
297
+ if (operation.itemName) {
298
+ options.push(`itemName: "${operation.itemName}"`);
299
+ }
300
+ if (operation.continuationTokenName) {
301
+ options.push(`nextLinkName: "${operation.continuationTokenName}"`);
302
+ }
303
+ statements.push(`return buildPagedAsyncIterator(
304
+ context,
305
+ () => _${name}Send(${parameters.map((p) => p.name).join(", ")}),
306
+ _${name}Deserialize,
307
+ ${options.length > 0 ? `{${options.join(", ")}}` : ``}
308
+ );`);
193
309
  return {
194
310
  ...functionStatement,
195
311
  statements
@@ -291,7 +407,10 @@ function buildBodyParameter(bodyParameter, runtimeImports) {
291
407
  if (!bodyParameter) {
292
408
  return "";
293
409
  }
294
- if (bodyParameter.type.type === "model" && !bodyParameter.type.aliasType) {
410
+ const allParents = getAllAncestors(bodyParameter.type);
411
+ if (bodyParameter.type.type === "model" &&
412
+ !bodyParameter.type.aliasType &&
413
+ !allParents.some((p) => p.type === "dict")) {
295
414
  const bodyParts = getRequestModelMapping(bodyParameter.type, bodyParameter.clientName, runtimeImports, [bodyParameter.type]);
296
415
  if (bodyParameter && bodyParts.length > 0) {
297
416
  const optionalBody = bodyParameter.optional
@@ -303,8 +422,10 @@ function buildBodyParameter(bodyParameter, runtimeImports) {
303
422
  return `\nbody: ${bodyParameter.clientName},`;
304
423
  }
305
424
  }
306
- else if (bodyParameter.type.type === "model" &&
307
- bodyParameter.type.aliasType) {
425
+ else if ((bodyParameter.type.type === "model" &&
426
+ (bodyParameter.type.aliasType ||
427
+ allParents.some((p) => p.type === "dict"))) ||
428
+ bodyParameter.type.type === "dict") {
308
429
  return `\nbody: ${bodyParameter.clientName},`;
309
430
  }
310
431
  if (bodyParameter.type.type === "list") {
@@ -498,7 +619,7 @@ export function getRequestModelMapping(modelPropertyType, propertyPath = "body",
498
619
  const propertyFullName = `${propertyPath}.${property.clientName}`;
499
620
  if (property.type.type === "model") {
500
621
  let definition;
501
- if (property.type.isCoreErrorType) {
622
+ if (property.type.coreTypeInfo === "ErrorType") {
502
623
  definition = `"${property.restApiName}": ${getNullableCheck(propertyFullName, property.type)} ${!property.optional ? "" : `!${propertyFullName} ? undefined :`} ${propertyFullName}`;
503
624
  }
504
625
  else if (typeStack.includes(property.type)) {
@@ -552,7 +673,7 @@ export function getResponseMapping(type, propertyPath = "result.body", runtimeIm
552
673
  const propertyFullName = `${propertyPath}.${property.restApiName}`;
553
674
  if (property.type.type === "model") {
554
675
  let definition;
555
- if (property.type.isCoreErrorType) {
676
+ if (property.type.coreTypeInfo === "ErrorType") {
556
677
  definition = `"${property.clientName}": ${getNullableCheck(propertyFullName, property.type)} ${!property.optional ? "" : `!${propertyFullName} ? undefined :`} ${propertyFullName}`;
557
678
  }
558
679
  else if (typeStack.includes(property.type)) {
@@ -743,18 +864,13 @@ function needsDeserialize(type) {
743
864
  (type === null || type === void 0 ? void 0 : type.type) === "list" ||
744
865
  (type === null || type === void 0 ? void 0 : type.type) === "byte-array");
745
866
  }
746
- export function hasLROOperation(codeModel, needRLC = false) {
747
- var _a;
748
- return ((_a = codeModel.clients) !== null && _a !== void 0 ? _a : []).some((c) => {
749
- var _a;
750
- return (needRLC ? c.rlcHelperDetails.hasLongRunning : false) ||
751
- ((_a = c.operationGroups) !== null && _a !== void 0 ? _a : []).some((og) => { var _a; return ((_a = og.operations) !== null && _a !== void 0 ? _a : []).some(isLROOperation); });
752
- });
867
+ export function isLroAndPagingOperation(op) {
868
+ return op.discriminator === "lropaging";
753
869
  }
754
- export function isLROOperation(op) {
755
- return op.discriminator === "lro" || op.discriminator === "lropaging";
870
+ export function isLroOnlyOperation(op) {
871
+ return op.discriminator === "lro";
756
872
  }
757
- export function hasPagingOperation(clientOrCodeModel, needRLC = false) {
873
+ export function hasPagingOnlyOperation(clientOrCodeModel, needRLC = false) {
758
874
  let clients = [];
759
875
  if (clientOrCodeModel === null || clientOrCodeModel === void 0 ? void 0 : clientOrCodeModel.operationGroups) {
760
876
  clients = [clientOrCodeModel];
@@ -765,11 +881,11 @@ export function hasPagingOperation(clientOrCodeModel, needRLC = false) {
765
881
  return clients.some((c) => {
766
882
  var _a;
767
883
  return (needRLC ? c.rlcHelperDetails.hasPaging : false) ||
768
- ((_a = c.operationGroups) !== null && _a !== void 0 ? _a : []).some((og) => { var _a; return ((_a = og.operations) !== null && _a !== void 0 ? _a : []).some(isPagingOperation); });
884
+ ((_a = c.operationGroups) !== null && _a !== void 0 ? _a : []).some((og) => { var _a; return ((_a = og.operations) !== null && _a !== void 0 ? _a : []).some(isPagingOnlyOperation); });
769
885
  });
770
886
  }
771
- export function isPagingOperation(op) {
772
- return op.discriminator === "paging" || op.discriminator === "lropaging";
887
+ export function isPagingOnlyOperation(op) {
888
+ return op.discriminator === "paging";
773
889
  }
774
890
  export function getAllProperties(type, parents) {
775
891
  var _a;