@azure-tools/typespec-ts 0.13.4 → 0.14.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 (130) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/dist/src/index.d.ts +10 -0
  3. package/dist/src/index.d.ts.map +1 -1
  4. package/dist/src/index.js +88 -41
  5. package/dist/src/index.js.map +1 -1
  6. package/dist/src/lib.d.ts.map +1 -1
  7. package/dist/src/lib.js +2 -1
  8. package/dist/src/lib.js.map +1 -1
  9. package/dist/src/modular/buildClassicalClient.d.ts +2 -1
  10. package/dist/src/modular/buildClassicalClient.d.ts.map +1 -1
  11. package/dist/src/modular/buildClassicalClient.js +70 -43
  12. package/dist/src/modular/buildClassicalClient.js.map +1 -1
  13. package/dist/src/modular/buildClientContext.d.ts +2 -1
  14. package/dist/src/modular/buildClientContext.d.ts.map +1 -1
  15. package/dist/src/modular/buildClientContext.js +55 -23
  16. package/dist/src/modular/buildClientContext.js.map +1 -1
  17. package/dist/src/modular/buildCodeModel.d.ts +2 -1
  18. package/dist/src/modular/buildCodeModel.d.ts.map +1 -1
  19. package/dist/src/modular/buildCodeModel.js +55 -27
  20. package/dist/src/modular/buildCodeModel.js.map +1 -1
  21. package/dist/src/modular/buildOperations.d.ts +2 -1
  22. package/dist/src/modular/buildOperations.d.ts.map +1 -1
  23. package/dist/src/modular/buildOperations.js +65 -23
  24. package/dist/src/modular/buildOperations.js.map +1 -1
  25. package/dist/src/modular/buildProjectFiles.d.ts.map +1 -1
  26. package/dist/src/modular/buildProjectFiles.js +24 -4
  27. package/dist/src/modular/buildProjectFiles.js.map +1 -1
  28. package/dist/src/modular/buildRootIndex.d.ts +3 -2
  29. package/dist/src/modular/buildRootIndex.d.ts.map +1 -1
  30. package/dist/src/modular/buildRootIndex.js +31 -50
  31. package/dist/src/modular/buildRootIndex.js.map +1 -1
  32. package/dist/src/modular/buildSubpathIndex.d.ts +3 -0
  33. package/dist/src/modular/buildSubpathIndex.d.ts.map +1 -0
  34. package/dist/src/modular/{buildApiIndex.js → buildSubpathIndex.js} +4 -4
  35. package/dist/src/modular/buildSubpathIndex.js.map +1 -0
  36. package/dist/src/modular/emitModels.d.ts +1 -1
  37. package/dist/src/modular/emitModels.d.ts.map +1 -1
  38. package/dist/src/modular/emitModels.js +3 -2
  39. package/dist/src/modular/emitModels.js.map +1 -1
  40. package/dist/src/modular/helpers/clientHelpers.d.ts.map +1 -1
  41. package/dist/src/modular/helpers/clientHelpers.js +2 -1
  42. package/dist/src/modular/helpers/clientHelpers.js.map +1 -1
  43. package/dist/src/modular/helpers/namingHelpers.d.ts.map +1 -1
  44. package/dist/src/modular/helpers/namingHelpers.js +2 -1
  45. package/dist/src/modular/helpers/namingHelpers.js.map +1 -1
  46. package/dist/src/modular/helpers/operationHelpers.d.ts +3 -3
  47. package/dist/src/modular/helpers/operationHelpers.d.ts.map +1 -1
  48. package/dist/src/modular/helpers/operationHelpers.js +60 -30
  49. package/dist/src/modular/helpers/operationHelpers.js.map +1 -1
  50. package/dist/src/modular/modularCodeModel.d.ts +3 -1
  51. package/dist/src/modular/modularCodeModel.d.ts.map +1 -1
  52. package/dist/src/transform/transform.d.ts +4 -1
  53. package/dist/src/transform/transform.d.ts.map +1 -1
  54. package/dist/src/transform/transform.js +8 -7
  55. package/dist/src/transform/transform.js.map +1 -1
  56. package/dist/src/transform/transformApiVersionInfo.d.ts +1 -2
  57. package/dist/src/transform/transformApiVersionInfo.d.ts.map +1 -1
  58. package/dist/src/transform/transformApiVersionInfo.js +4 -3
  59. package/dist/src/transform/transformApiVersionInfo.js.map +1 -1
  60. package/dist/src/transform/transformHelperFunctionDetails.d.ts +1 -1
  61. package/dist/src/transform/transformHelperFunctionDetails.d.ts.map +1 -1
  62. package/dist/src/transform/transformHelperFunctionDetails.js +2 -1
  63. package/dist/src/transform/transformHelperFunctionDetails.js.map +1 -1
  64. package/dist/src/transform/transformParameters.d.ts +3 -3
  65. package/dist/src/transform/transformParameters.d.ts.map +1 -1
  66. package/dist/src/transform/transformParameters.js +35 -34
  67. package/dist/src/transform/transformParameters.js.map +1 -1
  68. package/dist/src/transform/transformPaths.d.ts +3 -2
  69. package/dist/src/transform/transformPaths.d.ts.map +1 -1
  70. package/dist/src/transform/transformPaths.js +11 -10
  71. package/dist/src/transform/transformPaths.js.map +1 -1
  72. package/dist/src/transform/transformResponses.d.ts +3 -3
  73. package/dist/src/transform/transformResponses.d.ts.map +1 -1
  74. package/dist/src/transform/transformResponses.js +19 -18
  75. package/dist/src/transform/transformResponses.js.map +1 -1
  76. package/dist/src/transform/transformSchemas.d.ts +3 -2
  77. package/dist/src/transform/transformSchemas.d.ts.map +1 -1
  78. package/dist/src/transform/transformSchemas.js +3 -2
  79. package/dist/src/transform/transformSchemas.js.map +1 -1
  80. package/dist/src/transform/transfromRLCOptions.d.ts +2 -2
  81. package/dist/src/transform/transfromRLCOptions.d.ts.map +1 -1
  82. package/dist/src/transform/transfromRLCOptions.js +11 -3
  83. package/dist/src/transform/transfromRLCOptions.js.map +1 -1
  84. package/dist/src/utils/clientUtils.d.ts +1 -0
  85. package/dist/src/utils/clientUtils.d.ts.map +1 -1
  86. package/dist/src/utils/clientUtils.js +3 -0
  87. package/dist/src/utils/clientUtils.js.map +1 -1
  88. package/dist/src/utils/modelUtils.d.ts +3 -3
  89. package/dist/src/utils/modelUtils.d.ts.map +1 -1
  90. package/dist/src/utils/modelUtils.js +78 -48
  91. package/dist/src/utils/modelUtils.js.map +1 -1
  92. package/dist/src/utils/operationUtil.d.ts +5 -3
  93. package/dist/src/utils/operationUtil.d.ts.map +1 -1
  94. package/dist/src/utils/operationUtil.js +24 -7
  95. package/dist/src/utils/operationUtil.js.map +1 -1
  96. package/dist/tsconfig.tsbuildinfo +1 -1
  97. package/package.json +14 -14
  98. package/src/index.ts +133 -43
  99. package/src/lib.ts +2 -1
  100. package/src/modular/buildClassicalClient.ts +97 -43
  101. package/src/modular/buildClientContext.ts +67 -25
  102. package/src/modular/buildCodeModel.ts +95 -24
  103. package/src/modular/buildOperations.ts +91 -25
  104. package/src/modular/buildProjectFiles.ts +29 -5
  105. package/src/modular/buildRootIndex.ts +63 -59
  106. package/src/modular/{buildApiIndex.ts → buildSubpathIndex.ts} +10 -3
  107. package/src/modular/emitModels.ts +6 -2
  108. package/src/modular/helpers/clientHelpers.ts +5 -1
  109. package/src/modular/helpers/namingHelpers.ts +2 -1
  110. package/src/modular/helpers/operationHelpers.ts +88 -35
  111. package/src/modular/modularCodeModel.ts +3 -1
  112. package/src/transform/transform.ts +9 -21
  113. package/src/transform/transformApiVersionInfo.ts +1 -3
  114. package/src/transform/transformHelperFunctionDetails.ts +1 -1
  115. package/src/transform/transformParameters.ts +27 -63
  116. package/src/transform/transformPaths.ts +17 -25
  117. package/src/transform/transformResponses.ts +23 -29
  118. package/src/transform/transformSchemas.ts +7 -4
  119. package/src/transform/transfromRLCOptions.ts +17 -5
  120. package/src/utils/clientUtils.ts +4 -0
  121. package/src/utils/modelUtils.ts +67 -74
  122. package/src/utils/operationUtil.ts +43 -11
  123. package/dist/src/modular/buildApiIndex.d.ts +0 -3
  124. package/dist/src/modular/buildApiIndex.d.ts.map +0 -1
  125. package/dist/src/modular/buildApiIndex.js.map +0 -1
  126. package/dist/src/modular/buildSharedTypes.d.ts +0 -6
  127. package/dist/src/modular/buildSharedTypes.d.ts.map +0 -1
  128. package/dist/src/modular/buildSharedTypes.js +0 -31
  129. package/dist/src/modular/buildSharedTypes.js.map +0 -1
  130. package/src/modular/buildSharedTypes.ts +0 -38
