@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.
Files changed (77) hide show
  1. package/.rush/temp/operation/build/all.log +1 -0
  2. package/.rush/temp/operation/build/state.json +3 -0
  3. package/.rush/temp/package-deps_build.json +17 -16
  4. package/.rush/temp/shrinkwrap-deps.json +146 -145
  5. package/CHANGELOG.md +7 -0
  6. package/dist/buildClient.js +15 -4
  7. package/dist/buildClient.js.map +1 -1
  8. package/dist/buildIsUnexpectedHelper.js +14 -6
  9. package/dist/buildIsUnexpectedHelper.js.map +1 -1
  10. package/dist/buildLogger.js +27 -0
  11. package/dist/buildLogger.js.map +1 -0
  12. package/dist/buildPaginateHelper.js +1 -1
  13. package/dist/buildPaginateHelper.js.map +1 -1
  14. package/dist/buildPollingHelper.js +39 -1
  15. package/dist/buildPollingHelper.js.map +1 -1
  16. package/dist/buildResponseTypes.js +3 -3
  17. package/dist/buildResponseTypes.js.map +1 -1
  18. package/dist/buildTopLevelIndexFile.js +1 -1
  19. package/dist/buildTopLevelIndexFile.js.map +1 -1
  20. package/dist/helpers/nameConstructors.js +5 -1
  21. package/dist/helpers/nameConstructors.js.map +1 -1
  22. package/dist/helpers/operationHelpers.js +6 -6
  23. package/dist/helpers/operationHelpers.js.map +1 -1
  24. package/dist/index.js +1 -0
  25. package/dist/index.js.map +1 -1
  26. package/dist/interfaces.js +2 -1
  27. package/dist/interfaces.js.map +1 -1
  28. package/dist/metadata/buildPackageFile.js +2 -2
  29. package/dist/package.json +1 -1
  30. package/dist/static/pollingContent.js +18 -0
  31. package/dist/static/pollingContent.js.map +1 -1
  32. package/dist-esm/buildClient.js +15 -4
  33. package/dist-esm/buildClient.js.map +1 -1
  34. package/dist-esm/buildIsUnexpectedHelper.js +15 -4
  35. package/dist-esm/buildIsUnexpectedHelper.js.map +1 -1
  36. package/dist-esm/buildLogger.js +23 -0
  37. package/dist-esm/buildLogger.js.map +1 -0
  38. package/dist-esm/buildPaginateHelper.js +1 -1
  39. package/dist-esm/buildPaginateHelper.js.map +1 -1
  40. package/dist-esm/buildPollingHelper.js +38 -1
  41. package/dist-esm/buildPollingHelper.js.map +1 -1
  42. package/dist-esm/buildResponseTypes.js +1 -1
  43. package/dist-esm/buildResponseTypes.js.map +1 -1
  44. package/dist-esm/buildTopLevelIndexFile.js +1 -1
  45. package/dist-esm/buildTopLevelIndexFile.js.map +1 -1
  46. package/dist-esm/helpers/nameConstructors.js +3 -0
  47. package/dist-esm/helpers/nameConstructors.js.map +1 -1
  48. package/dist-esm/helpers/operationHelpers.js +6 -6
  49. package/dist-esm/helpers/operationHelpers.js.map +1 -1
  50. package/dist-esm/index.js +1 -0
  51. package/dist-esm/index.js.map +1 -1
  52. package/dist-esm/interfaces.js +1 -0
  53. package/dist-esm/interfaces.js.map +1 -1
  54. package/dist-esm/metadata/buildPackageFile.js +2 -2
  55. package/dist-esm/package.json +1 -1
  56. package/dist-esm/static/pollingContent.js +18 -0
  57. package/dist-esm/static/pollingContent.js.map +1 -1
  58. package/package.json +14 -14
  59. package/rlc-common.build.log +0 -1
  60. package/src/buildClient.ts +19 -4
  61. package/src/buildIsUnexpectedHelper.ts +23 -4
  62. package/src/buildLogger.ts +30 -0
  63. package/src/buildPaginateHelper.ts +1 -1
  64. package/src/buildPollingHelper.ts +58 -2
  65. package/src/buildResponseTypes.ts +2 -1
  66. package/src/buildTopLevelIndexFile.ts +1 -1
  67. package/src/helpers/nameConstructors.ts +10 -0
  68. package/src/helpers/operationHelpers.ts +7 -6
  69. package/src/index.ts +1 -0
  70. package/src/interfaces.ts +19 -5
  71. package/src/metadata/buildPackageFile.ts +2 -2
  72. package/src/static/pollingContent.ts +18 -0
  73. package/types/buildLogger.d.ts +5 -0
  74. package/types/helpers/nameConstructors.d.ts +1 -0
  75. package/types/index.d.ts +1 -0
  76. package/types/interfaces.d.ts +17 -5
  77. 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":"AACA,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,0CAA0C;AAC1C,OAAO,GAAG,MAAM,YAAY,CAAC;AAC7B,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,MAAM,UAAU,kBAAkB,CAAC,KAAe;IAChD,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,EAAE;QAChC,OAAO;KACR;IACD,MAAM,kBAAkB,GAAG,GAAG,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3E,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAC1B,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,kBAAkB,CAAC;QAC5C,OAAO,EAAE,kBAAkB,CAAC,EAAE,CAAC;KAChC,CAAC;AACJ,CAAC"}
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":"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"}
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.indexOf(path.sep + "src") + 4), `index.ts`);
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,OAAO,CAAC,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,EAC3D,UAAU,CACX,CAAC;QACF,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;KACpC;AACH,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.annotations?.hasPaging);
40
+ return Boolean(model.helperDetails?.hasPaging);
41
41
  }
