@azure-tools/typespec-ts 0.17.1 → 0.18.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 (67) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/dist/src/lib.d.ts +10 -1
  3. package/dist/src/lib.d.ts.map +1 -1
  4. package/dist/src/lib.js +6 -0
  5. package/dist/src/lib.js.map +1 -1
  6. package/dist/src/modular/buildCodeModel.d.ts.map +1 -1
  7. package/dist/src/modular/buildCodeModel.js +52 -39
  8. package/dist/src/modular/buildCodeModel.js.map +1 -1
  9. package/dist/src/modular/buildOperations.d.ts.map +1 -1
  10. package/dist/src/modular/buildOperations.js +1 -1
  11. package/dist/src/modular/buildOperations.js.map +1 -1
  12. package/dist/src/modular/buildProjectFiles.js +4 -4
  13. package/dist/src/modular/buildProjectFiles.js.map +1 -1
  14. package/dist/src/modular/emitModels.d.ts.map +1 -1
  15. package/dist/src/modular/emitModels.js +83 -70
  16. package/dist/src/modular/emitModels.js.map +1 -1
  17. package/dist/src/modular/helpers/clientHelpers.d.ts.map +1 -1
  18. package/dist/src/modular/helpers/clientHelpers.js +6 -1
  19. package/dist/src/modular/helpers/clientHelpers.js.map +1 -1
  20. package/dist/src/modular/helpers/operationHelpers.d.ts +2 -1
  21. package/dist/src/modular/helpers/operationHelpers.d.ts.map +1 -1
  22. package/dist/src/modular/helpers/operationHelpers.js +81 -30
  23. package/dist/src/modular/helpers/operationHelpers.js.map +1 -1
  24. package/dist/src/modular/helpers/typeHelpers.d.ts +9 -2
  25. package/dist/src/modular/helpers/typeHelpers.d.ts.map +1 -1
  26. package/dist/src/modular/helpers/typeHelpers.js +174 -102
  27. package/dist/src/modular/helpers/typeHelpers.js.map +1 -1
  28. package/dist/src/modular/modularCodeModel.d.ts +3 -1
  29. package/dist/src/modular/modularCodeModel.d.ts.map +1 -1
  30. package/dist/src/transform/transformParameters.d.ts.map +1 -1
  31. package/dist/src/transform/transformParameters.js +10 -95
  32. package/dist/src/transform/transformParameters.js.map +1 -1
  33. package/dist/src/transform/transformPaths.d.ts +0 -5
  34. package/dist/src/transform/transformPaths.d.ts.map +1 -1
  35. package/dist/src/transform/transformPaths.js +4 -42
  36. package/dist/src/transform/transformPaths.js.map +1 -1
  37. package/dist/src/transform/transformResponses.d.ts.map +1 -1
  38. package/dist/src/transform/transformResponses.js +2 -2
  39. package/dist/src/transform/transformResponses.js.map +1 -1
  40. package/dist/src/utils/clientUtils.d.ts.map +1 -1
  41. package/dist/src/utils/clientUtils.js +5 -3
  42. package/dist/src/utils/clientUtils.js.map +1 -1
  43. package/dist/src/utils/modelUtils.d.ts +14 -2
  44. package/dist/src/utils/modelUtils.d.ts.map +1 -1
  45. package/dist/src/utils/modelUtils.js +172 -41
  46. package/dist/src/utils/modelUtils.js.map +1 -1
  47. package/dist/src/utils/operationUtil.d.ts +13 -3
  48. package/dist/src/utils/operationUtil.d.ts.map +1 -1
  49. package/dist/src/utils/operationUtil.js +66 -10
  50. package/dist/src/utils/operationUtil.js.map +1 -1
  51. package/dist/tsconfig.tsbuildinfo +1 -1
  52. package/package.json +17 -17
  53. package/src/lib.ts +7 -0
  54. package/src/modular/buildCodeModel.ts +63 -44
  55. package/src/modular/buildOperations.ts +1 -0
  56. package/src/modular/buildProjectFiles.ts +4 -4
  57. package/src/modular/emitModels.ts +110 -79
  58. package/src/modular/helpers/clientHelpers.ts +6 -1
  59. package/src/modular/helpers/operationHelpers.ts +101 -44
  60. package/src/modular/helpers/typeHelpers.ts +208 -119
  61. package/src/modular/modularCodeModel.ts +4 -1
  62. package/src/transform/transformParameters.ts +13 -137
  63. package/src/transform/transformPaths.ts +8 -61
  64. package/src/transform/transformResponses.ts +3 -2
  65. package/src/utils/clientUtils.ts +11 -3
  66. package/src/utils/modelUtils.ts +232 -46
  67. package/src/utils/operationUtil.ts +82 -10