@@ -1,23 +1,56 @@
1
1
  import { buildType } from "./helpers/typeHelpers.js";
2
2
  import { getOperationFunction, getSendPrivateFunction, getDeserializePrivateFunction, getOperationOptionsName } from "./helpers/operationHelpers.js";
3
+ import { isRLCMultiEndpoint } from "../utils/clientUtils.js";
3
4
  /**
4
5
  * This function creates a file under /api for each operation group.
5
6
  * If there is no operation group in the TypeSpec program, we create a single
6
7
  * file called operations.ts where all operations are generated.
7
8
  */
8
- export function buildOperationFiles(client, project, srcPath = "src") {
9
+ export function buildOperationFiles(dpgContext, client, project, srcPath = "src", subfolder = "", needUnexpectedHelper = true) {
9
10
  for (const operationGroup of client.operationGroups) {
10
11
  const fileName = operationGroup.className
11
12
  ? `${operationGroup.className}`
12
13
  : // When the program has no operation groups defined all operations are put
13
14
  // into a nameless operation group. We'll call this operations.
14
15
  "operations";
15
- const operationGroupFile = project.createSourceFile(`${srcPath}/src/api/${fileName}.ts`);
16
+ const operationGroupFile = project.createSourceFile(`${srcPath}/src/${subfolder && subfolder !== "" ? subfolder + "/" : ""}api/${fileName}.ts`);
17
+ // Import models used from ./models.ts
18
+ // We SHOULD keep this because otherwise ts-morph will "helpfully" try to import models from the rest layer when we call fixMissingImports().
19
+ importModels(srcPath, operationGroupFile, project, subfolder);
20
+ const namedImports = [];
21
+ let clientType = "Client";
22
+ if (isRLCMultiEndpoint(dpgContext)) {
23
+ namedImports.push(`Client`);
24
+ clientType = `Client.${client.rlcClientName}`;
25
+ if (needUnexpectedHelper) {
26
+ namedImports.push("UnexpectedHelper");
27
+ }
28
+ operationGroupFile.addImportDeclarations([
29
+ {
30
+ moduleSpecifier: `../../rest/${subfolder}/index.js`,
31
+ namedImports
32
+ }
33
+ ]);
34
+ }
35
+ else {
36
+ if (needUnexpectedHelper) {
37
+ namedImports.push("isUnexpected");
38
+ }
39
+ const rlcClientName = client.rlcClientName;
40
+ namedImports.push(`${rlcClientName} as Client`);
41
+ operationGroupFile.addImportDeclarations([
42
+ {
43
+ moduleSpecifier: `${subfolder && subfolder !== "" ? "../" : ""}../rest/index.js`,
44
+ namedImports
45
+ }
46
+ ]);
47
+ }
48
+ const modelOptionsFile = project.createSourceFile(`${srcPath}/src/${subfolder}/models/options.ts`);
16
49
  operationGroup.operations.forEach((o) => {
17
- buildOperationOptions(o, operationGroupFile);
18
- const operationDeclaration = getOperationFunction(o);
19
- const sendOperationDeclaration = getSendPrivateFunction(o);
20
- const deserializeOperationDeclaration = getDeserializePrivateFunction(o);
50
+ buildOperationOptions(o, modelOptionsFile);
51
+ const operationDeclaration = getOperationFunction(o, clientType);
52
+ const sendOperationDeclaration = getSendPrivateFunction(o, clientType);
53
+ const deserializeOperationDeclaration = getDeserializePrivateFunction(o, isRLCMultiEndpoint(dpgContext), needUnexpectedHelper);
21
54
  operationGroupFile.addFunctions([
22
55
  sendOperationDeclaration,
23
56
  deserializeOperationDeclaration,
@@ -26,40 +59,49 @@ export function buildOperationFiles(client, project, srcPath = "src") {
26
59
  });
27
60
  operationGroupFile.addImportDeclarations([
28
61
  {
29
- moduleSpecifier: "../rest/index.js",
30
- namedImports: [`${client.name}Context as Client`, "isUnexpected"]
31
- }
32
- ]);
33
- operationGroupFile.addImportDeclarations([
34
- {
35
- moduleSpecifier: "../common/interfaces.js",
36
- namedImports: ["OperationRawReturnType"]
62
+ moduleSpecifier: "@azure-rest/core-client",
63
+ namedImports: [
64
+ "StreamableMethod",
65
+ "operationOptionsToRequestParameters"
66
+ ]
37
67
  }
38
68
  ]);
39
- operationGroupFile.addImportDeclarations([
69
+ modelOptionsFile.addImportDeclarations([
40
70
  {
41
71
  moduleSpecifier: "@azure-rest/core-client",
42
- namedImports: ["StreamableMethod"]
72
+ namedImports: ["OperationOptions"]
43
73
  }
44
74
  ]);
45
- // Import models used from ./models.ts
46
- importModels(operationGroupFile, project);
75
+ modelOptionsFile.fixMissingImports();
76
+ modelOptionsFile
77
+ .getImportDeclarations()
78
+ .filter((id) => {
79
+ return (id.isModuleSpecifierRelative() &&
80
+ !id.getModuleSpecifierValue().endsWith(".js"));
81
+ })
82
+ .map((id) => {
83
+ id.setModuleSpecifier(id.getModuleSpecifierValue() + ".js");
84
+ return id;
85
+ });
47
86
  operationGroupFile.fixMissingImports();
87
+ // have to fixUnusedIdentifiers after everything get generated.
88
+ operationGroupFile.fixUnusedIdentifiers();
48
89
  }
49
90
  }
50
- function importModels(sourceFile, project) {
91
+ function importModels(srcPath, sourceFile, project, subfolder = "") {
51
92
  var _a;
52
- const modelsFile = project.getSourceFile("models.ts");
93
+ const modelsFile = project.getSourceFile(`${srcPath}/src/${subfolder && subfolder !== "" ? subfolder + "/" : ""}models/models.ts`);
53
94
  const models = [];
54
95
  for (const entry of (_a = modelsFile === null || modelsFile === void 0 ? void 0 : modelsFile.getExportedDeclarations().entries()) !== null && _a !== void 0 ? _a : []) {
55
96
  models.push(entry[0]);
56
97
  }
57
98
  sourceFile.addImportDeclaration({
58
- moduleSpecifier: "./models.js",
99
+ moduleSpecifier: "../models/models.js",
59
100
  namedImports: models
60
101
  });
61
102
  // Import all models and then let ts-morph clean up the unused ones
62
- sourceFile.fixUnusedIdentifiers();
103
+ // we can't fixUnusedIdentifiers here because the operaiton files are still being generated.
104
+ // sourceFile.fixUnusedIdentifiers();
63
105
  }
64
106
  /**
65
107
  * This function generates the interfaces for each operation options
@@ -75,7 +117,7 @@ export function buildOperationOptions(operation, sourceFile) {
75
117
  sourceFile.addInterface({
76
118
  name,
77
119
  isExported: true,
78
- extends: ["RequestOptions"],
120
+ extends: ["OperationOptions"],
79
121
  properties: options.map((p) => {
80
122
  return {
81
123
  docs: [p.description],
@@ -1 +1 @@
1
- {"version":3,"file":"buildOperations.js","sourceRoot":"","sources":["../../../src/modular/buildOperations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"buildOperations.js","sourceRoot":"","sources":["../../../src/modular/buildOperations.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"buildProjectFiles.d.ts","sourceRoot":"","sources":["../../../src/modular/buildProjectFiles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,wBAAgB,WAAW,CACzB,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,gBAAgB,iCAgL5B;AAED,wBAAgB,YAAY,CAC1B,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,gBAAgB,iCA+B5B"}
1
+ {"version":3,"file":"buildProjectFiles.d.ts","sourceRoot":"","sources":["../../../src/modular/buildProjectFiles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAGzD,wBAAgB,WAAW,CACzB,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,gBAAgB,iCAuM5B;AAED,wBAAgB,YAAY,CAC1B,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,gBAAgB,iCA+B5B"}
@@ -1,3 +1,4 @@
1
+ import { NameType, normalizeName } from "@azure-tools/rlc-common";
1
2
  export function emitPackage(project, srcPath, codeModel) {
2
3
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
3
4
  const packageJson = project.createSourceFile(`${srcPath}/package-files/package.json`, "", {
@@ -6,7 +7,7 @@ export function emitPackage(project, srcPath, codeModel) {
6
7
  const content = {
7
8
  name: `${(_c = (_b = (_a = codeModel.options) === null || _a === void 0 ? void 0 : _a.packageDetails) === null || _b === void 0 ? void 0 : _b.name) !== null && _c !== void 0 ? _c : "@msinternal/unamedpackage"}`,
8
9
  version: "1.0.0-beta.1",
9
- description: `"${(_e = (_d = codeModel.options) === null || _d === void 0 ? void 0 : _d.packageDetails) === null || _e === void 0 ? void 0 : _e.description}"`,
10
+ description: `${(_e = (_d = codeModel.options) === null || _d === void 0 ? void 0 : _d.packageDetails) === null || _e === void 0 ? void 0 : _e.description}`,
10
11
  "sdk-type": "client",
11
12
  main: "dist/index.js",
12
13
  module: "dist-esm/src/index.js",
@@ -24,9 +25,9 @@ export function emitPackage(project, srcPath, codeModel) {
24
25
  types: "./types/src/api/index.d.ts",
25
26
  import: "./dist-esm/src/api/index.js"
26
27
  },
27
- "./rest": {
28
- types: "./types/src/rest/index.d.ts",
29
- import: "./dist-esm/src/rest/index.js"
28
+ "./models": {
29
+ types: "./types/src/models/index.d.ts",
30
+ import: "./dist-esm/src/models/index.js"
30
31
  }
31
32
  },
32
33
  "//metadata": {
@@ -151,6 +152,25 @@ export function emitPackage(project, srcPath, codeModel) {
151
152
  tslib: "^2.4.0"
152
153
  }
153
154
  };
155
+ if (codeModel.clients.length > 1) {
156
+ delete content.exports["./api"];
157
+ delete content.exports["./models"];
158
+ for (const client of codeModel.clients) {
159
+ const subfolder = normalizeName(client.name.replace("Client", ""), NameType.File);
160
+ content.exports[`./${subfolder}`] = {
161
+ types: `./types/src/${subfolder}/index.d.ts`,
162
+ import: `./dist-esm/src/${subfolder}/index.js`
163
+ };
164
+ content.exports[`./${subfolder}/api`] = {
165
+ types: `./types/src/${subfolder}/api/index.d.ts`,
166
+ import: `./dist-esm/src/${subfolder}/api/index.js`
167
+ };
168
+ content.exports[`./${subfolder}/models`] = {
169
+ types: `./types/src/${subfolder}/models/index.d.ts`,
170
+ import: `./dist-esm/src/${subfolder}/models/index.js`
171
+ };
172
+ }
173
+ }
154
174
  packageJson.addStatements(JSON.stringify(content));
155
175
  return packageJson;
156
176
  }
@@ -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,4 +1,5 @@
1
- import { Project } from "ts-morph";
1
+ import { Project, SourceFile } from "ts-morph";
2
2
  import { Client } from "./modularCodeModel.js";
3
- export declare function buildRootIndex(client: Client, project: Project, srcPath: string): void;
3
+ export declare function buildRootIndex(client: Client, project: Project, rootIndexFile: SourceFile, srcPath: string, subfolder: string): void;
4
+ export declare function buildSubClientIndexFile(client: Client, project: Project, srcPath: string, subfolder: string): void;
4
5
  //# sourceMappingURL=buildRootIndex.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"buildRootIndex.d.ts","sourceRoot":"","sources":["../../../src/modular/buildRootIndex.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAc,MAAM,UAAU,CAAC;AAE/C,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAE/C,wBAAgB,cAAc,CAC5B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,MAAM,QAyBhB"}
1
+ {"version":3,"file":"buildRootIndex.d.ts","sourceRoot":"","sources":["../../../src/modular/buildRootIndex.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE/C,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAE/C,wBAAgB,cAAc,CAC5B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,EAChB,aAAa,EAAE,UAAU,EACzB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,QAelB;AAkDD,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,QAmBlB"}
@@ -1,66 +1,47 @@
1
1
  import { getClientName } from "./helpers/namingHelpers.js";
2
- export function buildRootIndex(client, project, srcPath) {
2
+ export function buildRootIndex(client, project, rootIndexFile, srcPath, subfolder) {
3
3
  const clientName = `${getClientName(client)}Client`;
4
- const clientFile = project.getSourceFile(`${srcPath}/src/${clientName}.ts`);
4
+ const clientFile = project.getSourceFile(`${srcPath}/src/${subfolder !== "" ? subfolder + "/" : ""}${clientName}.ts`);
5
5
  if (!clientFile) {
6
6
  throw new Error(`Couldn't find client file: ${srcPath}/src/${clientName}.ts`);
7
7
  }
8
- const file = project.createSourceFile(`${srcPath}/src/index.ts`, "", {
9
- overwrite: true
10
- });
11
- exportModels(file, srcPath);
12
- exportOptionsInterfaces(client, file, srcPath);
13
- exportClassicalClient(client, file);
14
- file.addExportDeclarations([
15
- {
16
- moduleSpecifier: `./common/interfaces.js`,
17
- namedExports: [`RequestOptions`]
18
- }
19
- ]);
8
+ exportClassicalClient(client, rootIndexFile, subfolder);
9
+ exportModels(rootIndexFile, project, srcPath, clientName, subfolder, true);
20
10
  }
21
- function exportClassicalClient(client, indexFile) {
11
+ function exportClassicalClient(client, indexFile, subfolder, isSubClient = false) {
22
12
  const clientName = `${getClientName(client)}Client`;
23
13
  indexFile.addExportDeclaration({
24
14
  namedExports: [clientName, `${clientName}Options`],
25
- moduleSpecifier: `./${clientName}.js`
15
+ moduleSpecifier: `./${subfolder !== "" && !isSubClient ? subfolder + "/" : ""}${clientName}.js`
26
16
  });
27
17
  }
28
- function exportOptionsInterfaces(client, indexFile, srcPath) {
29
- var _a, _b;
30
- const clientContextName = `${getClientName(client)}Context`;
31
- const project = indexFile.getProject();
32
- const files = project.getSourceFiles(`${srcPath}/src/api/**`);
33
- for (const file of files) {
34
- if (file.getBaseNameWithoutExtension() === clientContextName) {
35
- continue;
36
- }
37
- if (file.getBaseNameWithoutExtension() === "models") {
38
- continue;
39
- }
40
- if (file.getBaseNameWithoutExtension() === "index") {
41
- continue;
42
- }
43
- const namedExports = [];
44
- for (const [key, delaration] of file.getExportedDeclarations().entries()) {
45
- if (((_a = delaration[0]) === null || _a === void 0 ? void 0 : _a.getKindName()) === "InterfaceDeclaration" ||
46
- ((_b = delaration[0]) === null || _b === void 0 ? void 0 : _b.getKindName()) === "TypeAliasDeclaration") {
47
- namedExports.push(key);
48
- }
49
- }
50
- if (namedExports.length > 0) {
51
- const moduleSpecifier = `./api/${file.getBaseNameWithoutExtension()}.js`;
52
- indexFile.addExportDeclaration({ moduleSpecifier, namedExports });
53
- }
54
- }
55
- }
56
- function exportModels(indexFile, srcPath) {
57
- const project = indexFile.getProject();
58
- const modelsFile = project.getSourceFile(`${srcPath}/src/api/models.ts`);
18
+ function exportModels(indexFile, project, srcPath, clientName, subfolder = "", isTopLevel = false) {
19
+ const modelsFile = project.getSourceFile(`${srcPath}/src/${subfolder !== "" ? subfolder + "/" : ""}models/index.ts`);
59
20
  if (!modelsFile) {
60
21
  return;
61
22
  }
62
- const namedExports = [...modelsFile.getExportedDeclarations().keys()];
63
- const moduleSpecifier = "./api/models.js";
64
- indexFile.addExportDeclaration({ moduleSpecifier, namedExports });
23
+ const exported = [...indexFile.getExportedDeclarations().keys()];
24
+ const namedExports = [...modelsFile.getExportedDeclarations().keys()].map((modelName) => {
25
+ if (exported.indexOf(modelName) > -1) {
26
+ return `${modelName} as ${clientName}${modelName}`;
27
+ }
28
+ return modelName;
29
+ });
30
+ const moduleSpecifier = `./${isTopLevel && subfolder !== "" ? subfolder + "/" : ""}models/index.js`;
31
+ indexFile.addExportDeclaration({
32
+ moduleSpecifier,
33
+ namedExports
34
+ });
35
+ }
36
+ export function buildSubClientIndexFile(client, project, srcPath, subfolder) {
37
+ const subClientIndexFile = project.createSourceFile(`${srcPath}/src/${subfolder !== "" ? subfolder + "/" : ""}index.ts`, undefined, { overwrite: true });
38
+ const clientName = `${getClientName(client)}Client`;
39
+ const clientFilePath = `${srcPath}/src/${subfolder !== "" ? subfolder + "/" : ""}${clientName}.ts`;
40
+ const clientFile = project.getSourceFile(clientFilePath);
41
+ if (!clientFile) {
42
+ throw new Error(`Couldn't find client file: ${clientFilePath}`);
43
+ }
44
+ exportClassicalClient(client, subClientIndexFile, subfolder, true);
45
+ exportModels(subClientIndexFile, project, srcPath, clientName, subfolder);
65
46
  }
66
47
  //# sourceMappingURL=buildRootIndex.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"buildRootIndex.js","sourceRoot":"","sources":["../../../src/modular/buildRootIndex.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"buildRootIndex.js","sourceRoot":"","sources":["../../../src/modular/buildRootIndex.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Project } from "ts-morph";
2
+ export declare function buildSubpathIndexFile(project: Project, srcPath: string, subpath: string, subfolder: string): void;
3
+ //# sourceMappingURL=buildSubpathIndex.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildSubpathIndex.d.ts","sourceRoot":"","sources":["../../../src/modular/buildSubpathIndex.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAEnC,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,QAelB"}
@@ -1,6 +1,6 @@
1
- export function buildApiIndexFile(project, srcPath) {
2
- const apiFiles = project.getSourceFiles("**/src/api/**");
3
- const indexFile = project.createSourceFile(`${srcPath}/src/api/index.ts`);
1
+ export function buildSubpathIndexFile(project, srcPath, subpath, subfolder) {
2
+ const apiFiles = project.getSourceFiles(`**/src/${subfolder}/${subpath}/**`);
3
+ const indexFile = project.createSourceFile(`${srcPath}/src/${subfolder}/${subpath}/index.ts`);
4
4
  for (const file of apiFiles) {
5
5
  const exports = [...file.getExportedDeclarations().keys()].filter((k) => !k.startsWith("_"));
6
6
  indexFile.addExportDeclaration({
@@ -9,4 +9,4 @@ export function buildApiIndexFile(project, srcPath) {
9
9
  });
10
10
  }
11
11
  }
12
- //# sourceMappingURL=buildApiIndex.js.map
12
+ //# sourceMappingURL=buildSubpathIndex.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildSubpathIndex.js","sourceRoot":"","sources":["../../../src/modular/buildSubpathIndex.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,qBAAqB,CACnC,OAAgB,EAChB,OAAe,EACf,OAAe,EACf,SAAiB;IAEjB,MAAM,QAAQ,GAAG,OAAO,CAAC,cAAc,CAAC,UAAU,SAAS,IAAI,OAAO,KAAK,CAAC,CAAC;IAC7E,MAAM,SAAS,GAAG,OAAO,CAAC,gBAAgB,CACxC,GAAG,OAAO,QAAQ,SAAS,IAAI,OAAO,WAAW,CAClD,CAAC;IACF,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE;QAC3B,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAC/D,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAC1B,CAAC;QACF,SAAS,CAAC,oBAAoB,CAAC;YAC7B,eAAe,EAAE,KAAK,IAAI,CAAC,2BAA2B,EAAE,KAAK;YAC7D,YAAY,EAAE,OAAO;SACtB,CAAC,CAAC;KACJ;AACH,CAAC"}
@@ -3,5 +3,5 @@ import { ModularCodeModel } from "./modularCodeModel.js";
3
3
  /**
4
4
  * This function creates the file containing all the models defined in TypeSpec
5
5
  */
6
- export declare function buildModels(codeModel: ModularCodeModel, project: Project, srcPath?: string): SourceFile;
6
+ export declare function buildModels(codeModel: ModularCodeModel, project: Project, srcPath?: string, subfolder?: string): SourceFile;
7
7
  //# sourceMappingURL=emitModels.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"emitModels.d.ts","sourceRoot":"","sources":["../../../src/modular/emitModels.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE/C,OAAO,EAAE,gBAAgB,EAAQ,MAAM,uBAAuB,CAAC;AAE/D;;GAEG;AACH,wBAAgB,WAAW,CACzB,SAAS,EAAE,gBAAgB,EAC3B,OAAO,EAAE,OAAO,EAChB,OAAO,GAAE,MAAc,GACtB,UAAU,CA+FZ"}
1
+ {"version":3,"file":"emitModels.d.ts","sourceRoot":"","sources":["../../../src/modular/emitModels.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE/C,OAAO,EAAE,gBAAgB,EAAQ,MAAM,uBAAuB,CAAC;AAG/D;;GAEG;AACH,wBAAgB,WAAW,CACzB,SAAS,EAAE,gBAAgB,EAC3B,OAAO,EAAE,OAAO,EAChB,OAAO,GAAE,MAAc,EACvB,SAAS,GAAE,MAAW,GACrB,UAAU,CAiGZ"}
@@ -1,10 +1,11 @@
1
1
  import { getType } from "./helpers/typeHelpers.js";
2
+ import * as path from "path";
2
3
  /**
3
4
  * This function creates the file containing all the models defined in TypeSpec
4
5
  */
5
- export function buildModels(codeModel, project, srcPath = "src") {
6
+ export function buildModels(codeModel, project, srcPath = "src", subfolder = "") {
6
7
  var _a, _b, _c, _d, _e, _f;
7
- const modelsFile = project.createSourceFile(`${srcPath}/src/api/models.ts`);
8
+ const modelsFile = project.createSourceFile(path.join(`${srcPath}/src/`, subfolder, `models/models.ts`));
8
9
  // We are generating both models and enums here
9
10
  const coreClientTypes = new Set();
10
11
  const models = codeModel.types.filter((t) => (t.type === "model" || t.type === "enum") && !isAzureCoreError(t));
@@ -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,EAAE,YAAY,EAAE,6BAA6B,EAAE,MAAM,UAAU,CAAC;AACvE,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAGhD,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,MAAM,GACb,YAAY,CAAC,6BAA6B,CAAC,EAAE,CAqB/C"}
1
+ {"version":3,"file":"clientHelpers.d.ts","sourceRoot":"","sources":["../../../../src/modular/helpers/clientHelpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,6BAA6B,EAAE,MAAM,UAAU,CAAC;AACvE,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAGhD,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,MAAM,GACb,YAAY,CAAC,6BAA6B,CAAC,EAAE,CAyB/C"}
@@ -8,7 +8,8 @@ export function getClientParameters(client) {
8
8
  };
9
9
  const params = [
10
10
  ...parameters
11
- .filter((p) => p.type.type !== "constant")
11
+ .filter((p) => p.type.type !== "constant" &&
12
+ (p.clientDefaultValue === null || p.clientDefaultValue === undefined))
12
13
  .map((p) => {
13
14
  return {
14
15
  name: p.clientName,
@@ -1 +1 @@
1
- {"version":3,"file":"clientHelpers.js","sourceRoot":"","sources":["../../../../src/modular/helpers/clientHelpers.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,MAAM,UAAU,mBAAmB,CACjC,MAAc;IAEd,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;IACpC,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,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC;aACzC,GAAG,CAA8C,CAAC,CAAC,EAAE,EAAE;YACtD,OAAO;gBACL,IAAI,EAAE,CAAC,CAAC,UAAU;gBAClB,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC;aAC1B,CAAC;QACJ,CAAC,CAAC;QACJ,YAAY;KACb,CAAC;IAEF,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"clientHelpers.js","sourceRoot":"","sources":["../../../../src/modular/helpers/clientHelpers.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,MAAM,UAAU,mBAAmB,CACjC,MAAc;IAEd,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;IACpC,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,gBAAgB,CAAC,CAAC,CAAC;aAC1B,CAAC;QACJ,CAAC,CAAC;QACJ,YAAY;KACb,CAAC;IAEF,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"namingHelpers.d.ts","sourceRoot":"","sources":["../../../../src/modular/helpers/namingHelpers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAEL,QAAQ,EAET,MAAM,yBAAyB,CAAC;AAEjC,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,UAE3C;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,SAAS,EACpB,OAAO,GAAE;IAAE,MAAM,EAAE,OAAO,GAAG,QAAQ,CAAA;CAAwB,GAC5D,WAAW,CAeb;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAKxE"}
1
+ {"version":3,"file":"namingHelpers.d.ts","sourceRoot":"","sources":["../../../../src/modular/helpers/namingHelpers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAEL,QAAQ,EAET,MAAM,yBAAyB,CAAC;AAEjC,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,UAE3C;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,SAAS,EACpB,OAAO,GAAE;IAAE,MAAM,EAAE,OAAO,GAAG,QAAQ,CAAA;CAAwB,GAC5D,WAAW,CAeb;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAMxE"}
@@ -19,6 +19,7 @@ export function getOperationName(operation, options = { casing: "camel" }) {
19
19
  };
20
20
  }
21
21
  export function isReservedName(name, nameType) {
22
- return ReservedModelNames.some((reservedName) => reservedName.name === name && reservedName.reservedFor.includes(nameType));
22
+ return ReservedModelNames.some((reservedName) => reservedName.name === name.toLowerCase() &&
23
+ reservedName.reservedFor.includes(nameType));
23
24
  }
24
25
  //# sourceMappingURL=namingHelpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"namingHelpers.js","sourceRoot":"","sources":["../../../../src/modular/helpers/namingHelpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAEvE,OAAO,EACL,kBAAkB,EAClB,QAAQ,EACR,aAAa,EACd,MAAM,yBAAyB,CAAC;AAEjC,MAAM,UAAU,aAAa,CAAC,MAAc;IAC1C,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;AAC5C,CAAC;AAOD,MAAM,UAAU,gBAAgB,CAC9B,SAAoB,EACpB,UAA0C,EAAE,MAAM,EAAE,OAAO,EAAE;IAE7D,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC;IACzE,IAAI,cAAc,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,SAAS,CAAC,EAAE;QACtD,OAAO;YACL,IAAI,EAAE,aAAa,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;YAC7D,KAAK,EAAE;gBACL,GAAG,SAAS,CAAC,IAAI;2FACkE;aACpF;SACF,CAAC;KACH;IAED,OAAO;QACL,IAAI,EAAE,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC;KAC/B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,IAAY,EAAE,QAAkB;IAC7D,OAAO,kBAAkB,CAAC,IAAI,CAC5B,CAAC,YAAY,EAAE,EAAE,CACf,YAAY,CAAC,IAAI,KAAK,IAAI,IAAI,YAAY,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAC5E,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"namingHelpers.js","sourceRoot":"","sources":["../../../../src/modular/helpers/namingHelpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAEvE,OAAO,EACL,kBAAkB,EAClB,QAAQ,EACR,aAAa,EACd,MAAM,yBAAyB,CAAC;AAEjC,MAAM,UAAU,aAAa,CAAC,MAAc;IAC1C,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;AAC5C,CAAC;AAOD,MAAM,UAAU,gBAAgB,CAC9B,SAAoB,EACpB,UAA0C,EAAE,MAAM,EAAE,OAAO,EAAE;IAE7D,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC;IACzE,IAAI,cAAc,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,SAAS,CAAC,EAAE;QACtD,OAAO;YACL,IAAI,EAAE,aAAa,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;YAC7D,KAAK,EAAE;gBACL,GAAG,SAAS,CAAC,IAAI;2FACkE;aACpF;SACF,CAAC;KACH;IAED,OAAO;QACL,IAAI,EAAE,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC;KAC/B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,IAAY,EAAE,QAAkB;IAC7D,OAAO,kBAAkB,CAAC,IAAI,CAC5B,CAAC,YAAY,EAAE,EAAE,CACf,YAAY,CAAC,IAAI,KAAK,IAAI,CAAC,WAAW,EAAE;QACxC,YAAY,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAC9C,CAAC;AACJ,CAAC"}
@@ -1,10 +1,10 @@
1
1
  import { FunctionDeclarationStructure, OptionalKind } from "ts-morph";
2
2
  import { Operation } from "../modularCodeModel.js";
3
- export declare function getSendPrivateFunction(operation: Operation): OptionalKind<FunctionDeclarationStructure>;
4
- export declare function getDeserializePrivateFunction(operation: Operation): OptionalKind<FunctionDeclarationStructure>;
3
+ export declare function getSendPrivateFunction(operation: Operation, clientType: string): OptionalKind<FunctionDeclarationStructure>;
4
+ export declare function getDeserializePrivateFunction(operation: Operation, needSubClient: boolean, needUnexpectedHelper: boolean): OptionalKind<FunctionDeclarationStructure>;
5
5
  /**
6
6
  * This operation builds and returns the function declaration for an operation.
7
7
  */
8
- export declare function getOperationFunction(operation: Operation): OptionalKind<FunctionDeclarationStructure>;
8
+ export declare function getOperationFunction(operation: Operation, clientType: string): OptionalKind<FunctionDeclarationStructure>;
9
9
  export declare function getOperationOptionsName(operation: Operation): string;
10
10
  //# 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,SAAS,EAIV,MAAM,wBAAwB,CAAC;AAgBhC,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,SAAS,GACnB,YAAY,CAAC,4BAA4B,CAAC,CA4B5C;AAED,wBAAgB,6BAA6B,CAC3C,SAAS,EAAE,SAAS,GACnB,YAAY,CAAC,4BAA4B,CAAC,CA+C5C;AAoDD;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,SAAS,GACnB,YAAY,CAAC,4BAA4B,CAAC,CAgC5C;AAED,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,SAAS,UAI3D"}
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,SAAS,EAIV,MAAM,wBAAwB,CAAC;AA6BhC,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,MAAM,GACjB,YAAY,CAAC,4BAA4B,CAAC,CA+B5C;AAED,wBAAgB,6BAA6B,CAC3C,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,OAAO,EACtB,oBAAoB,EAAE,OAAO,GAC5B,YAAY,CAAC,4BAA4B,CAAC,CAgE5C;AA6DD;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,MAAM,GACjB,YAAY,CAAC,4BAA4B,CAAC,CAgC5C;AAED,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,SAAS,UAI3D"}