@azure-tools/typespec-ts 0.29.0 → 0.30.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.
- package/CHANGELOG.md +15 -0
- package/dist/src/contextManager.d.ts +70 -0
- package/dist/src/contextManager.d.ts.map +1 -0
- package/dist/src/contextManager.js +59 -0
- package/dist/src/contextManager.js.map +1 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +38 -28
- package/dist/src/index.js.map +1 -1
- package/dist/src/lib.d.ts +2 -1
- package/dist/src/lib.d.ts.map +1 -1
- package/dist/src/lib.js +3 -2
- package/dist/src/lib.js.map +1 -1
- package/dist/src/metaTree.d.ts +12 -0
- package/dist/src/metaTree.d.ts.map +1 -0
- package/dist/src/metaTree.js +2 -0
- package/dist/src/metaTree.js.map +1 -0
- package/dist/src/modular/buildClassicalClient.d.ts +1 -1
- package/dist/src/modular/buildClassicalClient.d.ts.map +1 -1
- package/dist/src/modular/buildClassicalClient.js +22 -16
- package/dist/src/modular/buildClassicalClient.js.map +1 -1
- package/dist/src/modular/buildClassicalOperationGroups.d.ts +3 -2
- package/dist/src/modular/buildClassicalOperationGroups.d.ts.map +1 -1
- package/dist/src/modular/buildClassicalOperationGroups.js +5 -5
- package/dist/src/modular/buildClassicalOperationGroups.js.map +1 -1
- package/dist/src/modular/buildClientContext.d.ts +1 -1
- package/dist/src/modular/buildClientContext.d.ts.map +1 -1
- package/dist/src/modular/buildClientContext.js +5 -5
- package/dist/src/modular/buildClientContext.js.map +1 -1
- package/dist/src/modular/buildCodeModel.d.ts +2 -2
- package/dist/src/modular/buildCodeModel.d.ts.map +1 -1
- package/dist/src/modular/buildCodeModel.js +69 -43
- package/dist/src/modular/buildCodeModel.js.map +1 -1
- package/dist/src/modular/buildHelperSerializers.d.ts +3 -0
- package/dist/src/modular/buildHelperSerializers.d.ts.map +1 -0
- package/dist/src/modular/buildHelperSerializers.js +60 -0
- package/dist/src/modular/buildHelperSerializers.js.map +1 -0
- package/dist/src/modular/buildLroFiles.d.ts +1 -1
- package/dist/src/modular/buildLroFiles.d.ts.map +1 -1
- package/dist/src/modular/buildLroFiles.js +25 -31
- package/dist/src/modular/buildLroFiles.js.map +1 -1
- package/dist/src/modular/buildOperations.d.ts +3 -2
- package/dist/src/modular/buildOperations.d.ts.map +1 -1
- package/dist/src/modular/buildOperations.js +23 -11
- package/dist/src/modular/buildOperations.js.map +1 -1
- package/dist/src/modular/buildPagingFiles.d.ts.map +1 -1
- package/dist/src/modular/buildPagingFiles.js.map +1 -1
- package/dist/src/modular/buildProjectFiles.d.ts.map +1 -1
- package/dist/src/modular/buildProjectFiles.js.map +1 -1
- package/dist/src/modular/buildRootIndex.d.ts.map +1 -1
- package/dist/src/modular/buildRootIndex.js +1 -1
- package/dist/src/modular/buildRootIndex.js.map +1 -1
- package/dist/src/modular/buildSerializeUtils.d.ts +2 -2
- package/dist/src/modular/buildSerializeUtils.d.ts.map +1 -1
- package/dist/src/modular/buildSerializeUtils.js +15 -8
- package/dist/src/modular/buildSerializeUtils.js.map +1 -1
- package/dist/src/modular/buildSubpathIndex.d.ts.map +1 -1
- package/dist/src/modular/buildSubpathIndex.js +6 -0
- package/dist/src/modular/buildSubpathIndex.js.map +1 -1
- package/dist/src/modular/emitModels.d.ts +5 -5
- package/dist/src/modular/emitModels.d.ts.map +1 -1
- package/dist/src/modular/emitModels.js +52 -21
- package/dist/src/modular/emitModels.js.map +1 -1
- package/dist/src/modular/helpers/classicalOperationHelpers.d.ts +3 -1
- package/dist/src/modular/helpers/classicalOperationHelpers.d.ts.map +1 -1
- package/dist/src/modular/helpers/classicalOperationHelpers.js +26 -12
- package/dist/src/modular/helpers/classicalOperationHelpers.js.map +1 -1
- package/dist/src/modular/helpers/clientHelpers.d.ts +3 -2
- package/dist/src/modular/helpers/clientHelpers.d.ts.map +1 -1
- package/dist/src/modular/helpers/clientHelpers.js +14 -5
- package/dist/src/modular/helpers/clientHelpers.js.map +1 -1
- package/dist/src/modular/helpers/namingHelpers.d.ts +5 -1
- package/dist/src/modular/helpers/namingHelpers.d.ts.map +1 -1
- package/dist/src/modular/helpers/namingHelpers.js +25 -1
- package/dist/src/modular/helpers/namingHelpers.js.map +1 -1
- package/dist/src/modular/helpers/operationHelpers.d.ts +11 -3
- package/dist/src/modular/helpers/operationHelpers.d.ts.map +1 -1
- package/dist/src/modular/helpers/operationHelpers.js +160 -66
- package/dist/src/modular/helpers/operationHelpers.js.map +1 -1
- package/dist/src/modular/helpers/typeHelpers.d.ts +3 -0
- package/dist/src/modular/helpers/typeHelpers.d.ts.map +1 -1
- package/dist/src/modular/helpers/typeHelpers.js +50 -19
- package/dist/src/modular/helpers/typeHelpers.js.map +1 -1
- package/dist/src/modular/modularCodeModel.d.ts +9 -5
- package/dist/src/modular/modularCodeModel.d.ts.map +1 -1
- package/dist/src/modular/serialization/buildSerializerFunction.d.ts +4 -0
- package/dist/src/modular/serialization/buildSerializerFunction.d.ts.map +1 -0
- package/dist/src/modular/serialization/buildSerializerFunction.js +160 -0
- package/dist/src/modular/serialization/buildSerializerFunction.js.map +1 -0
- package/dist/src/modular/serialization/collectionUtils.d.ts +3 -0
- package/dist/src/modular/serialization/collectionUtils.d.ts.map +1 -0
- package/dist/src/modular/serialization/collectionUtils.js +17 -0
- package/dist/src/modular/serialization/collectionUtils.js.map +1 -0
- package/dist/src/modular/serialization/index.d.ts +5 -0
- package/dist/src/modular/serialization/index.d.ts.map +1 -0
- package/dist/src/modular/serialization/index.js +156 -0
- package/dist/src/modular/serialization/index.js.map +1 -0
- package/dist/src/modular/serialization/operationHelpers.d.ts +37 -0
- package/dist/src/modular/serialization/operationHelpers.d.ts.map +1 -0
- package/dist/src/modular/serialization/operationHelpers.js +457 -0
- package/dist/src/modular/serialization/operationHelpers.js.map +1 -0
- package/dist/src/modular/serialization/serializeArray.d.ts +5 -0
- package/dist/src/modular/serialization/serializeArray.d.ts.map +1 -0
- package/dist/src/modular/serialization/serializeArray.js +33 -0
- package/dist/src/modular/serialization/serializeArray.js.map +1 -0
- package/dist/src/modular/serialization/serializeDateTime.d.ts +4 -0
- package/dist/src/modular/serialization/serializeDateTime.d.ts.map +1 -0
- package/dist/src/modular/serialization/serializeDateTime.js +19 -0
- package/dist/src/modular/serialization/serializeDateTime.js.map +1 -0
- package/dist/src/modular/serialization/serializeHeaders.d.ts +7 -0
- package/dist/src/modular/serialization/serializeHeaders.d.ts.map +1 -0
- package/dist/src/modular/serialization/serializeHeaders.js +44 -0
- package/dist/src/modular/serialization/serializeHeaders.js.map +1 -0
- package/dist/src/modular/serialization/serializers.d.ts +17 -0
- package/dist/src/modular/serialization/serializers.d.ts.map +1 -0
- package/dist/src/modular/serialization/serializers.js +176 -0
- package/dist/src/modular/serialization/serializers.js.map +1 -0
- package/dist/src/modular/serialization/util.d.ts +26 -0
- package/dist/src/modular/serialization/util.d.ts.map +1 -0
- package/dist/src/modular/serialization/util.js +112 -0
- package/dist/src/modular/serialization/util.js.map +1 -0
- package/dist/src/reify/index.d.ts +12 -0
- package/dist/src/reify/index.d.ts.map +1 -0
- package/dist/src/reify/index.js +22 -0
- package/dist/src/reify/index.js.map +1 -0
- package/dist/src/testing/index.d.ts +2 -0
- package/dist/src/testing/index.d.ts.map +1 -0
- package/dist/src/testing/index.js +7 -0
- package/dist/src/testing/index.js.map +1 -0
- package/dist/src/transform/transform.d.ts +1 -1
- package/dist/src/transform/transform.d.ts.map +1 -1
- package/dist/src/transform/transform.js +11 -11
- package/dist/src/transform/transform.js.map +1 -1
- package/dist/src/transform/transformApiVersionInfo.d.ts +1 -1
- package/dist/src/transform/transformApiVersionInfo.d.ts.map +1 -1
- package/dist/src/transform/transformApiVersionInfo.js +16 -6
- package/dist/src/transform/transformApiVersionInfo.js.map +1 -1
- package/dist/src/transform/transformHelperFunctionDetails.d.ts +1 -1
- package/dist/src/transform/transformHelperFunctionDetails.d.ts.map +1 -1
- package/dist/src/transform/transformHelperFunctionDetails.js +1 -1
- package/dist/src/transform/transformHelperFunctionDetails.js.map +1 -1
- package/dist/src/transform/transformParameters.d.ts +1 -1
- package/dist/src/transform/transformParameters.d.ts.map +1 -1
- package/dist/src/transform/transformParameters.js +3 -3
- package/dist/src/transform/transformParameters.js.map +1 -1
- package/dist/src/transform/transformPaths.d.ts +1 -1
- package/dist/src/transform/transformPaths.d.ts.map +1 -1
- package/dist/src/transform/transformPaths.js +3 -4
- package/dist/src/transform/transformPaths.js.map +1 -1
- package/dist/src/transform/transformResponses.d.ts +1 -1
- package/dist/src/transform/transformResponses.d.ts.map +1 -1
- package/dist/src/transform/transformResponses.js +12 -9
- package/dist/src/transform/transformResponses.js.map +1 -1
- package/dist/src/transform/transformSchemas.d.ts.map +1 -1
- package/dist/src/transform/transformSchemas.js +10 -4
- package/dist/src/transform/transformSchemas.js.map +1 -1
- package/dist/src/transform/transformTelemetryInfo.d.ts.map +1 -1
- package/dist/src/transform/transformTelemetryInfo.js +1 -1
- package/dist/src/transform/transformTelemetryInfo.js.map +1 -1
- package/dist/src/transform/transfromRLCOptions.d.ts.map +1 -1
- package/dist/src/transform/transfromRLCOptions.js +11 -5
- package/dist/src/transform/transfromRLCOptions.js.map +1 -1
- package/dist/src/utils/clientUtils.js.map +1 -1
- package/dist/src/utils/emitUtil.d.ts +1 -2
- package/dist/src/utils/emitUtil.d.ts.map +1 -1
- package/dist/src/utils/emitUtil.js.map +1 -1
- package/dist/src/utils/importHelper.d.ts +10 -0
- package/dist/src/utils/importHelper.d.ts.map +1 -0
- package/dist/src/utils/importHelper.js +54 -0
- package/dist/src/utils/importHelper.js.map +1 -0
- package/dist/src/utils/modelUtils.d.ts +1 -1
- package/dist/src/utils/modelUtils.d.ts.map +1 -1
- package/dist/src/utils/modelUtils.js +41 -25
- package/dist/src/utils/modelUtils.js.map +1 -1
- package/dist/src/utils/namespaceUtils.d.ts.map +1 -1
- package/dist/src/utils/namespaceUtils.js.map +1 -1
- package/dist/src/utils/operationUtil.d.ts +3 -4
- package/dist/src/utils/operationUtil.d.ts.map +1 -1
- package/dist/src/utils/operationUtil.js +4 -5
- package/dist/src/utils/operationUtil.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +55 -35
- package/src/contextManager.ts +99 -0
- package/src/index.ts +66 -55
- package/src/lib.ts +6 -4
- package/src/metaTree.ts +14 -0
- package/src/modular/buildClassicalClient.ts +36 -18
- package/src/modular/buildClassicalOperationGroups.ts +16 -8
- package/src/modular/buildClientContext.ts +11 -11
- package/src/modular/buildCodeModel.ts +141 -99
- package/src/modular/buildHelperSerializers.ts +71 -0
- package/src/modular/buildLroFiles.ts +29 -33
- package/src/modular/buildOperations.ts +68 -31
- package/src/modular/buildPagingFiles.ts +1 -1
- package/src/modular/buildProjectFiles.ts +1 -1
- package/src/modular/buildRootIndex.ts +1 -1
- package/src/modular/buildSerializeUtils.ts +33 -25
- package/src/modular/buildSubpathIndex.ts +10 -0
- package/src/modular/emitModels.ts +86 -32
- package/src/modular/helpers/classicalOperationHelpers.ts +41 -7
- package/src/modular/helpers/clientHelpers.ts +19 -6
- package/src/modular/helpers/namingHelpers.ts +59 -4
- package/src/modular/helpers/operationHelpers.ts +247 -111
- package/src/modular/helpers/typeHelpers.ts +54 -17
- package/src/modular/modularCodeModel.ts +17 -5
- package/src/modular/serialization/buildSerializerFunction.ts +224 -0
- package/src/modular/serialization/collectionUtils.ts +20 -0
- package/src/modular/serialization/index.ts +263 -0
- package/src/modular/serialization/operationHelpers.ts +660 -0
- package/src/modular/serialization/serializeArray.ts +51 -0
- package/src/modular/serialization/serializeDateTime.ts +22 -0
- package/src/modular/serialization/serializeHeaders.ts +64 -0
- package/src/modular/serialization/serializers.ts +304 -0
- package/src/modular/serialization/util.ts +167 -0
- package/src/reify/index.ts +41 -0
- package/src/testing/index.ts +10 -0
- package/src/transform/transform.ts +15 -15
- package/src/transform/transformApiVersionInfo.ts +29 -16
- package/src/transform/transformHelperFunctionDetails.ts +8 -8
- package/src/transform/transformParameters.ts +15 -15
- package/src/transform/transformPaths.ts +12 -12
- package/src/transform/transformResponses.ts +21 -18
- package/src/transform/transformSchemas.ts +17 -8
- package/src/transform/transformTelemetryInfo.ts +4 -4
- package/src/transform/transfromRLCOptions.ts +14 -7
- package/src/utils/clientUtils.ts +2 -2
- package/src/utils/emitUtil.ts +6 -3
- package/src/utils/importHelper.ts +64 -0
- package/src/utils/modelUtils.ts +79 -47
- package/src/utils/namespaceUtils.ts +1 -1
- package/src/utils/operationUtil.ts +22 -24
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildCodeModel.js","sourceRoot":"","sources":["../../../src/modular/buildCodeModel.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"buildCodeModel.js","sourceRoot":"","sources":["../../../src/modular/buildCodeModel.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buildHelperSerializers.d.ts","sourceRoot":"","sources":["../../../src/modular/buildHelperSerializers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AA6CnC,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,OAAO,EAChB,OAAO,GAAE,MAAc,QAuBxB"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { useContext } from "../contextManager.js";
|
|
2
|
+
const serializeRecordFunction = {
|
|
3
|
+
symbol: "serializeRecord",
|
|
4
|
+
content: `
|
|
5
|
+
export function serializeRecord<
|
|
6
|
+
T extends string | number | boolean | Date | null,
|
|
7
|
+
R
|
|
8
|
+
>(item: Record<string, T>): Record<string, R>;
|
|
9
|
+
export function serializeRecord<T, R>(
|
|
10
|
+
item: Record<string, T>,
|
|
11
|
+
serializer: (item: T) => R
|
|
12
|
+
): Record<string, R>;
|
|
13
|
+
export function serializeRecord<T, R>(
|
|
14
|
+
item: Record<string, T>,
|
|
15
|
+
serializer?: (item: T) => R
|
|
16
|
+
): Record<string, R> {
|
|
17
|
+
return Object.keys(item).reduce(
|
|
18
|
+
(acc, key) => {
|
|
19
|
+
if (isSupportedRecordType(item[key])) {
|
|
20
|
+
acc[key] = item[key] as any;
|
|
21
|
+
} else if (serializer) {
|
|
22
|
+
const value = item[key];
|
|
23
|
+
if (value !== undefined) {
|
|
24
|
+
acc[key] = serializer(value);
|
|
25
|
+
}
|
|
26
|
+
} else {
|
|
27
|
+
console.warn(\`Don't know how to serialize \${item[key]}\`);
|
|
28
|
+
acc[key] = item[key] as any;
|
|
29
|
+
}
|
|
30
|
+
return acc;
|
|
31
|
+
},
|
|
32
|
+
{} as Record<string, R>
|
|
33
|
+
);
|
|
34
|
+
}`
|
|
35
|
+
};
|
|
36
|
+
const isRecordElementSupportedFunction = {
|
|
37
|
+
symbol: "isSupportedRecordType",
|
|
38
|
+
content: `
|
|
39
|
+
function isSupportedRecordType(t: any) {
|
|
40
|
+
return ["number", "string", "boolean", "null"].includes(typeof t) || t instanceof Date;
|
|
41
|
+
}
|
|
42
|
+
`
|
|
43
|
+
};
|
|
44
|
+
export function emitSerializerHelpersFile(project, srcPath = "src") {
|
|
45
|
+
const symbolMap = useContext("symbolMap");
|
|
46
|
+
const sourceFile = project.createSourceFile(`${srcPath}/helpers/serializerHelpers.ts`, "", {
|
|
47
|
+
overwrite: true
|
|
48
|
+
});
|
|
49
|
+
if (!symbolMap.has(serializeRecordFunction.symbol)) {
|
|
50
|
+
symbolMap.set(serializeRecordFunction.symbol, sourceFile);
|
|
51
|
+
}
|
|
52
|
+
if (!symbolMap.has(isRecordElementSupportedFunction.symbol)) {
|
|
53
|
+
symbolMap.set(isRecordElementSupportedFunction.symbol, sourceFile);
|
|
54
|
+
}
|
|
55
|
+
sourceFile.addStatements([
|
|
56
|
+
serializeRecordFunction.content,
|
|
57
|
+
isRecordElementSupportedFunction.content
|
|
58
|
+
]);
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=buildHelperSerializers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buildHelperSerializers.js","sourceRoot":"","sources":["../../../src/modular/buildHelperSerializers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,MAAM,uBAAuB,GAAG;IAC9B,MAAM,EAAE,iBAAiB;IACzB,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8BT;CACD,CAAC;AACF,MAAM,gCAAgC,GAAG;IACvC,MAAM,EAAE,uBAAuB;IAC/B,OAAO,EAAE;;;;CAIV;CACA,CAAC;AAEF,MAAM,UAAU,yBAAyB,CACvC,OAAgB,EAChB,UAAkB,KAAK;IAEvB,MAAM,SAAS,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IAC1C,MAAM,UAAU,GAAG,OAAO,CAAC,gBAAgB,CACzC,GAAG,OAAO,+BAA+B,EACzC,EAAE,EACF;QACE,SAAS,EAAE,IAAI;KAChB,CACF,CAAC;IAEF,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,uBAAuB,CAAC,MAAM,CAAC,EAAE,CAAC;QACnD,SAAS,CAAC,GAAG,CAAC,uBAAuB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAC5D,CAAC;IAED,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,gCAAgC,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5D,SAAS,CAAC,GAAG,CAAC,gCAAgC,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACrE,CAAC;IAED,UAAU,CAAC,aAAa,CAAC;QACvB,uBAAuB,CAAC,OAAO;QAC/B,gCAAgC,CAAC,OAAO;KACzC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { SourceFile } from "ts-morph";
|
|
2
|
-
import {
|
|
2
|
+
import { Client, ModularCodeModel } from "./modularCodeModel.js";
|
|
3
3
|
/**
|
|
4
4
|
* Always import LRO dependencies and remember to remove if unused.
|
|
5
5
|
* @param clientFile - The file to add the imports to.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildLroFiles.d.ts","sourceRoot":"","sources":["../../../src/modular/buildLroFiles.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"buildLroFiles.d.ts","sourceRoot":"","sources":["../../../src/modular/buildLroFiles.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAItC,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEjE;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,UAAU,EAAE,UAAU,QAa/D;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,gBAAgB,EAC3B,MAAM,EAAE,MAAM,QA+Kf;AA0CD;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,gBAAgB,EAC3B,MAAM,EAAE,MAAM,EACd,oBAAoB,GAAE,OAAc,EACpC,cAAc,GAAE,OAAe,QAoKhC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { isLroOnlyOperation } from "./helpers/operationHelpers.js";
|
|
1
|
+
import { NameType, normalizeName } from "@azure-tools/rlc-common";
|
|
3
2
|
import path from "path";
|
|
4
3
|
import { buildLroDeserDetailMap } from "./buildOperations.js";
|
|
5
|
-
import {
|
|
4
|
+
import { getClientName } from "./helpers/namingHelpers.js";
|
|
5
|
+
import { isLroOnlyOperation } from "./helpers/operationHelpers.js";
|
|
6
6
|
/**
|
|
7
7
|
* Always import LRO dependencies and remember to remove if unused.
|
|
8
8
|
* @param clientFile - The file to add the imports to.
|
|
@@ -15,7 +15,7 @@ export function importLroCoreDependencies(clientFile) {
|
|
|
15
15
|
"OperationState",
|
|
16
16
|
"deserializeState",
|
|
17
17
|
"ResourceLocationConfig",
|
|
18
|
-
"
|
|
18
|
+
"RunningOperation",
|
|
19
19
|
"createHttpPoller",
|
|
20
20
|
"OperationResponse"
|
|
21
21
|
]
|
|
@@ -42,7 +42,7 @@ export function buildRestorePollerHelper(codeModel, client) {
|
|
|
42
42
|
overwrite: true
|
|
43
43
|
});
|
|
44
44
|
importLroCoreDependencies(restorePollerFile);
|
|
45
|
-
const clientNames =
|
|
45
|
+
const clientNames = importClassicalClient(client, restorePollerFile);
|
|
46
46
|
importGetPollerHelper(restorePollerFile);
|
|
47
47
|
const deserializeMap = importDeserializeHelpers(client, restorePollerFile);
|
|
48
48
|
const restorePollerHelperContent = `import {
|
|
@@ -62,7 +62,7 @@ export function buildRestorePollerHelper(codeModel, client) {
|
|
|
62
62
|
*/
|
|
63
63
|
abortSignal?: AbortSignalLike;
|
|
64
64
|
/** Deserialization function for raw response body */
|
|
65
|
-
processResponseBody?: (result: TResponse) =>
|
|
65
|
+
processResponseBody?: (result: TResponse) => Promise<TResult>;
|
|
66
66
|
}
|
|
67
67
|
|
|
68
68
|
/**
|
|
@@ -79,8 +79,8 @@ export function buildRestorePollerHelper(codeModel, client) {
|
|
|
79
79
|
options?: RestorePollerOptions<TResult>
|
|
80
80
|
): PollerLike<OperationState<TResult>, TResult> {
|
|
81
81
|
const pollerConfig = deserializeState(serializedState).config;
|
|
82
|
-
const {
|
|
83
|
-
if (!
|
|
82
|
+
const { initialRequestUrl, requestMethod, metadata } = pollerConfig;
|
|
83
|
+
if (!initialRequestUrl || !requestMethod) {
|
|
84
84
|
throw new Error(
|
|
85
85
|
\`Invalid serialized state: \${serializedState} for sourceOperation \${sourceOperation?.name}\`
|
|
86
86
|
);
|
|
@@ -90,7 +90,7 @@ export function buildRestorePollerHelper(codeModel, client) {
|
|
|
90
90
|
| undefined;
|
|
91
91
|
const deserializeHelper =
|
|
92
92
|
options?.processResponseBody ??
|
|
93
|
-
getDeserializationHelper(
|
|
93
|
+
getDeserializationHelper(initialRequestUrl, requestMethod);
|
|
94
94
|
if (!deserializeHelper) {
|
|
95
95
|
throw new Error(
|
|
96
96
|
\`Please ensure the operation is in this client! We can't find its deserializeHelper for \${sourceOperation?.name}.\`
|
|
@@ -98,13 +98,13 @@ export function buildRestorePollerHelper(codeModel, client) {
|
|
|
98
98
|
}
|
|
99
99
|
return getLongRunningPoller(
|
|
100
100
|
(client as any)["_client"] ?? client,
|
|
101
|
-
deserializeHelper as (result: TResponse) =>
|
|
101
|
+
deserializeHelper as (result: TResponse) => Promise<TResult>,
|
|
102
102
|
{
|
|
103
103
|
updateIntervalInMs: options?.updateIntervalInMs,
|
|
104
104
|
abortSignal: options?.abortSignal,
|
|
105
105
|
resourceLocationConfig,
|
|
106
106
|
restoreFrom: serializedState,
|
|
107
|
-
|
|
107
|
+
initialRequestUrl
|
|
108
108
|
}
|
|
109
109
|
);
|
|
110
110
|
}
|
|
@@ -116,7 +116,7 @@ export function buildRestorePollerHelper(codeModel, client) {
|
|
|
116
116
|
function getDeserializationHelper(
|
|
117
117
|
urlStr: string,
|
|
118
118
|
method: string
|
|
119
|
-
): ((result: unknown) =>
|
|
119
|
+
): ((result: unknown) => Promise<unknown>) | undefined {
|
|
120
120
|
const path = new URL(urlStr).pathname;
|
|
121
121
|
const pathParts = path.split("/");
|
|
122
122
|
|
|
@@ -124,7 +124,7 @@ export function buildRestorePollerHelper(codeModel, client) {
|
|
|
124
124
|
// matchedLen: the length of candidate path
|
|
125
125
|
// matchedValue: the matched status code array
|
|
126
126
|
let matchedLen = -1,
|
|
127
|
-
matchedValue: ((result: unknown) =>
|
|
127
|
+
matchedValue: ((result: unknown) => Promise<unknown>) | undefined;
|
|
128
128
|
|
|
129
129
|
// Iterate the responseMap to find a match
|
|
130
130
|
for (const [key, value] of Object.entries(deserializeMap)) {
|
|
@@ -178,7 +178,7 @@ export function buildRestorePollerHelper(codeModel, client) {
|
|
|
178
178
|
// Update the matched value if and only if we found the longer pattern
|
|
179
179
|
if (found && candidatePath.length > matchedLen) {
|
|
180
180
|
matchedLen = candidatePath.length;
|
|
181
|
-
matchedValue = value as (result: unknown) =>
|
|
181
|
+
matchedValue = value as (result: unknown) => Promise<unknown>;
|
|
182
182
|
}
|
|
183
183
|
}
|
|
184
184
|
|
|
@@ -194,19 +194,13 @@ export function buildRestorePollerHelper(codeModel, client) {
|
|
|
194
194
|
restorePollerFile.fixMissingImports();
|
|
195
195
|
restorePollerFile.fixUnusedIdentifiers();
|
|
196
196
|
}
|
|
197
|
-
function
|
|
198
|
-
const
|
|
199
|
-
const classicalClientname = `${getClientName(client)}Client`;
|
|
200
|
-
const clientContextName = client.rlcClientName;
|
|
201
|
-
sourceFile.addImportDeclaration({
|
|
202
|
-
namedImports: [`${clientContextName}`],
|
|
203
|
-
moduleSpecifier: `./api/${normalizeName(name, NameType.File)}Context.js`
|
|
204
|
-
});
|
|
197
|
+
function importClassicalClient(client, sourceFile) {
|
|
198
|
+
const classicalClientName = `${getClientName(client)}Client`;
|
|
205
199
|
sourceFile.addImportDeclaration({
|
|
206
|
-
namedImports: [`${
|
|
207
|
-
moduleSpecifier: `./${normalizeName(
|
|
200
|
+
namedImports: [`${classicalClientName}`],
|
|
201
|
+
moduleSpecifier: `./${normalizeName(classicalClientName, NameType.File)}.js`
|
|
208
202
|
});
|
|
209
|
-
return [
|
|
203
|
+
return [classicalClientName];
|
|
210
204
|
}
|
|
211
205
|
function importGetPollerHelper(sourceFile) {
|
|
212
206
|
sourceFile.addImportDeclaration({
|
|
@@ -284,7 +278,7 @@ export function buildGetPollerHelper(codeModel, client, needUnexpectedHelper = t
|
|
|
284
278
|
* The original url of the LRO
|
|
285
279
|
* Should not be null when restoreFrom is set
|
|
286
280
|
*/
|
|
287
|
-
|
|
281
|
+
initialRequestUrl?: string;
|
|
288
282
|
/**
|
|
289
283
|
* A serialized poller which can be used to resume an existing paused Long-Running-Operation.
|
|
290
284
|
*/
|
|
@@ -299,7 +293,7 @@ export function buildGetPollerHelper(codeModel, client, needUnexpectedHelper = t
|
|
|
299
293
|
TResult = void
|
|
300
294
|
>(
|
|
301
295
|
client: Client,
|
|
302
|
-
processResponseBody: (result: TResponse) =>
|
|
296
|
+
processResponseBody: (result: TResponse) => Promise<TResult>,
|
|
303
297
|
options: GetLongRunningPollerOptions<TResponse>
|
|
304
298
|
): PollerLike<OperationState<TResult>, TResult> {
|
|
305
299
|
const { restoreFrom, getInitialResponse } = options;
|
|
@@ -310,7 +304,7 @@ export function buildGetPollerHelper(codeModel, client, needUnexpectedHelper = t
|
|
|
310
304
|
}
|
|
311
305
|
let initialResponse: TResponse | undefined = undefined;
|
|
312
306
|
const pollAbortController = new AbortController();
|
|
313
|
-
const poller:
|
|
307
|
+
const poller: RunningOperation<TResponse> = {
|
|
314
308
|
sendInitialRequest: async () => {
|
|
315
309
|
if (!getInitialResponse) {
|
|
316
310
|
throw new Error(
|
|
@@ -350,9 +344,9 @@ export function buildGetPollerHelper(codeModel, client, needUnexpectedHelper = t
|
|
|
350
344
|
options.abortSignal?.removeEventListener("abort", abortListener);
|
|
351
345
|
pollOptions?.abortSignal?.removeEventListener("abort", abortListener);
|
|
352
346
|
}
|
|
353
|
-
if (options.
|
|
347
|
+
if (options.initialRequestUrl || initialResponse) {
|
|
354
348
|
response.headers["x-ms-original-url"] =
|
|
355
|
-
options.
|
|
349
|
+
options.initialRequestUrl ?? initialResponse!.request.url;
|
|
356
350
|
}
|
|
357
351
|
|
|
358
352
|
return getLroResponse(response as TResponse);
|
|
@@ -363,7 +357,7 @@ export function buildGetPollerHelper(codeModel, client, needUnexpectedHelper = t
|
|
|
363
357
|
resourceLocationConfig: options?.resourceLocationConfig,
|
|
364
358
|
restoreFrom: options?.restoreFrom,
|
|
365
359
|
processResult: (result: unknown) => {
|
|
366
|
-
return processResponseBody(result as TResponse)
|
|
360
|
+
return processResponseBody(result as TResponse);
|
|
367
361
|
}
|
|
368
362
|
});
|
|
369
363
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildLroFiles.js","sourceRoot":"","sources":["../../../src/modular/buildLroFiles.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"buildLroFiles.js","sourceRoot":"","sources":["../../../src/modular/buildLroFiles.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import { Project, SourceFile } from "ts-morph";
|
|
2
|
-
import { Client, ModularCodeModel, Operation } from "./modularCodeModel.js";
|
|
3
2
|
import { SdkContext } from "../utils/interfaces.js";
|
|
4
3
|
import { OperationPathAndDeserDetails } from "./interfaces.js";
|
|
4
|
+
import { Client, ModularCodeModel, Operation } from "./modularCodeModel.js";
|
|
5
|
+
import { SerializerMap } from "./serialization/util.js";
|
|
5
6
|
/**
|
|
6
7
|
* This function creates a file under /api for each operation group.
|
|
7
8
|
* If there is no operation group in the TypeSpec program, we create a single
|
|
8
9
|
* file called operations.ts where all operations are generated.
|
|
9
10
|
*/
|
|
10
|
-
export declare function buildOperationFiles(client: Client, dpgContext: SdkContext, codeModel: ModularCodeModel, needUnexpectedHelper?: boolean): SourceFile[];
|
|
11
|
+
export declare function buildOperationFiles(client: Client, dpgContext: SdkContext, codeModel: ModularCodeModel, needUnexpectedHelper?: boolean, serializerMap?: SerializerMap): SourceFile[];
|
|
11
12
|
export declare function importModels(srcPath: string, sourceFile: SourceFile, project: Project, subfolder?: string, importLayer?: number): void;
|
|
12
13
|
export declare function importDeserializeUtils(srcPath: string, sourceFile: SourceFile, project: Project, serializeType: string, subfolder?: string, importLayer?: number): void;
|
|
13
14
|
export declare function importPagingDependencies(srcPath: string, sourceFile: SourceFile, project: Project, subfolder?: string, importLayer?: number): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildOperations.d.ts","sourceRoot":"","sources":["../../../src/modular/buildOperations.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"buildOperations.d.ts","sourceRoot":"","sources":["../../../src/modular/buildOperations.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE/C,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAYpD,OAAO,EAAE,4BAA4B,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAK5E,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAExD;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,gBAAgB,EAC3B,oBAAoB,GAAE,OAAc,EACpC,aAAa,CAAC,EAAE,aAAa,gBAuK9B;AAED,wBAAgB,YAAY,CAC1B,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,OAAO,EAChB,SAAS,GAAE,MAAW,EACtB,WAAW,GAAE,MAAU,QA6BxB;AAED,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,OAAO,EAChB,aAAa,EAAE,MAAM,EACrB,SAAS,GAAE,MAAW,EACtB,WAAW,GAAE,MAAU,QAwBxB;AAID,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,OAAO,EAChB,SAAS,GAAE,MAAW,EACtB,WAAW,GAAE,MAAU,QAmCxB;AAED,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,UAAU,EACtB,WAAW,GAAE,MAAU,QAUxB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,UAAU,QA6BvB;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,+CA6CpD"}
|
|
@@ -1,18 +1,24 @@
|
|
|
1
|
-
import { NameType, normalizeName } from "@azure-tools/rlc-common";
|
|
2
|
-
import {
|
|
3
|
-
import { getOperationFunction, getSendPrivateFunction, getDeserializePrivateFunction, getOperationOptionsName, isLroOnlyOperation } from "./helpers/operationHelpers.js";
|
|
1
|
+
import { addImportsToFiles, clearImportSets, getImportSpecifier, NameType, normalizeName } from "@azure-tools/rlc-common";
|
|
2
|
+
import { env } from "process";
|
|
4
3
|
import { isRLCMultiEndpoint } from "../utils/clientUtils.js";
|
|
5
|
-
import { getDocsFromDescription } from "./helpers/docsHelpers.js";
|
|
6
|
-
import { getImportSpecifier, addImportsToFiles, clearImportSets } from "@azure-tools/rlc-common";
|
|
7
4
|
import { importLroCoreDependencies } from "./buildLroFiles.js";
|
|
5
|
+
import { getDocsFromDescription } from "./helpers/docsHelpers.js";
|
|
8
6
|
import { getOperationName } from "./helpers/namingHelpers.js";
|
|
7
|
+
import { getDeserializePrivateFunction, getOperationFunction, getOperationOptionsName, getSendPrivateFunction, isLroOnlyOperation } from "./helpers/operationHelpers.js";
|
|
8
|
+
import { buildType } from "./helpers/typeHelpers.js";
|
|
9
|
+
import { getDeserializePrivateFunction as experimentalGetDeserializePrivateFunction, getSendPrivateFunction as experimentalGetSendPrivateFunction } from "./serialization/operationHelpers.js";
|
|
10
|
+
import { addImportBySymbol } from "../utils/importHelper.js";
|
|
9
11
|
/**
|
|
10
12
|
* This function creates a file under /api for each operation group.
|
|
11
13
|
* If there is no operation group in the TypeSpec program, we create a single
|
|
12
14
|
* file called operations.ts where all operations are generated.
|
|
13
15
|
*/
|
|
14
|
-
export function buildOperationFiles(client, dpgContext, codeModel, needUnexpectedHelper = true) {
|
|
16
|
+
export function buildOperationFiles(client, dpgContext, codeModel, needUnexpectedHelper = true, serializerMap) {
|
|
15
17
|
const operationFiles = [];
|
|
18
|
+
const isMultiEndpoint = isRLCMultiEndpoint(dpgContext);
|
|
19
|
+
const clientType = isMultiEndpoint
|
|
20
|
+
? `Client.${client.rlcClientName}`
|
|
21
|
+
: "Client";
|
|
16
22
|
for (const operationGroup of client.operationGroups) {
|
|
17
23
|
clearImportSets(codeModel.runtimeImports);
|
|
18
24
|
const operationFileName = operationGroup.className && operationGroup.namespaceHierarchies.length > 0
|
|
@@ -39,10 +45,8 @@ export function buildOperationFiles(client, dpgContext, codeModel, needUnexpecte
|
|
|
39
45
|
// We need to import the paging helpers and types explicitly because ts-morph may not be able to find them.
|
|
40
46
|
importPagingDependencies(srcPath, operationGroupFile, codeModel.project, subfolder, operationGroup.namespaceHierarchies.length);
|
|
41
47
|
const namedImports = [];
|
|
42
|
-
|
|
43
|
-
if (isRLCMultiEndpoint(dpgContext)) {
|
|
48
|
+
if (isMultiEndpoint) {
|
|
44
49
|
namedImports.push(`Client`);
|
|
45
|
-
clientType = `Client.${client.rlcClientName}`;
|
|
46
50
|
if (needUnexpectedHelper) {
|
|
47
51
|
namedImports.push("UnexpectedHelper");
|
|
48
52
|
}
|
|
@@ -68,8 +72,12 @@ export function buildOperationFiles(client, dpgContext, codeModel, needUnexpecte
|
|
|
68
72
|
}
|
|
69
73
|
operationGroup.operations.forEach((o) => {
|
|
70
74
|
const operationDeclaration = getOperationFunction(o, clientType);
|
|
71
|
-
const sendOperationDeclaration =
|
|
72
|
-
|
|
75
|
+
const sendOperationDeclaration = env["EXPERIMENTAL_TYPESPEC_TS_SERIALIZATION"]
|
|
76
|
+
? experimentalGetSendPrivateFunction(dpgContext, o, clientType, serializerMap, codeModel.runtimeImports)
|
|
77
|
+
: getSendPrivateFunction(dpgContext, o, clientType, codeModel.runtimeImports);
|
|
78
|
+
const deserializeOperationDeclaration = env["EXPERIMENTAL_TYPESPEC_TS_SERIALIZATION"]
|
|
79
|
+
? experimentalGetDeserializePrivateFunction(dpgContext, o, isMultiEndpoint, needUnexpectedHelper, codeModel.runtimeImports, serializerMap)
|
|
80
|
+
: getDeserializePrivateFunction(o, isMultiEndpoint, needUnexpectedHelper, codeModel.runtimeImports);
|
|
73
81
|
operationGroupFile.addFunctions([
|
|
74
82
|
sendOperationDeclaration,
|
|
75
83
|
deserializeOperationDeclaration,
|
|
@@ -86,6 +94,7 @@ export function buildOperationFiles(client, dpgContext, codeModel, needUnexpecte
|
|
|
86
94
|
}
|
|
87
95
|
]);
|
|
88
96
|
addImportsToFiles(codeModel.runtimeImports, operationGroupFile);
|
|
97
|
+
addImportBySymbol("serializeRecord", operationGroupFile);
|
|
89
98
|
operationGroupFile.fixMissingImports();
|
|
90
99
|
// have to fixUnusedIdentifiers after everything get generated.
|
|
91
100
|
operationGroupFile.fixUnusedIdentifiers();
|
|
@@ -101,6 +110,9 @@ export function importModels(srcPath, sourceFile, project, subfolder = "", impor
|
|
|
101
110
|
const modelsFile = project.getSourceFile(`${srcPath}/${subfolder && subfolder !== "" ? subfolder + "/" : ""}models/models.ts`);
|
|
102
111
|
const models = [];
|
|
103
112
|
for (const [name] of (_a = modelsFile === null || modelsFile === void 0 ? void 0 : modelsFile.getExportedDeclarations().entries()) !== null && _a !== void 0 ? _a : []) {
|
|
113
|
+
if (name.startsWith("_")) {
|
|
114
|
+
continue;
|
|
115
|
+
}
|
|
104
116
|
models.push(name);
|
|
105
117
|
}
|
|
106
118
|
if (models.length > 0 && !hasModelsImport) {
|