@azure-tools/rlc-common 0.12.0 → 0.13.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/.rush/temp/operation/build/all.log +1 -0
- package/.rush/temp/operation/build/state.json +3 -0
- package/.rush/temp/package-deps_build.json +17 -16
- package/.rush/temp/shrinkwrap-deps.json +146 -145
- package/CHANGELOG.md +7 -0
- package/dist/buildClient.js +15 -4
- package/dist/buildClient.js.map +1 -1
- package/dist/buildIsUnexpectedHelper.js +14 -6
- package/dist/buildIsUnexpectedHelper.js.map +1 -1
- package/dist/buildLogger.js +27 -0
- package/dist/buildLogger.js.map +1 -0
- package/dist/buildPaginateHelper.js +1 -1
- package/dist/buildPaginateHelper.js.map +1 -1
- package/dist/buildPollingHelper.js +39 -1
- package/dist/buildPollingHelper.js.map +1 -1
- package/dist/buildResponseTypes.js +3 -3
- package/dist/buildResponseTypes.js.map +1 -1
- package/dist/buildTopLevelIndexFile.js +1 -1
- package/dist/buildTopLevelIndexFile.js.map +1 -1
- package/dist/helpers/nameConstructors.js +5 -1
- package/dist/helpers/nameConstructors.js.map +1 -1
- package/dist/helpers/operationHelpers.js +6 -6
- package/dist/helpers/operationHelpers.js.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/interfaces.js +2 -1
- package/dist/interfaces.js.map +1 -1
- package/dist/metadata/buildPackageFile.js +2 -2
- package/dist/package.json +1 -1
- package/dist/static/pollingContent.js +18 -0
- package/dist/static/pollingContent.js.map +1 -1
- package/dist-esm/buildClient.js +15 -4
- package/dist-esm/buildClient.js.map +1 -1
- package/dist-esm/buildIsUnexpectedHelper.js +15 -4
- package/dist-esm/buildIsUnexpectedHelper.js.map +1 -1
- package/dist-esm/buildLogger.js +23 -0
- package/dist-esm/buildLogger.js.map +1 -0
- package/dist-esm/buildPaginateHelper.js +1 -1
- package/dist-esm/buildPaginateHelper.js.map +1 -1
- package/dist-esm/buildPollingHelper.js +38 -1
- package/dist-esm/buildPollingHelper.js.map +1 -1
- package/dist-esm/buildResponseTypes.js +1 -1
- package/dist-esm/buildResponseTypes.js.map +1 -1
- package/dist-esm/buildTopLevelIndexFile.js +1 -1
- package/dist-esm/buildTopLevelIndexFile.js.map +1 -1
- package/dist-esm/helpers/nameConstructors.js +3 -0
- package/dist-esm/helpers/nameConstructors.js.map +1 -1
- package/dist-esm/helpers/operationHelpers.js +6 -6
- package/dist-esm/helpers/operationHelpers.js.map +1 -1
- package/dist-esm/index.js +1 -0
- package/dist-esm/index.js.map +1 -1
- package/dist-esm/interfaces.js +1 -0
- package/dist-esm/interfaces.js.map +1 -1
- package/dist-esm/metadata/buildPackageFile.js +2 -2
- package/dist-esm/package.json +1 -1
- package/dist-esm/static/pollingContent.js +18 -0
- package/dist-esm/static/pollingContent.js.map +1 -1
- package/package.json +14 -14
- package/rlc-common.build.log +0 -1
- package/src/buildClient.ts +19 -4
- package/src/buildIsUnexpectedHelper.ts +23 -4
- package/src/buildLogger.ts +30 -0
- package/src/buildPaginateHelper.ts +1 -1
- package/src/buildPollingHelper.ts +58 -2
- package/src/buildResponseTypes.ts +2 -1
- package/src/buildTopLevelIndexFile.ts +1 -1
- package/src/helpers/nameConstructors.ts +10 -0
- package/src/helpers/operationHelpers.ts +7 -6
- package/src/index.ts +1 -0
- package/src/interfaces.ts +19 -5
- package/src/metadata/buildPackageFile.ts +2 -2
- package/src/static/pollingContent.ts +18 -0
- package/types/buildLogger.d.ts +5 -0
- package/types/helpers/nameConstructors.d.ts +1 -0
- package/types/index.d.ts +1 -0
- package/types/interfaces.d.ts +17 -5
- package/types/static/pollingContent.d.ts +1 -1
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { OPERATION_LRO_HIGH_PRIORITY } from "./interfaces.js";
|
|
1
2
|
import * as path from "path";
|
|
2
3
|
// @ts-ignore: to fix the handlebars issue
|
|
3
4
|
import hbs from "handlebars";
|
|
@@ -7,11 +8,47 @@ export function buildPollingHelper(model) {
|
|
|
7
8
|
if (!hasPollingOperations(model)) {
|
|
8
9
|
return;
|
|
9
10
|
}
|
|
11
|
+
let overloadDetail = buildOverloadDetail(model);
|
|
10
12
|
const readmeFileContents = hbs.compile(pollingContent, { noEscape: true });
|
|
11
13
|
const { srcPath } = model;
|
|
12
14
|
return {
|
|
13
15
|
path: path.join(srcPath, "pollingHelper.ts"),
|
|
14
|
-
content: readmeFileContents(
|
|
16
|
+
content: readmeFileContents(overloadDetail)
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
function buildOverloadDetail(model) {
|
|
20
|
+
if (!model.helperDetails?.clientLroOverload) {
|
|
21
|
+
return {
|
|
22
|
+
clientOverload: false
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
const mapDetail = [];
|
|
26
|
+
const pathDictionary = model.paths;
|
|
27
|
+
const responses = new Set();
|
|
28
|
+
for (const details of Object.values(pathDictionary)) {
|
|
29
|
+
for (const methodDetails of Object.values(details.methods)) {
|
|
30
|
+
const lroDetail = methodDetails[0].operationHelperDetail?.lroDetails;
|
|
31
|
+
if (lroDetail?.isLongRunning) {
|
|
32
|
+
const initalResponses = methodDetails[0].responseTypes.success.concat(methodDetails[0].responseTypes.error);
|
|
33
|
+
const finalRespoonse = lroDetail.logicalResponseTypes?.success.concat(methodDetails[0].responseTypes.error);
|
|
34
|
+
if (initalResponses && finalRespoonse) {
|
|
35
|
+
initalResponses.forEach((n) => responses.add(n));
|
|
36
|
+
finalRespoonse.forEach((n) => responses.add(n));
|
|
37
|
+
mapDetail.push({
|
|
38
|
+
initalResponses: initalResponses.join("|"),
|
|
39
|
+
finalResponses: finalRespoonse.join("|"),
|
|
40
|
+
precedence: lroDetail.precedence ?? OPERATION_LRO_HIGH_PRIORITY
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
// Sorted by the precedecne
|
|
47
|
+
mapDetail.sort((d1, d2) => d1.precedence - d2.precedence);
|
|
48
|
+
return {
|
|
49
|
+
clientOverload: responses.size > 0 && mapDetail.length > 0,
|
|
50
|
+
importedResponses: Array.from(responses),
|
|
51
|
+
overloadMap: mapDetail
|
|
15
52
|
};
|
|
16
53
|
}
|
|
17
54
|
//# sourceMappingURL=buildPollingHelper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildPollingHelper.js","sourceRoot":"","sources":["../src/buildPollingHelper.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"buildPollingHelper.js","sourceRoot":"","sources":["../src/buildPollingHelper.ts"],"names":[],"mappings":"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"}
|
|
@@ -30,7 +30,7 @@ export function buildResponseTypes(model) {
|
|
|
30
30
|
responsesFile.addInterface(headersInterface);
|
|
31
31
|
}
|
|
32
32
|
// Get the information to build the Response Interface
|
|
33
|
-
const responseTypeName = getResponseTypeName(baseResponseName);
|
|
33
|
+
const responseTypeName = response.predefinedName ?? getResponseTypeName(baseResponseName);
|
|
34
34
|
const responseProperties = getResponseInterfaceProperties(response, headersInterface?.name);
|
|
35
35
|
const responseInterfaceDefinition = {
|
|
36
36
|
name: responseTypeName,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildResponseTypes.js","sourceRoot":"","sources":["../src/buildResponseTypes.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAGL,OAAO,EAEP,aAAa,EACd,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,UAAU,EAIX,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,+BAA+B,CAAC;AAEvC,IAAI,gBAAgB,GAAG,KAAK,CAAC;AAC7B,MAAM,UAAU,kBAAkB,CAAC,KAAe;IAChD,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;IAC9B,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;IAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;IACpD,gBAAgB,GAAG,KAAK,CAAC;IACzB,MAAM,aAAa,GAAG,OAAO,CAAC,gBAAgB,CAAC,QAAQ,EAAE,SAAS,EAAE;QAClE,SAAS,EAAE,IAAI;KAChB,CAAC,CAAC;IACH,0DAA0D;IAC1D,4CAA4C;IAC5C,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE;QACpB,OAAO;KACR;IACD,KAAK,MAAM,iBAAiB,IAAI,KAAK,CAAC,SAAS,EAAE;QAC/C,KAAK,MAAM,QAAQ,IAAI,iBAAiB,CAAC,SAAS,EAAE;YAClD,uCAAuC;YACvC,MAAM,gBAAgB,GAAG,mBAAmB,CAC1C,iBAAiB,CAAC,cAAc,EAChC,iBAAiB,CAAC,aAAa,EAC/B,QAAQ,CAAC,UAAU,CACpB,CAAC;YAEF,4BAA4B;YAC5B,MAAM,gBAAgB,GACpB,oCAAoC,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;YACnE,IAAI,gBAAgB,EAAE;gBACpB,UAAU,GAAG,IAAI,CAAC;gBAClB,aAAa,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;aAC9C;YAED,sDAAsD;YACtD,MAAM,gBAAgB,
|
|
1
|
+
{"version":3,"file":"buildResponseTypes.js","sourceRoot":"","sources":["../src/buildResponseTypes.ts"],"names":[],"mappings":"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"}
|
|
@@ -37,7 +37,7 @@ export function buildTopLevelIndex(model) {
|
|
|
37
37
|
namedExports: [...allModules]
|
|
38
38
|
});
|
|
39
39
|
const content = indexFile.getFullText();
|
|
40
|
-
const filePath = path.join(srcPath.substring(0, srcPath.
|
|
40
|
+
const filePath = path.join(srcPath.substring(0, srcPath.lastIndexOf("src") + 4), `index.ts`);
|
|
41
41
|
return { path: filePath, content };
|
|
42
42
|
}
|
|
43
43
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildTopLevelIndexFile.js","sourceRoot":"","sources":["../src/buildTopLevelIndexFile.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAEjE,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AAEpE,MAAM,iBAAiB,GAA+B,EAAE,CAAC;AAEzD,MAAM,UAAU,kBAAkB,CAAC,KAAe;IAChD,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;QAClB,OAAO,SAAS,CAAC;KAClB;IACD,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;IAC9B,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAC1B,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC;IAC7C,IAAI,OAAO,EAAE;QACX,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,CAAC;QACrC,MAAM,UAAU,GAAG,aAAa,CAAC,UAAU,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC5D,MAAM,YAAY,GAAG,IAAI,GAAG,0BAA0B,CAAC,OAAO,CAAC,CAAC;QAChE,iBAAiB,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;KAChE;IACD,IACE,WAAW;QACX,KAAK;QACL,KAAK,CAAC,MAAM,GAAG,CAAC;QAChB,iBAAiB,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,EACzC;QACA,MAAM,SAAS,GAAG,OAAO,CAAC,gBAAgB,CAAC,UAAU,EAAE,SAAS,EAAE;YAChE,SAAS,EAAE,IAAI;SAChB,CAAC,CAAC;QACH,MAAM,UAAU,GAAa,EAAE,CAAC;QAChC,iBAAiB,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACjC,SAAS,CAAC,oBAAoB,CAAC;gBAC7B,eAAe,EAAE,IAAI,CAAC,CAAC,CAAC;gBACxB,eAAe,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE;aAC9B,CAAC,CAAC;YACH,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;QACH,SAAS,CAAC,oBAAoB,CAAC;YAC7B,YAAY,EAAE,CAAC,GAAG,UAAU,CAAC;SAC9B,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;QACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CACxB,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"buildTopLevelIndexFile.js","sourceRoot":"","sources":["../src/buildTopLevelIndexFile.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAEjE,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AAEpE,MAAM,iBAAiB,GAA+B,EAAE,CAAC;AAEzD,MAAM,UAAU,kBAAkB,CAAC,KAAe;IAChD,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;QAClB,OAAO,SAAS,CAAC;KAClB;IACD,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;IAC9B,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAC1B,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC;IAC7C,IAAI,OAAO,EAAE;QACX,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,CAAC;QACrC,MAAM,UAAU,GAAG,aAAa,CAAC,UAAU,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC5D,MAAM,YAAY,GAAG,IAAI,GAAG,0BAA0B,CAAC,OAAO,CAAC,CAAC;QAChE,iBAAiB,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;KAChE;IACD,IACE,WAAW;QACX,KAAK;QACL,KAAK,CAAC,MAAM,GAAG,CAAC;QAChB,iBAAiB,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,EACzC;QACA,MAAM,SAAS,GAAG,OAAO,CAAC,gBAAgB,CAAC,UAAU,EAAE,SAAS,EAAE;YAChE,SAAS,EAAE,IAAI;SAChB,CAAC,CAAC;QACH,MAAM,UAAU,GAAa,EAAE,CAAC;QAChC,iBAAiB,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACjC,SAAS,CAAC,oBAAoB,CAAC;gBAC7B,eAAe,EAAE,IAAI,CAAC,CAAC,CAAC;gBACxB,eAAe,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE;aAC9B,CAAC,CAAC;YACH,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;QACH,SAAS,CAAC,oBAAoB,CAAC;YAC7B,YAAY,EAAE,CAAC,GAAG,UAAU,CAAC;SAC9B,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;QACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CACxB,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EACpD,UAAU,CACX,CAAC;QACF,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;KACpC;AACH,CAAC"}
|
|
@@ -7,6 +7,9 @@ export function getResponseTypeName(baseNameOrOperationGroup, operationName, sta
|
|
|
7
7
|
}
|
|
8
8
|
return normalizeName(`${baseNameOrOperationGroup}Response`, NameType.Interface);
|
|
9
9
|
}
|
|
10
|
+
export function getLroLogicalResponseName(operationGroup, operationName) {
|
|
11
|
+
return normalizeName(`${operationGroup}_${operationName}_Logical_Response`, NameType.Interface);
|
|
12
|
+
}
|
|
10
13
|
/**
|
|
11
14
|
* The prefix of all response types
|
|
12
15
|
* @param operationGroup operation group name e.g string_PutEmpty
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nameConstructors.js","sourceRoot":"","sources":["../../src/helpers/nameConstructors.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAGlC,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAYzD,MAAM,UAAU,mBAAmB,CACjC,wBAAgC,EAChC,aAAsB,EACtB,UAAmB;IAEnB,IAAI,aAAa,EAAE;QACjB,wBAAwB,GAAG,mBAAmB,CAC5C,wBAAwB,EACxB,aAAc,EACd,UAAU,IAAI,EAAE,CACjB,CAAC;KACH;IACD,OAAO,aAAa,CAClB,GAAG,wBAAwB,UAAU,EACrC,QAAQ,CAAC,SAAS,CACnB,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CACjC,cAAsB,EACtB,aAAqB,EACrB,UAAkB;IAElB,OAAO,aAAa,CAClB,GAAG,cAAc,IAAI,aAAa,IAAI,UAAU,EAAE,EAClD,QAAQ,CAAC,SAAS,CACnB,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAClC,cAAsB,EACtB,aAAqB;IAErB,OAAO,aAAa,CAClB,GAAG,cAAc,IAAI,aAAa,EAAE,EACpC,QAAQ,CAAC,SAAS,CACnB,CAAC;AACJ,CAAC;AAaD,MAAM,UAAU,oBAAoB,CAClC,wBAAgC,EAChC,aAAsB;IAEtB,IAAI,aAAa,EAAE;QACjB,wBAAwB,GAAG,oBAAoB,CAC7C,wBAAwB,EACxB,aAAc,CACf,CAAC;KACH;IAED,OAAO,aAAa,CAClB,GAAG,wBAAwB,aAAa,EACxC,QAAQ,CAAC,SAAS,CACnB,CAAC;AACJ,CAAC;AAMD;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAgB,EAAE,SAAmB;IACvE,IAAI,SAAS,CAAC,OAAO,EAAE,gBAAgB,EAAE;QACvC,OAAO,IAAI,CAAC,aAAa,CAAC;KAC3B;IAED,OAAO,IAAI,CAAC,OAAO,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAAe;IAC3C,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,CAAC;IACrC,IAAI,mBAAmB,GAAG,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACrD,CAAC,CAAC,GAAG,UAAU,EAAE;QACjB,CAAC,CAAC,GAAG,UAAU,QAAQ,CAAC;IAE1B,IAAI,KAAK,CAAC,OAAO,EAAE,gBAAgB,EAAE;QACnC,mBAAmB,GAAG,GAAG,UAAU,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,SAAS,CAAC;KACpE;IAED,OAAO,mBAAmB,CAAC;AAC7B,CAAC"}
|
|
1
|
+
{"version":3,"file":"nameConstructors.js","sourceRoot":"","sources":["../../src/helpers/nameConstructors.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAGlC,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAYzD,MAAM,UAAU,mBAAmB,CACjC,wBAAgC,EAChC,aAAsB,EACtB,UAAmB;IAEnB,IAAI,aAAa,EAAE;QACjB,wBAAwB,GAAG,mBAAmB,CAC5C,wBAAwB,EACxB,aAAc,EACd,UAAU,IAAI,EAAE,CACjB,CAAC;KACH;IACD,OAAO,aAAa,CAClB,GAAG,wBAAwB,UAAU,EACrC,QAAQ,CAAC,SAAS,CACnB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,cAAsB,EACtB,aAAqB;IAErB,OAAO,aAAa,CAClB,GAAG,cAAc,IAAI,aAAa,mBAAmB,EACrD,QAAQ,CAAC,SAAS,CACnB,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CACjC,cAAsB,EACtB,aAAqB,EACrB,UAAkB;IAElB,OAAO,aAAa,CAClB,GAAG,cAAc,IAAI,aAAa,IAAI,UAAU,EAAE,EAClD,QAAQ,CAAC,SAAS,CACnB,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAClC,cAAsB,EACtB,aAAqB;IAErB,OAAO,aAAa,CAClB,GAAG,cAAc,IAAI,aAAa,EAAE,EACpC,QAAQ,CAAC,SAAS,CACnB,CAAC;AACJ,CAAC;AAaD,MAAM,UAAU,oBAAoB,CAClC,wBAAgC,EAChC,aAAsB;IAEtB,IAAI,aAAa,EAAE;QACjB,wBAAwB,GAAG,oBAAoB,CAC7C,wBAAwB,EACxB,aAAc,CACf,CAAC;KACH;IAED,OAAO,aAAa,CAClB,GAAG,wBAAwB,aAAa,EACxC,QAAQ,CAAC,SAAS,CACnB,CAAC;AACJ,CAAC;AAMD;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAgB,EAAE,SAAmB;IACvE,IAAI,SAAS,CAAC,OAAO,EAAE,gBAAgB,EAAE;QACvC,OAAO,IAAI,CAAC,aAAa,CAAC;KAC3B;IAED,OAAO,IAAI,CAAC,OAAO,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAAe;IAC3C,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,CAAC;IACrC,IAAI,mBAAmB,GAAG,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACrD,CAAC,CAAC,GAAG,UAAU,EAAE;QACjB,CAAC,CAAC,GAAG,UAAU,QAAQ,CAAC;IAE1B,IAAI,KAAK,CAAC,OAAO,EAAE,gBAAgB,EAAE;QACnC,mBAAmB,GAAG,GAAG,UAAU,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,SAAS,CAAC;KACpE;IAED,OAAO,mBAAmB,CAAC;AAC7B,CAAC"}
|
|
@@ -37,22 +37,22 @@ export function getPathParamDefinitions(pathParams) {
|
|
|
37
37
|
});
|
|
38
38
|
}
|
|
39
39
|
export function hasPagingOperations(model) {
|
|
40
|
-
return Boolean(model.
|
|
40
|
+
return Boolean(model.helperDetails?.hasPaging);
|
|
41
41
|
}
|
|
42
42
|
export function hasPollingOperations(model) {
|
|
43
|
-
return Boolean(model.
|
|
43
|
+
return Boolean(model.helperDetails?.hasLongRunning);
|
|
44
44
|
}
|
|
45
45
|
export function hasMultiCollection(model) {
|
|
46
|
-
return Boolean(model.
|
|
46
|
+
return Boolean(model.helperDetails?.hasMultiCollection);
|
|
47
47
|
}
|
|
48
48
|
export function hasPipeCollection(model) {
|
|
49
|
-
return Boolean(model.
|
|
49
|
+
return Boolean(model.helperDetails?.hasPipeCollection);
|
|
50
50
|
}
|
|
51
51
|
export function hasSsvCollection(model) {
|
|
52
|
-
return Boolean(model.
|
|
52
|
+
return Boolean(model.helperDetails?.hasSsvCollection);
|
|
53
53
|
}
|
|
54
54
|
export function hasTsvCollection(model) {
|
|
55
|
-
return Boolean(model.
|
|
55
|
+
return Boolean(model.helperDetails?.hasTsvCollection);
|
|
56
56
|
}
|
|
57
57
|
export function hasUnexpectedHelper(model) {
|
|
58
58
|
const pathDictionary = model.paths;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operationHelpers.js","sourceRoot":"","sources":["../../src/helpers/operationHelpers.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAOlC,OAAO,
|
|
1
|
+
{"version":3,"file":"operationHelpers.js","sourceRoot":"","sources":["../../src/helpers/operationHelpers.ts"],"names":[],"mappings":"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"}
|
package/dist-esm/index.js
CHANGED
package/dist-esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,cAAc,iBAAiB,CAAC;AAChC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uCAAuC,CAAC;AACtD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iCAAiC,CAAC;AAChD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6BAA6B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,cAAc,iBAAiB,CAAC;AAChC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uCAAuC,CAAC;AACtD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iCAAiC,CAAC;AAChD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kBAAkB,CAAC"}
|
package/dist-esm/interfaces.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":"AA2FA,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,EAC1C,0BAA0B,GAAG,CAAC,CAAC;AA4CjC,MAAM,CAAN,IAAY,UAGX;AAHD,WAAY,UAAU;IACpB,+DAAc,CAAA;IACd,+DAAc,CAAA;AAChB,CAAC,EAHW,UAAU,KAAV,UAAU,QAGrB;AAMD,MAAM,CAAN,IAAY,aAOX;AAPD,WAAY,aAAa;IACvB,kDAAkD;IAClD,gCAAe,CAAA;IACf,qDAAqD;IACrD,kCAAiB,CAAA;IACjB,wDAAwD;IACxD,wCAAuB,CAAA;AACzB,CAAC,EAPW,aAAa,KAAb,aAAa,QAOxB"}
|
|
@@ -109,7 +109,7 @@ function restLevelPackage(model, hasSamplesGenerated) {
|
|
|
109
109
|
autoPublish: false,
|
|
110
110
|
dependencies: {
|
|
111
111
|
"@azure/core-auth": "^1.3.0",
|
|
112
|
-
"@azure-rest/core-client": "^1.1.
|
|
112
|
+
"@azure-rest/core-client": "^1.1.3",
|
|
113
113
|
"@azure/core-rest-pipeline": "^1.8.0",
|
|
114
114
|
"@azure/logger": "^1.0.0",
|
|
115
115
|
tslib: "^2.2.0",
|
|
@@ -117,7 +117,7 @@ function restLevelPackage(model, hasSamplesGenerated) {
|
|
|
117
117
|
"@azure/core-paging": "^1.5.0"
|
|
118
118
|
}),
|
|
119
119
|
...(hasLRO && {
|
|
120
|
-
"@azure/core-lro": "^2.5.
|
|
120
|
+
"@azure/core-lro": "^2.5.3",
|
|
121
121
|
"@azure/abort-controller": "^1.0.0"
|
|
122
122
|
})
|
|
123
123
|
},
|
package/dist-esm/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@azure-tools/rlc-common","version":"0.
|
|
1
|
+
{"name":"@azure-tools/rlc-common","version":"0.13.0","description":"","type":"module","main":"dist/index.js","module":"dist-esm/index.js","exports":{".":{"types":"./types/index.d.ts","require":"./dist/index.js","import":"./dist-esm/index.js"}},"types":"./types/index.d.ts","scripts":{"lint":"eslint src --ext .ts --max-warnings=0","lint:fix":"eslint src --fix --ext .ts","format":"npm run -s prettier -- --write","check-format":"npm run prettier -- --check","prettier":"prettier --config ./.prettierrc src/**/*.ts","build":"rimraf dist/* dist-esm/* types/* && tsc -p tsconfig.json && tsc -p tsconfig-cjs.json && node publishPackage.js","build:cjs":"rimraf dist/* dist-esm/* types/* && tsc -p tsconfig-cjs.json && node publishPackage.js","build:esm":"rimraf dist/* dist-esm/* types/* && tsc -p tsconfig.json && node publishPackage.js","test":"echo \"Error: no test specified\" && exit 1"},"keywords":[],"author":"","license":"ISC","dependencies":{"ts-morph":"^15.1.0","lodash":"^4.17.21","handlebars":"^4.7.7"},"devDependencies":{"@types/node":"^18.0.0","eslint":"^8.9.0","prettier":"~2.7.1","typescript":"~5.0.0","rimraf":"^3.0.2","@types/lodash":"^4.14.182","fs-extra":"^10.0.0","@types/fs-extra":"^8.1.0","ts-node":"^10.7.0"},"bugs":{"url":"https://github.com/Azure/autorest.typescript/issues"},"homepage":"https://github.com/Azure/autorest.typescript/tree/main/packages/rlc-common/"}
|
|
@@ -18,6 +18,13 @@ import {
|
|
|
18
18
|
SimplePollerLike,
|
|
19
19
|
createHttpPoller
|
|
20
20
|
} from "@azure/core-lro";
|
|
21
|
+
{{#if clientOverload}}
|
|
22
|
+
import {
|
|
23
|
+
{{#each importedResponses}}
|
|
24
|
+
{{this}},
|
|
25
|
+
{{/each}}
|
|
26
|
+
} from "./responses";
|
|
27
|
+
{{/if}}
|
|
21
28
|
{{/if}}
|
|
22
29
|
/**
|
|
23
30
|
* Helper function that builds a Poller object to help polling a long running operation.
|
|
@@ -26,6 +33,17 @@ import {
|
|
|
26
33
|
* @param options - Options to set a resume state or custom polling interval.
|
|
27
34
|
* @returns - A poller object to poll for operation state updates and eventually get the final response.
|
|
28
35
|
*/
|
|
36
|
+
{{#if clientOverload}}
|
|
37
|
+
{{#each overloadMap}}
|
|
38
|
+
export async function getLongRunningPoller<
|
|
39
|
+
TResult extends {{ this.finalResponses }}
|
|
40
|
+
>(
|
|
41
|
+
client: Client,
|
|
42
|
+
initialResponse: {{ this.initalResponses }},
|
|
43
|
+
options?: CreateHttpPollerOptions<TResult, OperationState<TResult>>
|
|
44
|
+
): Promise<SimplePollerLike<OperationState<TResult>, TResult>>;
|
|
45
|
+
{{/each}}
|
|
46
|
+
{{/if}}
|
|
29
47
|
export {{#unless useLegacyLro}}async {{/unless}}function getLongRunningPoller<TResult extends HttpResponse>(
|
|
30
48
|
client: Client,
|
|
31
49
|
initialResponse: TResult,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pollingContent.js","sourceRoot":"","sources":["../../src/static/pollingContent.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,cAAc,GAAG
|
|
1
|
+
{"version":3,"file":"pollingContent.js","sourceRoot":"","sources":["../../src/static/pollingContent.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,cAAc,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+G7B,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@azure-tools/rlc-common",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.13.0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -13,17 +13,6 @@
|
|
|
13
13
|
}
|
|
14
14
|
},
|
|
15
15
|
"types": "./types/index.d.ts",
|
|
16
|
-
"scripts": {
|
|
17
|
-
"lint": "eslint src --ext .ts --max-warnings=0",
|
|
18
|
-
"lint:fix": "eslint src --fix --ext .ts",
|
|
19
|
-
"format": "npm run -s prettier -- --write",
|
|
20
|
-
"check-format": "npm run prettier -- --check",
|
|
21
|
-
"prettier": "prettier --config ./.prettierrc src/**/*.ts",
|
|
22
|
-
"build": "rimraf dist/* dist-esm/* types/* && tsc -p tsconfig.json && tsc -p tsconfig-cjs.json && node publishPackage.js",
|
|
23
|
-
"build:cjs": "rimraf dist/* dist-esm/* types/* && tsc -p tsconfig-cjs.json && node publishPackage.js",
|
|
24
|
-
"build:esm": "rimraf dist/* dist-esm/* types/* && tsc -p tsconfig.json && node publishPackage.js",
|
|
25
|
-
"test": "echo \"Error: no test specified\" && exit 1"
|
|
26
|
-
},
|
|
27
16
|
"keywords": [],
|
|
28
17
|
"author": "",
|
|
29
18
|
"license": "ISC",
|
|
@@ -46,5 +35,16 @@
|
|
|
46
35
|
"bugs": {
|
|
47
36
|
"url": "https://github.com/Azure/autorest.typescript/issues"
|
|
48
37
|
},
|
|
49
|
-
"homepage": "https://github.com/Azure/autorest.typescript/tree/main/packages/rlc-common/"
|
|
50
|
-
|
|
38
|
+
"homepage": "https://github.com/Azure/autorest.typescript/tree/main/packages/rlc-common/",
|
|
39
|
+
"scripts": {
|
|
40
|
+
"lint": "eslint src --ext .ts --max-warnings=0",
|
|
41
|
+
"lint:fix": "eslint src --fix --ext .ts",
|
|
42
|
+
"format": "npm run -s prettier -- --write",
|
|
43
|
+
"check-format": "npm run prettier -- --check",
|
|
44
|
+
"prettier": "prettier --config ./.prettierrc src/**/*.ts",
|
|
45
|
+
"build": "rimraf dist/* dist-esm/* types/* && tsc -p tsconfig.json && tsc -p tsconfig-cjs.json && node publishPackage.js",
|
|
46
|
+
"build:cjs": "rimraf dist/* dist-esm/* types/* && tsc -p tsconfig-cjs.json && node publishPackage.js",
|
|
47
|
+
"build:esm": "rimraf dist/* dist-esm/* types/* && tsc -p tsconfig.json && node publishPackage.js",
|
|
48
|
+
"test": "echo \"Error: no test specified\" && exit 1"
|
|
49
|
+
}
|
|
50
|
+
}
|
package/rlc-common.build.log
CHANGED
package/src/buildClient.ts
CHANGED
|
@@ -122,10 +122,7 @@ export function buildClient(model: RLCModel): File | undefined {
|
|
|
122
122
|
`Initialize a new instance of \`${clientInterfaceName}\` \n` +
|
|
123
123
|
allClientParams
|
|
124
124
|
.map((param) => {
|
|
125
|
-
return `@param ${param.name}
|
|
126
|
-
.split("=")[0]
|
|
127
|
-
.split(" ")
|
|
128
|
-
.join("")}, ${
|
|
125
|
+
return `@param ${param.name} - ${
|
|
129
126
|
param.description ?? "The parameter " + param.name
|
|
130
127
|
}`;
|
|
131
128
|
})
|
|
@@ -142,10 +139,25 @@ export function buildClient(model: RLCModel): File | undefined {
|
|
|
142
139
|
}
|
|
143
140
|
clientFile.addFunction(functionStatement);
|
|
144
141
|
|
|
142
|
+
const paths = srcPath.replace(/\//g, path.sep).split(path.sep);
|
|
143
|
+
while (paths.length > 0 && paths[paths.length - 1] === "") {
|
|
144
|
+
paths.pop();
|
|
145
|
+
}
|
|
146
|
+
const parentPath =
|
|
147
|
+
paths.lastIndexOf("src") > -1
|
|
148
|
+
? paths.length - 1 - paths.lastIndexOf("src")
|
|
149
|
+
: 0;
|
|
150
|
+
|
|
145
151
|
clientFile.addImportDeclarations([
|
|
146
152
|
{
|
|
147
153
|
namedImports: ["getClient", "ClientOptions"],
|
|
148
154
|
moduleSpecifier: "@azure-rest/core-client"
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
namedImports: ["logger"],
|
|
158
|
+
moduleSpecifier: `${
|
|
159
|
+
parentPath > 0 ? "../".repeat(parentPath) : "./"
|
|
160
|
+
}logger`
|
|
149
161
|
}
|
|
150
162
|
]);
|
|
151
163
|
|
|
@@ -254,6 +266,9 @@ function getClientFactoryBody(
|
|
|
254
266
|
...options,
|
|
255
267
|
userAgentOptions: {
|
|
256
268
|
userAgentPrefix
|
|
269
|
+
},
|
|
270
|
+
loggingOptions: {
|
|
271
|
+
logger: options.loggingOptions?.logger ?? logger.info
|
|
257
272
|
}
|
|
258
273
|
}`;
|
|
259
274
|
|
|
@@ -38,20 +38,39 @@ export function buildIsUnexpectedHelper(model: RLCModel) {
|
|
|
38
38
|
// LROs may call the same path but with GET
|
|
39
39
|
// to get the operation status.
|
|
40
40
|
if (
|
|
41
|
-
methodDetails[0].
|
|
41
|
+
methodDetails[0].operationHelperDetail?.lroDetails?.isLongRunning &&
|
|
42
42
|
originalMethod !== "GET"
|
|
43
43
|
) {
|
|
44
44
|
const operation = `GET ${path}`;
|
|
45
|
-
const
|
|
45
|
+
const logicalSuccessCodes = methodDetails[0].operationHelperDetail
|
|
46
|
+
?.lroDetails?.logicalResponseTypes?.success
|
|
47
|
+
? ["200"]
|
|
48
|
+
: [];
|
|
49
|
+
const initalSuccessCodes =
|
|
46
50
|
(pathDictionary[path].methods["get"] &&
|
|
47
51
|
pathDictionary[path].methods["get"][0]?.successStatus) ??
|
|
48
52
|
methodDetails[0].successStatus;
|
|
49
|
-
|
|
53
|
+
const successSet = new Set(
|
|
54
|
+
logicalSuccessCodes.concat(initalSuccessCodes)
|
|
55
|
+
);
|
|
56
|
+
|
|
57
|
+
map = { ...map, ...{ [operation]: Array.from(successSet) } };
|
|
50
58
|
}
|
|
51
59
|
|
|
52
|
-
const successTypes = methodDetails[0].responseTypes.success;
|
|
60
|
+
const successTypes = [...methodDetails[0].responseTypes.success];
|
|
53
61
|
const errorTypes = methodDetails[0].responseTypes.error;
|
|
54
62
|
|
|
63
|
+
if (
|
|
64
|
+
model.helperDetails?.clientLroOverload &&
|
|
65
|
+
methodDetails[0].operationHelperDetail?.lroDetails?.logicalResponseTypes
|
|
66
|
+
?.success
|
|
67
|
+
) {
|
|
68
|
+
successTypes.push(
|
|
69
|
+
...methodDetails[0].operationHelperDetail?.lroDetails
|
|
70
|
+
?.logicalResponseTypes.success
|
|
71
|
+
);
|
|
72
|
+
}
|
|
73
|
+
|
|
55
74
|
if (!successTypes.length || !errorTypes.length || !errorTypes[0]) {
|
|
56
75
|
continue;
|
|
57
76
|
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
// Copyright (c) Microsoft Corporation.
|
|
2
|
+
// Licensed under the MIT License.
|
|
3
|
+
|
|
4
|
+
import { RLCModel } from "./interfaces.js";
|
|
5
|
+
import { Project } from "ts-morph";
|
|
6
|
+
import * as path from "path";
|
|
7
|
+
|
|
8
|
+
export function buildLogger(model: RLCModel) {
|
|
9
|
+
if (!model.options) {
|
|
10
|
+
return undefined;
|
|
11
|
+
}
|
|
12
|
+
const project = new Project();
|
|
13
|
+
const { srcPath } = model;
|
|
14
|
+
const { packageDetails } = model.options;
|
|
15
|
+
const filePath = path.join(
|
|
16
|
+
srcPath.substring(0, srcPath.lastIndexOf("src") + 4),
|
|
17
|
+
`logger.ts`
|
|
18
|
+
);
|
|
19
|
+
const loggerFile = project.createSourceFile("logger.ts", undefined, {
|
|
20
|
+
overwrite: true
|
|
21
|
+
});
|
|
22
|
+
loggerFile.addImportDeclaration({
|
|
23
|
+
namedImports: ["createClientLogger"],
|
|
24
|
+
moduleSpecifier: `@azure/logger`
|
|
25
|
+
});
|
|
26
|
+
loggerFile.addStatements(
|
|
27
|
+
`export const logger = createClientLogger("${packageDetails?.nameWithoutScope}")`
|
|
28
|
+
);
|
|
29
|
+
return { path: filePath, content: loggerFile.getFullText() };
|
|
30
|
+
}
|
|
@@ -5,7 +5,7 @@ import hbs from "handlebars";
|
|
|
5
5
|
import { paginateContent } from "./static/paginateContent.js";
|
|
6
6
|
|
|
7
7
|
export function buildPaginateHelper(model: RLCModel) {
|
|
8
|
-
const pagingInfo = model.
|
|
8
|
+
const pagingInfo = model.helperDetails;
|
|
9
9
|
// return directly if no paging info
|
|
10
10
|
if (!pagingInfo || pagingInfo.hasPaging !== true || !pagingInfo.pageDetails) {
|
|
11
11
|
return;
|
|
@@ -1,18 +1,74 @@
|
|
|
1
|
-
import { RLCModel } from "./interfaces.js";
|
|
1
|
+
import { OPERATION_LRO_HIGH_PRIORITY, RLCModel } from "./interfaces.js";
|
|
2
2
|
import * as path from "path";
|
|
3
3
|
// @ts-ignore: to fix the handlebars issue
|
|
4
4
|
import hbs from "handlebars";
|
|
5
5
|
import { hasPollingOperations } from "./helpers/operationHelpers.js";
|
|
6
6
|
import { pollingContent } from "./static/pollingContent.js";
|
|
7
7
|
|
|
8
|
+
interface LroDetail {
|
|
9
|
+
clientOverload?: boolean;
|
|
10
|
+
overloadMap?: ResponseMap[];
|
|
11
|
+
importedResponses?: string[];
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
interface ResponseMap {
|
|
15
|
+
initalResponses: string;
|
|
16
|
+
finalResponses: string;
|
|
17
|
+
precedence?: number;
|
|
18
|
+
}
|
|
19
|
+
|
|
8
20
|
export function buildPollingHelper(model: RLCModel) {
|
|
9
21
|
if (!hasPollingOperations(model)) {
|
|
10
22
|
return;
|
|
11
23
|
}
|
|
24
|
+
let overloadDetail: LroDetail = buildOverloadDetail(model);
|
|
12
25
|
const readmeFileContents = hbs.compile(pollingContent, { noEscape: true });
|
|
13
26
|
const { srcPath } = model;
|
|
14
27
|
return {
|
|
15
28
|
path: path.join(srcPath, "pollingHelper.ts"),
|
|
16
|
-
content: readmeFileContents(
|
|
29
|
+
content: readmeFileContents(overloadDetail)
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
function buildOverloadDetail(model: RLCModel): LroDetail {
|
|
34
|
+
if (!model.helperDetails?.clientLroOverload) {
|
|
35
|
+
return {
|
|
36
|
+
clientOverload: false
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
const mapDetail = [];
|
|
40
|
+
const pathDictionary = model.paths;
|
|
41
|
+
const responses = new Set<string>();
|
|
42
|
+
for (const details of Object.values(pathDictionary)) {
|
|
43
|
+
for (const methodDetails of Object.values(details.methods)) {
|
|
44
|
+
const lroDetail = methodDetails[0].operationHelperDetail?.lroDetails;
|
|
45
|
+
if (lroDetail?.isLongRunning) {
|
|
46
|
+
const initalResponses = methodDetails[0].responseTypes.success.concat(
|
|
47
|
+
methodDetails[0].responseTypes.error
|
|
48
|
+
);
|
|
49
|
+
|
|
50
|
+
const finalRespoonse = lroDetail.logicalResponseTypes?.success.concat(
|
|
51
|
+
methodDetails[0].responseTypes.error
|
|
52
|
+
);
|
|
53
|
+
|
|
54
|
+
if (initalResponses && finalRespoonse) {
|
|
55
|
+
initalResponses.forEach((n) => responses.add(n));
|
|
56
|
+
finalRespoonse.forEach((n) => responses.add(n));
|
|
57
|
+
mapDetail!.push({
|
|
58
|
+
initalResponses: initalResponses.join("|"),
|
|
59
|
+
finalResponses: finalRespoonse.join("|"),
|
|
60
|
+
precedence: lroDetail.precedence ?? OPERATION_LRO_HIGH_PRIORITY
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
// Sorted by the precedecne
|
|
68
|
+
mapDetail.sort((d1, d2) => d1.precedence - d2.precedence);
|
|
69
|
+
return {
|
|
70
|
+
clientOverload: responses.size > 0 && mapDetail.length > 0,
|
|
71
|
+
importedResponses: Array.from(responses),
|
|
72
|
+
overloadMap: mapDetail
|
|
17
73
|
};
|
|
18
74
|
}
|
|
@@ -54,7 +54,8 @@ export function buildResponseTypes(model: RLCModel) {
|
|
|
54
54
|
}
|
|
55
55
|
|
|
56
56
|
// Get the information to build the Response Interface
|
|
57
|
-
const responseTypeName =
|
|
57
|
+
const responseTypeName =
|
|
58
|
+
response.predefinedName ?? getResponseTypeName(baseResponseName);
|
|
58
59
|
const responseProperties = getResponseInterfaceProperties(
|
|
59
60
|
response,
|
|
60
61
|
headersInterface?.name
|
|
@@ -44,7 +44,7 @@ export function buildTopLevelIndex(model: RLCModel) {
|
|
|
44
44
|
});
|
|
45
45
|
const content = indexFile.getFullText();
|
|
46
46
|
const filePath = path.join(
|
|
47
|
-
srcPath.substring(0, srcPath.
|
|
47
|
+
srcPath.substring(0, srcPath.lastIndexOf("src") + 4),
|
|
48
48
|
`index.ts`
|
|
49
49
|
);
|
|
50
50
|
return { path: filePath, content };
|
|
@@ -32,6 +32,16 @@ export function getResponseTypeName(
|
|
|
32
32
|
);
|
|
33
33
|
}
|
|
34
34
|
|
|
35
|
+
export function getLroLogicalResponseName(
|
|
36
|
+
operationGroup: string,
|
|
37
|
+
operationName: string
|
|
38
|
+
) {
|
|
39
|
+
return normalizeName(
|
|
40
|
+
`${operationGroup}_${operationName}_Logical_Response`,
|
|
41
|
+
NameType.Interface
|
|
42
|
+
);
|
|
43
|
+
}
|
|
44
|
+
|
|
35
45
|
/**
|
|
36
46
|
* The prefix of all response types
|
|
37
47
|
* @param operationGroup operation group name e.g string_PutEmpty
|
|
@@ -10,6 +10,7 @@ import {
|
|
|
10
10
|
Methods,
|
|
11
11
|
ObjectSchema,
|
|
12
12
|
PathParameter,
|
|
13
|
+
Paths,
|
|
13
14
|
RLCModel,
|
|
14
15
|
SchemaContext
|
|
15
16
|
} from "../interfaces.js";
|
|
@@ -60,27 +61,27 @@ export function getPathParamDefinitions(
|
|
|
60
61
|
}
|
|
61
62
|
|
|
62
63
|
export function hasPagingOperations(model: RLCModel) {
|
|
63
|
-
return Boolean(model.
|
|
64
|
+
return Boolean(model.helperDetails?.hasPaging);
|
|
64
65
|
}
|
|
65
66
|
|
|
66
67
|
export function hasPollingOperations(model: RLCModel) {
|
|
67
|
-
return Boolean(model.
|
|
68
|
+
return Boolean(model.helperDetails?.hasLongRunning);
|
|
68
69
|
}
|
|
69
70
|
|
|
70
71
|
export function hasMultiCollection(model: RLCModel) {
|
|
71
|
-
return Boolean(model.
|
|
72
|
+
return Boolean(model.helperDetails?.hasMultiCollection);
|
|
72
73
|
}
|
|
73
74
|
|
|
74
75
|
export function hasPipeCollection(model: RLCModel) {
|
|
75
|
-
return Boolean(model.
|
|
76
|
+
return Boolean(model.helperDetails?.hasPipeCollection);
|
|
76
77
|
}
|
|
77
78
|
|
|
78
79
|
export function hasSsvCollection(model: RLCModel) {
|
|
79
|
-
return Boolean(model.
|
|
80
|
+
return Boolean(model.helperDetails?.hasSsvCollection);
|
|
80
81
|
}
|
|
81
82
|
|
|
82
83
|
export function hasTsvCollection(model: RLCModel) {
|
|
83
|
-
return Boolean(model.
|
|
84
|
+
return Boolean(model.helperDetails?.hasTsvCollection);
|
|
84
85
|
}
|
|
85
86
|
|
|
86
87
|
export function hasUnexpectedHelper(model: RLCModel) {
|
package/src/index.ts
CHANGED