@@ -1 +1 @@
1
- {"version":3,"file":"buildProjectFiles.js","sourceRoot":"","sources":["../../../src/modular/buildProjectFiles.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"buildProjectFiles.js","sourceRoot":"","sources":["../../../src/modular/buildProjectFiles.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"emitModels.d.ts","sourceRoot":"","sources":["../../../src/modular/emitModels.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEtC,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAQ,MAAM,uBAAuB,CAAC;AAKvE;;GAEG;AACH,wBAAgB,WAAW,CACzB,SAAS,EAAE,gBAAgB,EAC3B,SAAS,EAAE,MAAM,GAChB,UAAU,GAAG,SAAS,CA+GxB;AAYD,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,gBAAgB,EAC3B,MAAM,EAAE,MAAM,cAuCf"}
1
+ {"version":3,"file":"emitModels.d.ts","sourceRoot":"","sources":["../../../src/modular/emitModels.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,UAAU,EAEX,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAQ,MAAM,uBAAuB,CAAC;AAyGvE;;GAEG;AACH,wBAAgB,WAAW,CACzB,SAAS,EAAE,gBAAgB,EAC3B,SAAS,EAAE,MAAM,GAChB,UAAU,GAAG,SAAS,CA+CxB;AAED,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,gBAAgB,EAC3B,MAAM,EAAE,MAAM,cAuCf"}
@@ -2,100 +2,118 @@ import { getType } from "./helpers/typeHelpers.js";
2
2
  import * as path from "path";
3
3
  import { getDocsFromDescription } from "./helpers/docsHelpers.js";
4
4
  import { buildOperationOptions } from "./buildOperations.js";
5
+ // ====== UTILITIES ======
6
+ function isAzureCoreErrorSdkType(t) {
7
+ return (t.name &&
8
+ ["error", "errormodel", "innererror", "errorresponse"].includes(t.name.toLowerCase()) &&
9
+ t.isCoreErrorType === true);
10
+ }
11
+ function getCoreClientErrorType(name, coreClientTypes) {
12
+ const coreClientType = name === "Error" ? "ErrorModel" : name;
13
+ coreClientTypes.add(coreClientType);
14
+ return coreClientType;
15
+ }
16
+ // ====== TYPE EXTRACTION ======
17
+ function extractModels(codeModel) {
18
+ var _a;
19
+ const models = codeModel.types.filter((t) => (t.type === "model" || t.type === "enum") &&
20
+ !isAzureCoreErrorSdkType(t) &&
21
+ !(t.type == "model" && t.name === ""));
22
+ for (const model of codeModel.types) {
23
+ if (model.type === "combined" && model.nullable) {
24
+ for (const unionModel of (_a = model.types) !== null && _a !== void 0 ? _a : []) {
25
+ if (unionModel.type === "model") {
26
+ models.push(unionModel);
27
+ }
28
+ }
29
+ }
30
+ }
31
+ return models;
32
+ }
33
+ // ====== TYPE BUILDERS ======
34
+ function buildEnumModel(model) {
35
+ var _a, _b;
36
+ return {
37
+ name: model.name,
38
+ isExported: true,
39
+ docs: [
40
+ ...getDocsFromDescription(model.description),
41
+ // If it is a fixed enum we don't need to list the known values in the docs as the
42
+ // output will be a literal union which is self documenting
43
+ model.isFixed
44
+ ? ""
45
+ : // When we generate an "extensible" enum, the type will be "string" so we list the known values
46
+ // in the docs for user reference.
47
+ ((_a = model.values) !== null && _a !== void 0 ? _a : []).map((v) => `"${v.value}"`).join(", ")
48
+ ],
49
+ type: model.isFixed
50
+ ? ((_b = model.values) !== null && _b !== void 0 ? _b : []).map((v) => `"${v.value}"`).join(" | ")
51
+ : "string"
52
+ };
53
+ }
54
+ function buildModelInterface(model, cache) {
55
+ var _a, _b;
56
+ const modelProperties = (_a = model.properties) !== null && _a !== void 0 ? _a : [];
57
+ const modelInterface = {
58
+ name: (_b = model.name) !== null && _b !== void 0 ? _b : "FIXMYNAME",
59
+ isExported: true,
60
+ docs: getDocsFromDescription(model.description),
61
+ extends: [],
62
+ properties: (modelProperties !== null && modelProperties !== void 0 ? modelProperties : []).map((p) => {
63
+ const propertyMetadata = getType(p.type, p.format);
64
+ let propertyTypeName = propertyMetadata.name;
65
+ if (isAzureCoreErrorSdkType(p.type)) {
66
+ propertyTypeName = isAzureCoreErrorSdkType(p.type)
67
+ ? getCoreClientErrorType(propertyTypeName, cache.coreClientTypes)
68
+ : propertyTypeName;
69
+ }
70
+ return {
71
+ name: `"${p.clientName}"`,
72
+ docs: getDocsFromDescription(p.description),
73
+ hasQuestionToken: p.optional,
74
+ isReadonly: p.readonly,
75
+ type: propertyTypeName
76
+ };
77
+ })
78
+ };
79
+ return modelInterface;
80
+ }
81
+ // ====== MAIN FUNCTIONS ======
5
82
  /**
6
83
  * This function creates the file containing all the models defined in TypeSpec
7
84
  */
8
85
  export function buildModels(codeModel, subClient) {
9
- var _a, _b, _c, _d, _e, _f;
86
+ var _a, _b;
10
87
  // We are generating both models and enums here
11
88
  const coreClientTypes = new Set();
12
- const models = codeModel.types.filter((t) => (t.type === "model" || t.type === "enum") && !isAzureCoreErrorSdkType(t));
89
+ const models = extractModels(codeModel);
13
90
  // Skip to generate models.ts if there is no any models
14
91
  if (models.length === 0) {
15
92
  return;
16
93
  }
17
94
  const srcPath = codeModel.modularOptions.sourceRoot;
18
95
  const modelsFile = codeModel.project.createSourceFile(path.join(`${srcPath}/`, (_a = subClient.subfolder) !== null && _a !== void 0 ? _a : "", `models/models.ts`));
19
- for (const model of codeModel.types) {
20
- if (model.type === "combined" && model.nullable) {
21
- for (const unionModel of (_b = model.types) !== null && _b !== void 0 ? _b : []) {
22
- if (unionModel.type === "model") {
23
- models.push(unionModel);
24
- }
25
- }
26
- }
27
- }
28
96
  for (const model of models) {
29
- const properties = (_c = model.properties) !== null && _c !== void 0 ? _c : [];
30
- const typeMetadata = getType(model, model.format);
31
- let typeName = typeMetadata.name;
32
- if (typeMetadata.modifier === "Array") {
33
- typeName = `${typeName}[]`;
34
- }
35
97
  if (model.type === "enum") {
36
98
  if (!model.name || modelsFile.getTypeAlias(model.name)) {
37
99
  // If the enum is already defined, we don't need to do anything
38
100
  // If the enum is anonymous, we don't build any type alias for it
39
101
  continue;
40
102
  }
41
- modelsFile.addTypeAlias({
42
- name: model.name,
43
- isExported: true,
44
- docs: [
45
- ...getDocsFromDescription(model.description),
46
- // If it is a fixed enum we don't need to list the known values in the docs as the
47
- // output will be a literal union which is self documenting
48
- model.isFixed
49
- ? ""
50
- : // When we generate an "extensible" enum, the type will be "string" so we list the known values
51
- // in the docs for user reference.
52
- ((_d = model.values) !== null && _d !== void 0 ? _d : []).map((v) => `"${v.value}"`).join(", ")
53
- ],
54
- type: model.isFixed
55
- ? ((_e = model.values) !== null && _e !== void 0 ? _e : []).map((v) => `"${v.value}"`).join(" | ")
56
- : "string"
57
- });
103
+ const enumAlias = buildEnumModel(model);
104
+ modelsFile.addTypeAlias(enumAlias);
58
105
  }
59
106
  else {
60
107
  if (!model.name) {
61
108
  continue;
62
109
  }
63
- const modelInterface = {
64
- name: model.name,
65
- isExported: true,
66
- docs: getDocsFromDescription(model.description),
67
- extends: [],
68
- properties: properties.map((p) => {
69
- const propertyMetadata = getType(p.type, p.format);
70
- let propertyTypeName = propertyMetadata.name;
71
- if (isAzureCoreErrorSdkType(p.type)) {
72
- propertyTypeName = isAzureCoreErrorSdkType(p.type)
73
- ? getCoreClientErrorType(propertyTypeName)
74
- : propertyTypeName;
75
- }
76
- if (propertyMetadata.modifier === "Array") {
77
- propertyTypeName = `${propertyTypeName}[]`;
78
- }
79
- return {
80
- name: `"${p.clientName}"`,
81
- docs: getDocsFromDescription(p.description),
82
- hasQuestionToken: p.optional,
83
- isReadonly: p.readonly,
84
- type: propertyTypeName
85
- };
86
- })
87
- };
110
+ const modelInterface = buildModelInterface(model, { coreClientTypes });
88
111
  model.type === "model"
89
- ? (_f = model.parents) === null || _f === void 0 ? void 0 : _f.forEach((p) => modelInterface.extends.push(getType(p, p.format).name))
112
+ ? (_b = model.parents) === null || _b === void 0 ? void 0 : _b.forEach((p) => modelInterface.extends.push(getType(p, p.format).name))
90
113
  : undefined;
91
114
  modelsFile.addInterface(modelInterface);
92
115
  }
93
116
  }
94
- function getCoreClientErrorType(name) {
95
- const coreClientType = name === "Error" ? "ErrorModel" : name;
96
- coreClientTypes.add(coreClientType);
97
- return coreClientType;
98
- }
99
117
  if (coreClientTypes.size > 0) {
100
118
  modelsFile.addImportDeclarations([
101
119
  {
@@ -106,11 +124,6 @@ export function buildModels(codeModel, subClient) {
106
124
  }
107
125
  return modelsFile;
108
126
  }
109
- function isAzureCoreErrorSdkType(t) {
110
- return (t.name &&
111
- ["error", "errormodel", "innererror", "errorresponse"].includes(t.name.toLowerCase()) &&
112
- t.isCoreErrorType === true);
113
- }
114
127
  export function buildModelsOptions(codeModel, client) {
115
128
  var _a;
116
129
  const modelOptionsFile = codeModel.project.createSourceFile(path.join(codeModel.modularOptions.sourceRoot, (_a = client.subfolder) !== null && _a !== void 0 ? _a : "", `models/options.ts`), undefined, {
@@ -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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"clientHelpers.d.ts","sourceRoot":"","sources":["../../../../src/modular/helpers/clientHelpers.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,6BAA6B,EAC7B,UAAU,EACX,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAIhD,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,MAAM,GACb,YAAY,CAAC,6BAA6B,CAAC,EAAE,CA0B/C;AAED,wBAAgB,gBAAgB,CAAC,gBAAgB,EAAE,UAAU,GAAG,IAAI,CAKnE"}
1
+ {"version":3,"file":"clientHelpers.d.ts","sourceRoot":"","sources":["../../../../src/modular/helpers/clientHelpers.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,6BAA6B,EAC7B,UAAU,EACX,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAIhD,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,MAAM,GACb,YAAY,CAAC,6BAA6B,CAAC,EAAE,CA+B/C;AAED,wBAAgB,gBAAgB,CAAC,gBAAgB,EAAE,UAAU,GAAG,IAAI,CAKnE"}
@@ -13,9 +13,14 @@ export function getClientParameters(client) {
13
13
  .filter((p) => p.type.type !== "constant" &&
14
14
  (p.clientDefaultValue === null || p.clientDefaultValue === undefined))
15
15
  .map((p) => {
16
+ const typeMetadata = getType(p.type, p.format);
17
+ let typeName = typeMetadata.name;
18
+ if (typeMetadata.nullable) {
19
+ typeName = `${typeName} | null`;
20
+ }
16
21
  return {
17
22
  name: p.clientName,
18
- type: getType(p.type, p.format).name
23
+ type: typeName
19
24
  };
20
25
  }),
21
26
  optionsParam
@@ -1 +1 @@
1
- {"version":3,"file":"clientHelpers.js","sourceRoot":"","sources":["../../../../src/modular/helpers/clientHelpers.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,MAAM,UAAU,mBAAmB,CACjC,MAAc;IAEd,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,eAAe;QAC5B,WAAW,EAAE,IAAI;KAClB,CAAC;IAEF,MAAM,MAAM,GAAkD;QAC5D,GAAG,UAAU;aACV,MAAM,CACL,CAAC,CAAC,EAAE,EAAE,CACJ,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,OAAO;gBACL,IAAI,EAAE,CAAC,CAAC,UAAU;gBAClB,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI;aACrC,CAAC;QACJ,CAAC,CAAC;QACJ,YAAY;KACb,CAAC;IAEF,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,gBAA4B;IAC3D,gBAAgB,CAAC,oBAAoB,CAAC;QACpC,eAAe,EAAE,kBAAkB;QACnC,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":"AAMA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,MAAM,UAAU,mBAAmB,CACjC,MAAc;IAEd,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,eAAe;QAC5B,WAAW,EAAE,IAAI;KAClB,CAAC;IAEF,MAAM,MAAM,GAAkD;QAC5D,GAAG,UAAU;aACV,MAAM,CACL,CAAC,CAAC,EAAE,EAAE,CACJ,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;gBACzB,QAAQ,GAAG,GAAG,QAAQ,SAAS,CAAC;aACjC;YACD,OAAO;gBACL,IAAI,EAAE,CAAC,CAAC,UAAU;gBAClB,IAAI,EAAE,QAAQ;aACf,CAAC;QACJ,CAAC,CAAC;QACJ,YAAY;KACb,CAAC;IAEF,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,gBAA4B;IAC3D,gBAAgB,CAAC,oBAAoB,CAAC;QACpC,eAAe,EAAE,kBAAkB;QACnC,YAAY,EAAE,CAAC,iBAAiB,EAAE,eAAe,CAAC;KACnD,CAAC,CAAC;AACL,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import { FunctionDeclarationStructure, OptionalKind } from "ts-morph";
2
2
  import { ModularCodeModel, Operation, Property } from "../modularCodeModel.js";
3
- export declare function getSendPrivateFunction(operation: Operation, clientType: string, importSet: Map<string, Set<string>>): OptionalKind<FunctionDeclarationStructure>;
3
+ import { SdkContext } from "@azure-tools/typespec-client-generator-core";
4
+ export declare function getSendPrivateFunction(dpgContext: SdkContext, operation: Operation, clientType: string, importSet: Map<string, Set<string>>): OptionalKind<FunctionDeclarationStructure>;
4
5
  export declare function getDeserializePrivateFunction(operation: Operation, needSubClient: boolean, needUnexpectedHelper: boolean, importSet: Map<string, Set<string>>): OptionalKind<FunctionDeclarationStructure>;
5
6
  /**
6
7
  * This operation builds and returns the function declaration for an operation.
@@ -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,gBAAgB,EAChB,SAAS,EAET,QAAQ,EAET,MAAM,wBAAwB,CAAC;AAoChC,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,GAClC,YAAY,CAAC,4BAA4B,CAAC,CA6B5C;AAED,wBAAgB,6BAA6B,CAC3C,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,OAAO,EACtB,oBAAoB,EAAE,OAAO,EAC7B,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,GAClC,YAAY,CAAC,4BAA4B,CAAC,CAsF5C;AAkDD;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,MAAM,GACjB,YAAY,CAAC,4BAA4B,CAAC,CAmC5C;AAED,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,SAAS,EACpB,gBAAgB,UAAQ,UAQzB;AAobD;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,QAAQ,EAAE,EACtB,YAAY,oBAAwB,EACpC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,YA2EpC;AAoID,wBAAgB,eAAe,CAAC,SAAS,EAAE,gBAAgB,WAQ1D;AAED,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,gBAAgB,WAS7D"}
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,gBAAgB,EAChB,SAAS,EAET,QAAQ,EAET,MAAM,wBAAwB,CAAC;AAkBhC,OAAO,EAAE,UAAU,EAAE,MAAM,6CAA6C,CAAC;AAqBzE,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,GAClC,YAAY,CAAC,4BAA4B,CAAC,CA8B5C;AAED,wBAAgB,6BAA6B,CAC3C,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,OAAO,EACtB,oBAAoB,EAAE,OAAO,EAC7B,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,GAClC,YAAY,CAAC,4BAA4B,CAAC,CAsF5C;AAkDD;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,MAAM,GACjB,YAAY,CAAC,4BAA4B,CAAC,CAmC5C;AAED,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,SAAS,EACpB,gBAAgB,UAAQ,UAQzB;AA8dD;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,QAAQ,EAAE,EACtB,YAAY,oBAAwB,EACpC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,YA2EpC;AA8ID,wBAAgB,eAAe,CAAC,SAAS,EAAE,gBAAgB,WAQ1D;AAED,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,gBAAgB,WAS7D"}
@@ -4,6 +4,8 @@ import { NameType, getResponseBaseName, getResponseTypeName, normalizeName } fro
4
4
  import { getOperationName } from "./namingHelpers.js";
5
5
  import { getFixmeForMultilineDocs, getDocsFromDescription } from "./docsHelpers.js";
6
6
  import { getCollectionFormatHelper, hasCollectionFormatInfo } from "../../utils/operationUtil.js";
7
+ import { NoTarget } from "@typespec/compiler";
8
+ import { reportDiagnostic } from "../../lib.js";
7
9
  function getRLCResponseType(rlcResponse) {
8
10
  if (!(rlcResponse === null || rlcResponse === void 0 ? void 0 : rlcResponse.responses)) {
9
11
  return;
@@ -15,7 +17,7 @@ function getRLCResponseType(rlcResponse) {
15
17
  return (_a = resp.predefinedName) !== null && _a !== void 0 ? _a : getResponseTypeName(baseResponseName);
16
18
  }).join(" | ");
17
19
  }
18
- export function getSendPrivateFunction(operation, clientType, importSet) {
20
+ export function getSendPrivateFunction(dpgContext, operation, clientType, importSet) {
19
21
  const parameters = getOperationSignatureParameters(operation, clientType);
20
22
  const { name } = getOperationName(operation);
21
23
  const functionStatement = {
@@ -28,7 +30,7 @@ export function getSendPrivateFunction(operation, clientType, importSet) {
28
30
  const operationPath = operation.url;
29
31
  const operationMethod = operation.method.toLowerCase();
30
32
  const statements = [];
31
- statements.push(`return context.path("${operationPath}", ${getPathParameters(operation)}).${operationMethod}({...operationOptionsToRequestParameters(options), ${getRequestParameters(operation, importSet)}});`);
33
+ statements.push(`return context.path("${operationPath}", ${getPathParameters(operation)}).${operationMethod}({...operationOptionsToRequestParameters(options), ${getRequestParameters(dpgContext, operation, importSet)}});`);
32
34
  return {
33
35
  ...functionStatement,
34
36
  statements
@@ -75,7 +77,7 @@ export function getDeserializePrivateFunction(operation, needSubClient, needUnex
75
77
  .join(" || ")}){`, "throw result.body", "}");
76
78
  }
77
79
  }
78
- if (((_b = response === null || response === void 0 ? void 0 : response.type) === null || _b === void 0 ? void 0 : _b.type) === "any") {
80
+ if (((_b = response === null || response === void 0 ? void 0 : response.type) === null || _b === void 0 ? void 0 : _b.type) === "any" || response.isBinaryPayload) {
79
81
  statements.push(`return result.body`);
80
82
  }
81
83
  else if (getAllProperties(response === null || response === void 0 ? void 0 : response.type).length > 0) {
@@ -167,7 +169,7 @@ export function getOperationOptionsName(operation, includeGroupName = false) {
167
169
  * RLC internally. This will translate High Level parameters into the RLC ones.
168
170
  * Figuring out what goes in headers, body, path and qsp.
169
171
  */
170
- function getRequestParameters(operation, importSet) {
172
+ function getRequestParameters(dpgContext, operation, importSet) {
171
173
  if (!operation.parameters) {
172
174
  return "";
173
175
  }
@@ -182,7 +184,10 @@ function getRequestParameters(operation, importSet) {
182
184
  if (param.location === "header" ||
183
185
  param.location === "query" ||
184
186
  param.location === "body") {
185
- parametersImplementation[param.location].push(getParameterMap(param, importSet));
187
+ parametersImplementation[param.location].push({
188
+ paramMap: getParameterMap(param, importSet),
189
+ param
190
+ });
186
191
  }
187
192
  }
188
193
  let paramStr = "";
@@ -190,22 +195,48 @@ function getRequestParameters(operation, importSet) {
190
195
  paramStr = `${getContentTypeValue(contentTypeParameter)},`;
191
196
  }
192
197
  if (parametersImplementation.header.length) {
193
- paramStr = `${paramStr}\nheaders: {${parametersImplementation.header.join(",\n")}},`;
198
+ paramStr = `${paramStr}\nheaders: {${parametersImplementation.header
199
+ .map((i) => buildHeaderParameter(dpgContext.program, i.paramMap, i.param))
200
+ .join(",\n")}},`;
194
201
  }
195
202
  if (parametersImplementation.query.length) {
196
- paramStr = `${paramStr}\nqueryParameters: {${parametersImplementation.query.join(",\n")}},`;
203
+ paramStr = `${paramStr}\nqueryParameters: {${parametersImplementation.query
204
+ .map((i) => i.paramMap)
205
+ .join(",\n")}},`;
197
206
  }
198
207
  if (operation.bodyParameter === undefined &&
199
208
  parametersImplementation.body.length) {
200
- paramStr = `${paramStr}\nbody: {${parametersImplementation.body.join(",\n")}}`;
209
+ paramStr = `${paramStr}\nbody: {${parametersImplementation.body
210
+ .map((i) => i.paramMap)
211
+ .join(",\n")}}`;
201
212
  }
202
213
  else if (operation.bodyParameter !== undefined) {
203
214
  paramStr = `${paramStr}${buildBodyParameter(operation.bodyParameter, importSet)}`;
204
215
  }
205
216
  return paramStr;
206
217
  }
218
+ // Specially handle the type for headers because we only allow string/number/boolean values
219
+ function buildHeaderParameter(program, paramMap, param) {
220
+ if (!param.optional && param.type.nullable === true) {
221
+ reportDiagnostic(program, {
222
+ code: "nullable-required-header",
223
+ target: NoTarget
224
+ });
225
+ return paramMap;
226
+ }
227
+ const conditions = [];
228
+ if (param.optional) {
229
+ conditions.push(`options?.${param.clientName} !== undefined`);
230
+ }
231
+ if (param.type.nullable === true) {
232
+ conditions.push(`options?.${param.clientName} !== null`);
233
+ }
234
+ return conditions.length > 0
235
+ ? `...(${conditions.join(" && ")} ? {${paramMap}} : {})`
236
+ : paramMap;
237
+ }
207
238
  function buildBodyParameter(bodyParameter, importSet) {
208
- var _a, _b, _c;
239
+ var _a;
209
240
  if (!bodyParameter) {
210
241
  return "";
211
242
  }
@@ -224,7 +255,8 @@ function buildBodyParameter(bodyParameter, importSet) {
224
255
  }
225
256
  return `\nbody: ${bodyParameter.clientName},`;
226
257
  }
227
- if (bodyParameter.type.type === "byte-array") {
258
+ if (bodyParameter.type.type === "byte-array" &&
259
+ !bodyParameter.isBinaryPayload) {
228
260
  const coreUtilSet = importSet.get("@azure/core-util");
229
261
  if (!coreUtilSet) {
230
262
  importSet.set("@azure/core-util", new Set().add("uint8ArrayToString"));
@@ -234,12 +266,23 @@ function buildBodyParameter(bodyParameter, importSet) {
234
266
  }
235
267
  return bodyParameter.optional
236
268
  ? `body: typeof ${bodyParameter.clientName} === 'string'
237
- ? uint8ArrayToString(${bodyParameter.clientName}, "${(_b = bodyParameter.type.format) !== null && _b !== void 0 ? _b : "base64"}")
269
+ ? uint8ArrayToString(${bodyParameter.clientName}, "${getEncodingFormat(bodyParameter.type)}")
238
270
  : ${bodyParameter.clientName}`
239
- : `body: uint8ArrayToString(${bodyParameter.clientName}, "${(_c = bodyParameter.type.format) !== null && _c !== void 0 ? _c : "base64"}")`;
271
+ : `body: uint8ArrayToString(${bodyParameter.clientName}, "${getEncodingFormat(bodyParameter.type)}")`;
272
+ }
273
+ else if (bodyParameter.isBinaryPayload) {
274
+ return `\nbody: ${bodyParameter.clientName},`;
240
275
  }
241
276
  return "";
242
277
  }
278
+ function getEncodingFormat(type) {
279
+ var _a;
280
+ const supportedFormats = ["base64url", "base64", "byte"];
281
+ if (!supportedFormats.includes((_a = type.format) !== null && _a !== void 0 ? _a : "")) {
282
+ return "base64";
283
+ }
284
+ return type.format;
285
+ }
243
286
  /**
244
287
  * This function helps with renames, translating client names to rest api names
245
288
  */
@@ -474,7 +517,9 @@ function deserializeResponseValue(type, restValue, importSet, required, format)
474
517
  switch (type.type) {
475
518
  case "datetime":
476
519
  return required
477
- ? `new Date(${restValue})`
520
+ ? type.nullable
521
+ ? `${restValue} === null ? null : new Date(${restValue})`
522
+ : `new Date(${restValue})`
478
523
  : `${restValue} !== undefined? new Date(${restValue}): undefined`;
479
524
  case "combined":
480
525
  return `${restValue} as any`;
@@ -489,15 +534,18 @@ function deserializeResponseValue(type, restValue, importSet, required, format)
489
534
  return restValue;
490
535
  }
491
536
  case "byte-array":
492
- if (!coreUtilSet) {
493
- importSet.set("@azure/core-util", new Set().add("stringToUint8Array"));
537
+ if (format !== "binary") {
538
+ if (!coreUtilSet) {
539
+ importSet.set("@azure/core-util", new Set().add("stringToUint8Array"));
540
+ }
541
+ else {
542
+ coreUtilSet.add("stringToUint8Array");
543
+ }
544
+ return `typeof ${restValue} === 'string'
545
+ ? stringToUint8Array(${restValue}, "${format !== null && format !== void 0 ? format : "base64"}")
546
+ : ${restValue}`;
494
547
  }
495
- else {
496
- coreUtilSet.add("stringToUint8Array");
497
- }
498
- return `typeof ${restValue} === 'string'
499
- ? stringToUint8Array(${restValue}, "${format !== null && format !== void 0 ? format : "base64"}")
500
- : ${restValue}`;
548
+ return restValue;
501
549
  default:
502
550
  return restValue;
503
551
  }
@@ -508,7 +556,7 @@ function deserializeResponseValue(type, restValue, importSet, required, format)
508
556
  * deserialized correctly
509
557
  */
510
558
  function serializeRequestValue(type, clientValue, importSet, required, format) {
511
- var _a, _b, _c;
559
+ var _a, _b, _c, _d, _e;
512
560
  const coreUtilSet = importSet.get("@azure/core-util");
513
561
  switch (type.type) {
514
562
  case "datetime":
@@ -537,15 +585,18 @@ function serializeRequestValue(type, clientValue, importSet, required, format) {
537
585
  return clientValue;
538
586
  }
539
587
  case "byte-array":
540
- if (!coreUtilSet) {
541
- importSet.set("@azure/core-util", new Set().add("uint8ArrayToString"));
542
- }
543
- else {
544
- coreUtilSet.add("uint8ArrayToString");
588
+ if (format !== "binary") {
589
+ if (!coreUtilSet) {
590
+ importSet.set("@azure/core-util", new Set().add("uint8ArrayToString"));
591
+ }
592
+ else {
593
+ coreUtilSet.add("uint8ArrayToString");
594
+ }
595
+ return required
596
+ ? `uint8ArrayToString(${clientValue}, "${(_d = getEncodingFormat({ format })) !== null && _d !== void 0 ? _d : "base64"}")`
597
+ : `${clientValue} !== undefined ? uint8ArrayToString(${clientValue}, "${(_e = getEncodingFormat({ format })) !== null && _e !== void 0 ? _e : "base64"}"): undefined`;
545
598
  }
546
- return required
547
- ? `uint8ArrayToString(${clientValue}, "${format !== null && format !== void 0 ? format : "base64"}")`
548
- : `${clientValue} !== undefined ? uint8ArrayToString(${clientValue}, "${format !== null && format !== void 0 ? format : "base64"}"): undefined`;
599
+ return clientValue;
549
600
  default:
550
601
  return clientValue;
551
602
  }