42
42
  export function hasPollingOperations(model) {
43
- return Boolean(model.annotations?.hasLongRunning);
43
+ return Boolean(model.helperDetails?.hasLongRunning);
44
44
  }
45
45
  export function hasMultiCollection(model) {
46
- return Boolean(model.annotations?.hasMultiCollection);
46
+ return Boolean(model.helperDetails?.hasMultiCollection);
47
47
  }
48
48
  export function hasPipeCollection(model) {
49
- return Boolean(model.annotations?.hasPipeCollection);
49
+ return Boolean(model.helperDetails?.hasPipeCollection);
50
50
  }
51
51
  export function hasSsvCollection(model) {
52
- return Boolean(model.annotations?.hasSsvCollection);
52
+ return Boolean(model.helperDetails?.hasSsvCollection);
53
53
  }
54
54
  export function hasTsvCollection(model) {
55
- return Boolean(model.annotations?.hasTsvCollection);
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":"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"}
1
+ {"version":3,"file":"operationHelpers.js","sourceRoot":"","sources":["../../src/helpers/operationHelpers.ts"],"names":[],"mappings":"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"}
package/dist-esm/index.js CHANGED
@@ -27,4 +27,5 @@ export * from "./metadata/buildESLintConfig.js";
27
27
  export * from "./metadata/buildLicenseFile.js";
28
28
  export * from "./buildSerializeHelper.js";
29
29
  export * from "./helpers/apiVersionUtil.js";
30
+ export * from "./buildLogger.js";
30
31
  //# sourceMappingURL=index.js.map
@@ -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"}
@@ -1,3 +1,4 @@
1
+ export const OPERATION_LRO_HIGH_PRIORITY = 0, OPERATION_LRO_LOW_PRIORITY = 1;
1
2
  export var ImportKind;
2
3
  (function (ImportKind) {
3
4
  ImportKind[ImportKind["ResponseOutput"] = 0] = "ResponseOutput";
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":"AA2HA,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"}
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.2",
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.0",
120
+ "@azure/core-lro": "^2.5.3",
121
121
  "@azure/abort-controller": "^1.0.0"
122
122
  })
123
123
  },
@@ -1 +1 @@
1
- {"name":"@azure-tools/rlc-common","version":"0.12.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/"}
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6F7B,CAAC"}
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.12.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
+ }
@@ -1,2 +1 @@
1
1
  Invoking: rimraf dist/* dist-esm/* types/* && tsc -p tsconfig.json && tsc -p tsconfig-cjs.json && node publishPackage.js
2
-
@@ -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} type: ${param.type
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].annotations?.isLongRunning &&
41
+ methodDetails[0].operationHelperDetail?.lroDetails?.isLongRunning &&
42
42
  originalMethod !== "GET"
43
43
  ) {
44
44
  const operation = `GET ${path}`;
45
- const success =
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
- map = { ...map, ...{ [operation]: success } };
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.annotations;
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 = getResponseTypeName(baseResponseName);
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.indexOf(path.sep + "src") + 4),
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.annotations?.hasPaging);
64
+ return Boolean(model.helperDetails?.hasPaging);
64
65
  }
65
66
 
66
67
  export function hasPollingOperations(model: RLCModel) {
67
- return Boolean(model.annotations?.hasLongRunning);
68
+ return Boolean(model.helperDetails?.hasLongRunning);
68
69
  }
69
70
 
70
71
  export function hasMultiCollection(model: RLCModel) {
71
- return Boolean(model.annotations?.hasMultiCollection);
72
+ return Boolean(model.helperDetails?.hasMultiCollection);
72
73
  }
73
74
 
74
75
  export function hasPipeCollection(model: RLCModel) {
75
- return Boolean(model.annotations?.hasPipeCollection);
76
+ return Boolean(model.helperDetails?.hasPipeCollection);
76
77
  }
77
78
 
78
79
  export function hasSsvCollection(model: RLCModel) {
79
- return Boolean(model.annotations?.hasSsvCollection);
80
+ return Boolean(model.helperDetails?.hasSsvCollection);
80
81
  }
81
82
 
82
83
  export function hasTsvCollection(model: RLCModel) {
83
- return Boolean(model.annotations?.hasTsvCollection);
84
+ return Boolean(model.helperDetails?.hasTsvCollection);
84
85
  }
85
86
 
86
87
  export function hasUnexpectedHelper(model: RLCModel) {
package/src/index.ts CHANGED
@@ -28,3 +28,4 @@ export * from "./metadata/buildESLintConfig.js";
28
28
  export * from "./metadata/buildLicenseFile.js";
29
29
  export * from "./buildSerializeHelper.js";
30
30
  export * from "./helpers/apiVersionUtil.js";
31
+ export * from "./buildLogger.js";