@azure/arm-carbonoptimization 1.0.0-beta.1 → 1.0.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 (157) hide show
  1. package/README.md +2 -2
  2. package/dist/browser/api/carbonOptimizationManagementContext.js +15 -9
  3. package/dist/browser/api/carbonOptimizationManagementContext.js.map +1 -1
  4. package/dist/browser/api/carbonService/operations.js +18 -6
  5. package/dist/browser/api/carbonService/operations.js.map +1 -1
  6. package/dist/browser/api/operations/operations.js +8 -3
  7. package/dist/browser/api/operations/operations.js.map +1 -1
  8. package/dist/browser/carbonOptimizationManagementClient.js +12 -3
  9. package/dist/browser/carbonOptimizationManagementClient.js.map +1 -1
  10. package/dist/browser/classic/carbonService/index.js +3 -1
  11. package/dist/browser/classic/carbonService/index.js.map +1 -1
  12. package/dist/browser/classic/operations/index.js +3 -1
  13. package/dist/browser/classic/operations/index.js.map +1 -1
  14. package/dist/browser/models/models.d.ts +1 -5
  15. package/dist/browser/models/models.js +1 -4
  16. package/dist/browser/models/models.js.map +1 -1
  17. package/dist/browser/static-helpers/pagingHelpers.js +31 -50
  18. package/dist/browser/static-helpers/pagingHelpers.js.map +1 -1
  19. package/dist/browser/static-helpers/urlTemplate.js +3 -3
  20. package/dist/browser/static-helpers/urlTemplate.js.map +1 -1
  21. package/dist/commonjs/api/carbonOptimizationManagementContext.js +15 -9
  22. package/dist/commonjs/api/carbonOptimizationManagementContext.js.map +1 -1
  23. package/dist/commonjs/api/carbonService/operations.js +18 -6
  24. package/dist/commonjs/api/carbonService/operations.js.map +1 -1
  25. package/dist/commonjs/api/operations/operations.js +8 -3
  26. package/dist/commonjs/api/operations/operations.js.map +1 -1
  27. package/dist/commonjs/carbonOptimizationManagementClient.js +12 -3
  28. package/dist/commonjs/carbonOptimizationManagementClient.js.map +1 -1
  29. package/dist/commonjs/classic/carbonService/index.js +3 -1
  30. package/dist/commonjs/classic/carbonService/index.js.map +1 -1
  31. package/dist/commonjs/classic/operations/index.js +3 -1
  32. package/dist/commonjs/classic/operations/index.js.map +1 -1
  33. package/dist/commonjs/models/models.d.ts +1 -5
  34. package/dist/commonjs/models/models.js +1 -5
  35. package/dist/commonjs/models/models.js.map +1 -1
  36. package/dist/commonjs/static-helpers/pagingHelpers.js +31 -50
  37. package/dist/commonjs/static-helpers/pagingHelpers.js.map +1 -1
  38. package/dist/commonjs/static-helpers/urlTemplate.js +3 -3
  39. package/dist/commonjs/static-helpers/urlTemplate.js.map +1 -1
  40. package/dist/commonjs/tsdoc-metadata.json +11 -11
  41. package/dist/esm/api/carbonOptimizationManagementContext.js +15 -9
  42. package/dist/esm/api/carbonOptimizationManagementContext.js.map +1 -1
  43. package/dist/esm/api/carbonService/operations.js +18 -6
  44. package/dist/esm/api/carbonService/operations.js.map +1 -1
  45. package/dist/esm/api/operations/operations.js +8 -3
  46. package/dist/esm/api/operations/operations.js.map +1 -1
  47. package/dist/esm/carbonOptimizationManagementClient.js +12 -3
  48. package/dist/esm/carbonOptimizationManagementClient.js.map +1 -1
  49. package/dist/esm/classic/carbonService/index.js +3 -1
  50. package/dist/esm/classic/carbonService/index.js.map +1 -1
  51. package/dist/esm/classic/operations/index.js +3 -1
  52. package/dist/esm/classic/operations/index.js.map +1 -1
  53. package/dist/esm/models/models.d.ts +1 -5
  54. package/dist/esm/models/models.js +1 -4
  55. package/dist/esm/models/models.js.map +1 -1
  56. package/dist/esm/static-helpers/pagingHelpers.js +31 -50
  57. package/dist/esm/static-helpers/pagingHelpers.js.map +1 -1
  58. package/dist/esm/static-helpers/urlTemplate.js +3 -3
  59. package/dist/esm/static-helpers/urlTemplate.js.map +1 -1
  60. package/dist/react-native/api/carbonOptimizationManagementContext.js +15 -9
  61. package/dist/react-native/api/carbonOptimizationManagementContext.js.map +1 -1
  62. package/dist/react-native/api/carbonService/operations.js +18 -6
  63. package/dist/react-native/api/carbonService/operations.js.map +1 -1
  64. package/dist/react-native/api/operations/operations.js +8 -3
  65. package/dist/react-native/api/operations/operations.js.map +1 -1
  66. package/dist/react-native/carbonOptimizationManagementClient.js +12 -3
  67. package/dist/react-native/carbonOptimizationManagementClient.js.map +1 -1
  68. package/dist/react-native/classic/carbonService/index.js +3 -1
  69. package/dist/react-native/classic/carbonService/index.js.map +1 -1
  70. package/dist/react-native/classic/operations/index.js +3 -1
  71. package/dist/react-native/classic/operations/index.js.map +1 -1
  72. package/dist/react-native/models/models.d.ts +1 -5
  73. package/dist/react-native/models/models.js +1 -4
  74. package/dist/react-native/models/models.js.map +1 -1
  75. package/dist/react-native/static-helpers/pagingHelpers.js +31 -50
  76. package/dist/react-native/static-helpers/pagingHelpers.js.map +1 -1
  77. package/dist/react-native/static-helpers/urlTemplate.js +3 -3
  78. package/dist/react-native/static-helpers/urlTemplate.js.map +1 -1
  79. package/package.json +14 -15
  80. package/CHANGELOG.md +0 -7
  81. package/dist/browser/api/carbonOptimizationManagementContext.d.ts.map +0 -1
  82. package/dist/browser/api/carbonService/index.d.ts.map +0 -1
  83. package/dist/browser/api/carbonService/operations.d.ts.map +0 -1
  84. package/dist/browser/api/carbonService/options.d.ts.map +0 -1
  85. package/dist/browser/api/index.d.ts.map +0 -1
  86. package/dist/browser/api/operations/index.d.ts.map +0 -1
  87. package/dist/browser/api/operations/operations.d.ts.map +0 -1
  88. package/dist/browser/api/operations/options.d.ts.map +0 -1
  89. package/dist/browser/carbonOptimizationManagementClient.d.ts.map +0 -1
  90. package/dist/browser/classic/carbonService/index.d.ts.map +0 -1
  91. package/dist/browser/classic/index.d.ts.map +0 -1
  92. package/dist/browser/classic/operations/index.d.ts.map +0 -1
  93. package/dist/browser/index.d.ts.map +0 -1
  94. package/dist/browser/logger.d.ts.map +0 -1
  95. package/dist/browser/models/index.d.ts.map +0 -1
  96. package/dist/browser/models/models.d.ts.map +0 -1
  97. package/dist/browser/static-helpers/pagingHelpers.d.ts.map +0 -1
  98. package/dist/browser/static-helpers/urlTemplate.d.ts.map +0 -1
  99. package/dist/commonjs/api/carbonOptimizationManagementContext.d.ts.map +0 -1
  100. package/dist/commonjs/api/carbonService/index.d.ts.map +0 -1
  101. package/dist/commonjs/api/carbonService/operations.d.ts.map +0 -1
  102. package/dist/commonjs/api/carbonService/options.d.ts.map +0 -1
  103. package/dist/commonjs/api/index.d.ts.map +0 -1
  104. package/dist/commonjs/api/operations/index.d.ts.map +0 -1
  105. package/dist/commonjs/api/operations/operations.d.ts.map +0 -1
  106. package/dist/commonjs/api/operations/options.d.ts.map +0 -1
  107. package/dist/commonjs/carbonOptimizationManagementClient.d.ts.map +0 -1
  108. package/dist/commonjs/classic/carbonService/index.d.ts.map +0 -1
  109. package/dist/commonjs/classic/index.d.ts.map +0 -1
  110. package/dist/commonjs/classic/operations/index.d.ts.map +0 -1
  111. package/dist/commonjs/index.d.ts.map +0 -1
  112. package/dist/commonjs/logger.d.ts.map +0 -1
  113. package/dist/commonjs/models/index.d.ts.map +0 -1
  114. package/dist/commonjs/models/models.d.ts.map +0 -1
  115. package/dist/commonjs/static-helpers/pagingHelpers.d.ts.map +0 -1
  116. package/dist/commonjs/static-helpers/urlTemplate.d.ts.map +0 -1
  117. package/dist/esm/api/carbonOptimizationManagementContext.d.ts.map +0 -1
  118. package/dist/esm/api/carbonService/index.d.ts.map +0 -1
  119. package/dist/esm/api/carbonService/operations.d.ts.map +0 -1
  120. package/dist/esm/api/carbonService/options.d.ts.map +0 -1
  121. package/dist/esm/api/index.d.ts.map +0 -1
  122. package/dist/esm/api/operations/index.d.ts.map +0 -1
  123. package/dist/esm/api/operations/operations.d.ts.map +0 -1
  124. package/dist/esm/api/operations/options.d.ts.map +0 -1
  125. package/dist/esm/carbonOptimizationManagementClient.d.ts.map +0 -1
  126. package/dist/esm/classic/carbonService/index.d.ts.map +0 -1
  127. package/dist/esm/classic/index.d.ts.map +0 -1
  128. package/dist/esm/classic/operations/index.d.ts.map +0 -1
  129. package/dist/esm/index.d.ts.map +0 -1
  130. package/dist/esm/logger.d.ts.map +0 -1
  131. package/dist/esm/models/index.d.ts.map +0 -1
  132. package/dist/esm/models/models.d.ts.map +0 -1
  133. package/dist/esm/static-helpers/pagingHelpers.d.ts.map +0 -1
  134. package/dist/esm/static-helpers/urlTemplate.d.ts.map +0 -1
  135. package/dist/react-native/api/carbonOptimizationManagementContext.d.ts.map +0 -1
  136. package/dist/react-native/api/carbonService/index.d.ts.map +0 -1
  137. package/dist/react-native/api/carbonService/operations.d.ts.map +0 -1
  138. package/dist/react-native/api/carbonService/options.d.ts.map +0 -1
  139. package/dist/react-native/api/index.d.ts.map +0 -1
  140. package/dist/react-native/api/operations/index.d.ts.map +0 -1
  141. package/dist/react-native/api/operations/operations.d.ts.map +0 -1
  142. package/dist/react-native/api/operations/options.d.ts.map +0 -1
  143. package/dist/react-native/carbonOptimizationManagementClient.d.ts.map +0 -1
  144. package/dist/react-native/classic/carbonService/index.d.ts.map +0 -1
  145. package/dist/react-native/classic/index.d.ts.map +0 -1
  146. package/dist/react-native/classic/operations/index.d.ts.map +0 -1
  147. package/dist/react-native/index.d.ts.map +0 -1
  148. package/dist/react-native/logger.d.ts.map +0 -1
  149. package/dist/react-native/models/index.d.ts.map +0 -1
  150. package/dist/react-native/models/models.d.ts.map +0 -1
  151. package/dist/react-native/static-helpers/pagingHelpers.d.ts.map +0 -1
  152. package/dist/react-native/static-helpers/urlTemplate.d.ts.map +0 -1
  153. package/review/arm-carbonoptimization-api-carbonService.api.md +0 -26
  154. package/review/arm-carbonoptimization-api-operations.api.md +0 -19
  155. package/review/arm-carbonoptimization-api.api.md +0 -26
  156. package/review/arm-carbonoptimization-models.api.md +0 -333
  157. package/review/arm-carbonoptimization.api.md +0 -391
@@ -1 +1 @@
1
- {"version":3,"file":"models.js","sourceRoot":"","sources":["../../../src/models/models.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAUlC,MAAM,UAAU,gCAAgC,CAAC,IAAS;IACxD,OAAO;QACL,KAAK,EAAE,0BAA0B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAChD,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;KAC3B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,MAAwB;IACjE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,qBAAqB,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;AACL,CAAC;AAgBD,MAAM,UAAU,qBAAqB,CAAC,IAAS;IAC7C,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,YAAY,EAAE,IAAI,CAAC,cAAc,CAAC;QAClC,OAAO,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,4BAA4B,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC3F,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC;QACtB,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC;KAC/B,CAAC;AACJ,CAAC;AAcD,MAAM,UAAU,4BAA4B,CAAC,IAAS;IACpD,OAAO;QACL,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;QAC1B,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;QAC1B,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC;QAC5B,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;KACjC,CAAC;AACJ,CAAC;AAED,2IAA2I;AAC3I,MAAM,CAAN,IAAY,WAOX;AAPD,WAAY,WAAW;IACrB,sDAAsD;IACtD,4BAAa,CAAA;IACb,wDAAwD;IACxD,gCAAiB,CAAA;IACjB,gEAAgE;IAChE,yCAA0B,CAAA;AAC5B,CAAC,EAPW,WAAW,KAAX,WAAW,QAOtB;AAaD,gHAAgH;AAChH,MAAM,CAAN,IAAY,eAGX;AAHD,WAAY,eAAe;IACzB,0CAA0C;IAC1C,wCAAqB,CAAA;AACvB,CAAC,EAHW,eAAe,KAAf,eAAe,QAG1B;AAiBD,MAAM,UAAU,yBAAyB,CAAC,IAAS;IACjD,OAAO;QACL,KAAK,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KAC/E,CAAC;AACJ,CAAC;AAgBD,MAAM,UAAU,uBAAuB,CAAC,IAAS;IAC/C,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;QACxB,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC;QACtB,OAAO,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,4BAA4B,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC3F,cAAc,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC;YACrC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC;YACxB,CAAC,CAAC,oCAAoC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;KACjE,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,MAA0B;IACrE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,uBAAuB,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,oCAAoC,CAAC,MAAkC;IACrF,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,+BAA+B,CAAC,IAAI,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;AACL,CAAC;AAUD,MAAM,UAAU,+BAA+B,CAAC,IAAS;IACvD,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,IAAI,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,oCAAoC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KACxF,CAAC;AACJ,CAAC;AAKD,MAAM,UAAU,oCAAoC,CAAC,IAAS;IAC5D,OAAO,IAAI,CAAC;AACd,CAAC;AAqBD,MAAM,UAAU,qBAAqB,CAAC,IAAiB;IACrD,OAAO;QACL,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC;QAC9B,SAAS,EAAE,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACjD,gBAAgB,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;YACxD,OAAO,CAAC,CAAC;QACX,CAAC,CAAC;QACF,oBAAoB,EAAE,CAAC,IAAI,CAAC,sBAAsB,CAAC;YACjD,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC;YAC9B,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;gBAC1C,OAAO,CAAC,CAAC;YACX,CAAC,CAAC;QACN,gBAAgB,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC;YACzC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC;YAC1B,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;gBACtC,OAAO,CAAC,CAAC;YACX,CAAC,CAAC;QACN,YAAY,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC;YACjC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC;YACtB,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;gBAClC,OAAO,CAAC,CAAC;YACX,CAAC,CAAC;QACN,eAAe,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;YACtD,OAAO,CAAC,CAAC;QACX,CAAC,CAAC;KACH,CAAC;AACJ,CAAC;AAWD,MAAM,UAAU,0BAA0B,CAAC,IAAsB;IAC/D,QAAQ,IAAI,CAAC,UAAU,EAAE,CAAC;QACxB,KAAK,sBAAsB;YACzB,OAAO,yCAAyC,CAAC,IAAuC,CAAC,CAAC;QAE5F,KAAK,sBAAsB;YACzB,OAAO,yCAAyC,CAAC,IAAuC,CAAC,CAAC;QAE5F,KAAK,uBAAuB;YAC1B,OAAO,0CAA0C,CAAC,IAAwC,CAAC,CAAC;QAE9F,KAAK,8BAA8B;YACjC,OAAO,iDAAiD,CACtD,IAA+C,CAChD,CAAC;QAEJ,KAAK,mBAAmB;YACtB,OAAO,gCAAgC,CAAC,IAA8B,CAAC,CAAC;QAE1E;YACE,OAAO,qBAAqB,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;AACH,CAAC;AAED,6OAA6O;AAC7O,MAAM,CAAN,IAAY,mBAWX;AAXD,WAAY,mBAAmB;IAC7B,kTAAkT;IAClT,oEAA6C,CAAA;IAC7C,gPAAgP;IAChP,oEAA6C,CAAA;IAC7C,2RAA2R;IAC3R,sEAA+C,CAAA;IAC/C,+OAA+O;IAC/O,oFAA6D,CAAA;IAC7D,8TAA8T;IAC9T,8DAAuC,CAAA;AACzC,CAAC,EAXW,mBAAmB,KAAnB,mBAAmB,QAW9B;AAuBD,MAAM,UAAU,mBAAmB,CAAC,IAAe;IACjD,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;AACpD,CAAC;AAED,qMAAqM;AACrM,MAAM,CAAN,IAAY,sBAOX;AAPD,WAAY,sBAAsB;IAChC,6BAA6B;IAC7B,2CAAiB,CAAA;IACjB,6BAA6B;IAC7B,2CAAiB,CAAA;IACjB,6BAA6B;IAC7B,2CAAiB,CAAA;AACnB,CAAC,EAPW,sBAAsB,KAAtB,sBAAsB,QAOjC;AAmBD,MAAM,UAAU,yCAAyC,CACvD,IAAqC;IAErC,OAAO;QACL,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC;QAC9B,SAAS,EAAE,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACjD,gBAAgB,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;YACxD,OAAO,CAAC,CAAC;QACX,CAAC,CAAC;QACF,oBAAoB,EAAE,CAAC,IAAI,CAAC,sBAAsB,CAAC;YACjD,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC;YAC9B,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;gBAC1C,OAAO,CAAC,CAAC;YACX,CAAC,CAAC;QACN,gBAAgB,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC;YACzC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC;YAC1B,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;gBACtC,OAAO,CAAC,CAAC;YACX,CAAC,CAAC;QACN,YAAY,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC;YACjC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC;YACtB,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;gBAClC,OAAO,CAAC,CAAC;YACX,CAAC,CAAC;QACN,eAAe,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;YACtD,OAAO,CAAC,CAAC;QACX,CAAC,CAAC;KACH,CAAC;AACJ,CAAC;AAQD,MAAM,UAAU,yCAAyC,CACvD,IAAqC;IAErC,OAAO;QACL,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC;QAC9B,SAAS,EAAE,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACjD,gBAAgB,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;YACxD,OAAO,CAAC,CAAC;QACX,CAAC,CAAC;QACF,oBAAoB,EAAE,CAAC,IAAI,CAAC,sBAAsB,CAAC;YACjD,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC;YAC9B,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;gBAC1C,OAAO,CAAC,CAAC;YACX,CAAC,CAAC;QACN,gBAAgB,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC;YACzC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC;YAC1B,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;gBACtC,OAAO,CAAC,CAAC;YACX,CAAC,CAAC;QACN,YAAY,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC;YACjC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC;YACtB,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;gBAClC,OAAO,CAAC,CAAC;YACX,CAAC,CAAC;QACN,eAAe,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;YACtD,OAAO,CAAC,CAAC;QACX,CAAC,CAAC;KACH,CAAC;AACJ,CAAC;AAYD,MAAM,UAAU,0CAA0C,CACxD,IAAsC;IAEtC,OAAO;QACL,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC;QAC9B,SAAS,EAAE,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACjD,gBAAgB,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;YACxD,OAAO,CAAC,CAAC;QACX,CAAC,CAAC;QACF,oBAAoB,EAAE,CAAC,IAAI,CAAC,sBAAsB,CAAC;YACjD,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC;YAC9B,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;gBAC1C,OAAO,CAAC,CAAC;YACX,CAAC,CAAC;QACN,gBAAgB,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC;YACzC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC;YAC1B,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;gBACtC,OAAO,CAAC,CAAC;YACX,CAAC,CAAC;QACN,YAAY,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC;YACjC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC;YACtB,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;gBAClC,OAAO,CAAC,CAAC;YACX,CAAC,CAAC;QACN,eAAe,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;YACtD,OAAO,CAAC,CAAC;QACX,CAAC,CAAC;QACF,YAAY,EAAE,IAAI,CAAC,cAAc,CAAC;QAClC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;KAC3B,CAAC;AACJ,CAAC;AAED,qIAAqI;AACrI,MAAM,CAAN,IAAY,qBAWX;AAXD,WAAY,qBAAqB;IAC/B,sDAAsD;IACtD,sDAA6B,CAAA;IAC7B,wDAAwD;IACxD,wDAA+B,CAAA;IAC/B,kDAAkD;IAClD,8CAAqB,CAAA;IACrB,kDAAkD;IAClD,8CAAqB,CAAA;IACrB,uDAAuD;IACvD,sDAA6B,CAAA;AAC/B,CAAC,EAXW,qBAAqB,KAArB,qBAAqB,QAWhC;AAyBD,MAAM,UAAU,iDAAiD,CAC/D,IAA6C;IAE7C,OAAO;QACL,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC;QAC9B,SAAS,EAAE,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACjD,gBAAgB,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;YACxD,OAAO,CAAC,CAAC;QACX,CAAC,CAAC;QACF,oBAAoB,EAAE,CAAC,IAAI,CAAC,sBAAsB,CAAC;YACjD,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC;YAC9B,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;gBAC1C,OAAO,CAAC,CAAC;YACX,CAAC,CAAC;QACN,gBAAgB,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC;YACzC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC;YAC1B,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;gBACtC,OAAO,CAAC,CAAC;YACX,CAAC,CAAC;QACN,YAAY,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC;YACjC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC;YACtB,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;gBAClC,OAAO,CAAC,CAAC;YACX,CAAC,CAAC;QACN,eAAe,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;YACtD,OAAO,CAAC,CAAC;QACX,CAAC,CAAC;QACF,YAAY,EAAE,IAAI,CAAC,cAAc,CAAC;QAClC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;KAC3B,CAAC;AACJ,CAAC;AAkBD,MAAM,UAAU,gCAAgC,CAAC,IAA4B;IAC3E,OAAO;QACL,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC;QAC9B,SAAS,EAAE,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACjD,gBAAgB,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;YACxD,OAAO,CAAC,CAAC;QACX,CAAC,CAAC;QACF,oBAAoB,EAAE,CAAC,IAAI,CAAC,sBAAsB,CAAC;YACjD,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC;YAC9B,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;gBAC1C,OAAO,CAAC,CAAC;YACX,CAAC,CAAC;QACN,gBAAgB,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC;YACzC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC;YAC1B,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;gBACtC,OAAO,CAAC,CAAC;YACX,CAAC,CAAC;QACN,YAAY,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC;YACjC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC;YACtB,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;gBAClC,OAAO,CAAC,CAAC;YACX,CAAC,CAAC;QACN,eAAe,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;YACtD,OAAO,CAAC,CAAC;QACX,CAAC,CAAC;QACF,YAAY,EAAE,IAAI,CAAC,cAAc,CAAC;QAClC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;QACxB,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC;QACpC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;QAC1B,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC;KAC7B,CAAC;AACJ,CAAC;AAED,qKAAqK;AACrK,MAAM,CAAN,IAAY,sBAaX;AAbD,WAAY,sBAAsB;IAChC,6GAA6G;IAC7G,+CAAqB,CAAA;IACrB,yHAAyH;IACzH,uEAA6C,CAAA;IAC7C,2HAA2H;IAC3H,2EAAiD,CAAA;IACjD,uIAAuI;IACvI,mGAAyE,CAAA;IACzE,gIAAgI;IAChI,qFAA2D,CAAA;IAC3D,6IAA6I;IAC7I,yDAA+B,CAAA;AACjC,CAAC,EAbW,sBAAsB,KAAtB,sBAAsB,QAajC;AAgBD,mGAAmG;AACnG,MAAM,CAAN,IAAY,sBAKX;AALD,WAAY,sBAAsB;IAChC,yCAAyC;IACzC,uCAAa,CAAA;IACb,wCAAwC;IACxC,qCAAW,CAAA;AACb,CAAC,EALW,sBAAsB,KAAtB,sBAAsB,QAKjC;AAsBD,MAAM,UAAU,wCAAwC,CAAC,IAAS;IAChE,OAAO;QACL,KAAK,EAAE,wCAAwC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC9D,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC;QAC5B,8BAA8B,EAAE,CAAC,IAAI,CAAC,gCAAgC,CAAC;YACrE,CAAC,CAAC,IAAI,CAAC,gCAAgC,CAAC;YACxC,CAAC,CAAC,2CAA2C,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;KACxF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,wCAAwC,CACtD,MAAsC;IAEtC,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,mCAAmC,CAAC,IAAI,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;AACL,CAAC;AAiBD,MAAM,UAAU,8BAA8B,CAAC,IAAS;IACtD,OAAO;QACL,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;QAC1B,oBAAoB,EAAE,IAAI,CAAC,sBAAsB,CAAC;QAClD,sBAAsB,EAAE,IAAI,CAAC,wBAAwB,CAAC;QACtD,kCAAkC,EAAE,IAAI,CAAC,oCAAoC,CAAC;QAC9E,2BAA2B,EAAE,IAAI,CAAC,6BAA6B,CAAC;KACjE,CAAC;AACJ,CAAC;AAiBD,MAAM,UAAU,mCAAmC,CAAC,IAAS;IAC3D,QAAQ,IAAI,CAAC,QAAQ,EAAE,CAAC;QACtB,KAAK,oBAAoB;YACvB,OAAO,4CAA4C,CAAC,IAAwC,CAAC,CAAC;QAEhG,KAAK,oBAAoB;YACvB,OAAO,4CAA4C,CAAC,IAAwC,CAAC,CAAC;QAEhG,KAAK,qBAAqB;YACxB,OAAO,6CAA6C,CAClD,IAAyC,CAC1C,CAAC;QAEJ,KAAK,6BAA6B;YAChC,OAAO,qDAAqD,CAC1D,IAAiD,CAClD,CAAC;QAEJ,KAAK,kCAAkC;YACrC,OAAO,0DAA0D,CAC/D,IAAsD,CACvD,CAAC;QAEJ,KAAK,4BAA4B;YAC/B,OAAO,mDAAmD,CACxD,IAA+C,CAChD,CAAC;QAEJ,KAAK,oCAAoC;YACvC,OAAO,2DAA2D,CAChE,IAAuD,CACxD,CAAC;QAEJ,KAAK,yCAAyC;YAC5C,OAAO,gEAAgE,CACrE,IAA4D,CAC7D,CAAC;QAEJ,KAAK,iBAAiB;YACpB,OAAO,wCAAwC,CAAC,IAAoC,CAAC,CAAC;QAExF,KAAK,yBAAyB;YAC5B,OAAO,gDAAgD,CACrD,IAA4C,CAC7C,CAAC;QAEJ,KAAK,8BAA8B;YACjC,OAAO,qDAAqD,CAC1D,IAAiD,CAClD,CAAC;QAEJ;YACE,OAAO,8BAA8B,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC;AACH,CAAC;AAED,qDAAqD;AACrD,MAAM,CAAN,IAAY,yBAuBX;AAvBD,WAAY,yBAAyB;IACnC,sDAAsD;IACtD,sEAAyC,CAAA;IACzC,sDAAsD;IACtD,sEAAyC,CAAA;IACzC,uDAAuD;IACvD,wEAA2C,CAAA;IAC3C,kEAAkE;IAClE,wFAA2D,CAAA;IAC3D,uEAAuE;IACvE,kGAAqE,CAAA;IACrE,8DAA8D;IAC9D,sFAAyD,CAAA;IACzD,yEAAyE;IACzE,sGAAyE,CAAA;IACzE,8EAA8E;IAC9E,gHAAmF,CAAA;IACnF,mDAAmD;IACnD,gEAAmC,CAAA;IACnC,8DAA8D;IAC9D,gFAAmD,CAAA;IACnD,mEAAmE;IACnE,0FAA6D,CAAA;AAC/D,CAAC,EAvBW,yBAAyB,KAAzB,yBAAyB,QAuBpC;AA2BD,MAAM,UAAU,4CAA4C,CAC1D,IAAS;IAET,OAAO;QACL,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;QAC1B,oBAAoB,EAAE,IAAI,CAAC,sBAAsB,CAAC;QAClD,sBAAsB,EAAE,IAAI,CAAC,wBAAwB,CAAC;QACtD,kCAAkC,EAAE,IAAI,CAAC,oCAAoC,CAAC;QAC9E,2BAA2B,EAAE,IAAI,CAAC,6BAA6B,CAAC;KACjE,CAAC;AACJ,CAAC;AAYD,MAAM,UAAU,4CAA4C,CAC1D,IAAS;IAET,OAAO;QACL,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;QAC1B,oBAAoB,EAAE,IAAI,CAAC,sBAAsB,CAAC;QAClD,sBAAsB,EAAE,IAAI,CAAC,wBAAwB,CAAC;QACtD,kCAAkC,EAAE,IAAI,CAAC,oCAAoC,CAAC;QAC9E,2BAA2B,EAAE,IAAI,CAAC,6BAA6B,CAAC;QAChE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,eAAe,EAAE,IAAI,CAAC,iBAAiB,CAAC;KACzC,CAAC;AACJ,CAAC;AAYD,MAAM,UAAU,6CAA6C,CAC3D,IAAS;IAET,OAAO;QACL,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;QAC1B,oBAAoB,EAAE,IAAI,CAAC,sBAAsB,CAAC;QAClD,sBAAsB,EAAE,IAAI,CAAC,wBAAwB,CAAC;QACtD,kCAAkC,EAAE,IAAI,CAAC,oCAAoC,CAAC;QAC9E,2BAA2B,EAAE,IAAI,CAAC,6BAA6B,CAAC;QAChE,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;QAC1B,YAAY,EAAE,IAAI,CAAC,cAAc,CAAC;KACnC,CAAC;AACJ,CAAC;AAkBD,MAAM,UAAU,qDAAqD,CACnE,IAAS;IAET,OAAO;QACL,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;QAC1B,oBAAoB,EAAE,IAAI,CAAC,sBAAsB,CAAC;QAClD,sBAAsB,EAAE,IAAI,CAAC,wBAAwB,CAAC;QACtD,kCAAkC,EAAE,IAAI,CAAC,oCAAoC,CAAC;QAC9E,2BAA2B,EAAE,IAAI,CAAC,6BAA6B,CAAC;QAChE,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;QAC1B,YAAY,EAAE,IAAI,CAAC,cAAc,CAAC;QAClC,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC;QACtC,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC;QACpC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC;KAC/B,CAAC;AACJ,CAAC;AAgBD,MAAM,UAAU,0DAA0D,CACxE,IAAS;IAET,OAAO;QACL,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;QAC1B,oBAAoB,EAAE,IAAI,CAAC,sBAAsB,CAAC;QAClD,sBAAsB,EAAE,IAAI,CAAC,wBAAwB,CAAC;QACtD,kCAAkC,EAAE,IAAI,CAAC,oCAAoC,CAAC;QAC9E,2BAA2B,EAAE,IAAI,CAAC,6BAA6B,CAAC;QAChE,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;QAC1B,YAAY,EAAE,IAAI,CAAC,cAAc,CAAC;QAClC,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC;QACtC,gBAAgB,EAAE,IAAI,CAAC,kBAAkB,CAAC;KAC3C,CAAC;AACJ,CAAC;AAcD,MAAM,UAAU,mDAAmD,CACjE,IAAS;IAET,OAAO;QACL,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;QAC1B,oBAAoB,EAAE,IAAI,CAAC,sBAAsB,CAAC;QAClD,sBAAsB,EAAE,IAAI,CAAC,wBAAwB,CAAC;QACtD,kCAAkC,EAAE,IAAI,CAAC,oCAAoC,CAAC;QAC9E,2BAA2B,EAAE,IAAI,CAAC,6BAA6B,CAAC;QAChE,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;QAC1B,YAAY,EAAE,IAAI,CAAC,cAAc,CAAC;QAClC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;KACnB,CAAC;AACJ,CAAC;AAoBD,MAAM,UAAU,2DAA2D,CACzE,IAAS;IAET,OAAO;QACL,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;QAC1B,oBAAoB,EAAE,IAAI,CAAC,sBAAsB,CAAC;QAClD,sBAAsB,EAAE,IAAI,CAAC,wBAAwB,CAAC;QACtD,kCAAkC,EAAE,IAAI,CAAC,oCAAoC,CAAC;QAC9E,2BAA2B,EAAE,IAAI,CAAC,6BAA6B,CAAC;QAChE,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;QAC1B,YAAY,EAAE,IAAI,CAAC,cAAc,CAAC;QAClC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC;QACtC,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC;QACpC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC;KAC/B,CAAC;AACJ,CAAC;AAkBD,MAAM,UAAU,gEAAgE,CAC9E,IAAS;IAET,OAAO;QACL,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;QAC1B,oBAAoB,EAAE,IAAI,CAAC,sBAAsB,CAAC;QAClD,sBAAsB,EAAE,IAAI,CAAC,wBAAwB,CAAC;QACtD,kCAAkC,EAAE,IAAI,CAAC,oCAAoC,CAAC;QAC9E,2BAA2B,EAAE,IAAI,CAAC,6BAA6B,CAAC;QAChE,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;QAC1B,YAAY,EAAE,IAAI,CAAC,cAAc,CAAC;QAClC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC;QACtC,gBAAgB,EAAE,IAAI,CAAC,kBAAkB,CAAC;KAC3C,CAAC;AACJ,CAAC;AAYD,MAAM,UAAU,wCAAwC,CAAC,IAAS;IAChE,OAAO;QACL,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;QAC1B,oBAAoB,EAAE,IAAI,CAAC,sBAAsB,CAAC;QAClD,sBAAsB,EAAE,IAAI,CAAC,wBAAwB,CAAC;QACtD,kCAAkC,EAAE,IAAI,CAAC,oCAAoC,CAAC;QAC9E,2BAA2B,EAAE,IAAI,CAAC,6BAA6B,CAAC;QAChE,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;QAC1B,YAAY,EAAE,IAAI,CAAC,cAAc,CAAC;KACnC,CAAC;AACJ,CAAC;AAsBD,MAAM,UAAU,gDAAgD,CAC9D,IAAS;IAET,OAAO;QACL,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;QAC1B,oBAAoB,EAAE,IAAI,CAAC,sBAAsB,CAAC;QAClD,sBAAsB,EAAE,IAAI,CAAC,wBAAwB,CAAC;QACtD,kCAAkC,EAAE,IAAI,CAAC,oCAAoC,CAAC;QAC9E,2BAA2B,EAAE,IAAI,CAAC,6BAA6B,CAAC;QAChE,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;QAC1B,YAAY,EAAE,IAAI,CAAC,cAAc,CAAC;QAClC,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC;QACtC,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC;QACpC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC;QAC9B,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;QAC1B,YAAY,EAAE,IAAI,CAAC,cAAc,CAAC;KACnC,CAAC;AACJ,CAAC;AAgBD,MAAM,UAAU,qDAAqD,CACnE,IAAS;IAET,OAAO;QACL,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;QAC1B,oBAAoB,EAAE,IAAI,CAAC,sBAAsB,CAAC;QAClD,sBAAsB,EAAE,IAAI,CAAC,wBAAwB,CAAC;QACtD,kCAAkC,EAAE,IAAI,CAAC,oCAAoC,CAAC;QAC9E,2BAA2B,EAAE,IAAI,CAAC,6BAA6B,CAAC;QAChE,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;QAC1B,YAAY,EAAE,IAAI,CAAC,cAAc,CAAC;QAClC,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC;QACtC,gBAAgB,EAAE,IAAI,CAAC,kBAAkB,CAAC;KAC3C,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,2CAA2C,CACzD,MAAyC;IAEzC,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,sCAAsC,CAAC,IAAI,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;AACL,CAAC;AAYD,MAAM,UAAU,sCAAsC,CAAC,IAAS;IAC9D,OAAO;QACL,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC;QACtC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;QAC1B,YAAY,EAAE,IAAI,CAAC,cAAc,CAAC;KACnC,CAAC;AACJ,CAAC;AAED,+BAA+B;AAC/B,MAAM,CAAN,IAAY,uBAKX;AALD,WAAY,uBAAuB;IACjC,qBAAqB;IACrB,8CAAmB,CAAA;IACnB,oBAAoB;IACpB,4CAAiB,CAAA;AACnB,CAAC,EALW,uBAAuB,KAAvB,uBAAuB,QAKlC;AAoBD,MAAM,UAAU,gDAAgD,CAC9D,IAAS;IAET,OAAO;QACL,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC;QAC5B,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;KACzB,CAAC;AACJ,CAAC;AAED,kCAAkC;AAClC,MAAM,CAAN,IAAY,aAGX;AAHD,WAAY,aAAa;IACvB,kCAAkC;IAClC,yCAAwB,CAAA;AAC1B,CAAC,EAHW,aAAa,KAAb,aAAa,QAGxB","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/** A list of REST API operations supported by an Azure Resource Provider. It contains an URL link to get the next set of results. */\nexport interface _OperationListResult {\n /** The Operation items on this page */\n value: Operation[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _operationListResultDeserializer(item: any): _OperationListResult {\n return {\n value: operationArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function operationArrayDeserializer(result: Array<Operation>): any[] {\n return result.map((item) => {\n return operationDeserializer(item);\n });\n}\n\n/** Details of a REST API operation, returned from the Resource Provider Operations API */\nexport interface Operation {\n /** The name of the operation, as per Resource-Based Access Control (RBAC). Examples: \"Microsoft.Compute/virtualMachines/write\", \"Microsoft.Compute/virtualMachines/capture/action\" */\n readonly name?: string;\n /** Whether the operation applies to data-plane. This is \"true\" for data-plane operations and \"false\" for Azure Resource Manager/control-plane operations. */\n readonly isDataAction?: boolean;\n /** Localized display information for this particular operation. */\n display?: OperationDisplay;\n /** The intended executor of the operation; as in Resource Based Access Control (RBAC) and audit logs UX. Default value is \"user,system\" */\n readonly origin?: Origin;\n /** Extensible enum. Indicates the action type. \"Internal\" refers to actions that are for internal only APIs. */\n readonly actionType?: ActionType;\n}\n\nexport function operationDeserializer(item: any): Operation {\n return {\n name: item[\"name\"],\n isDataAction: item[\"isDataAction\"],\n display: !item[\"display\"] ? item[\"display\"] : operationDisplayDeserializer(item[\"display\"]),\n origin: item[\"origin\"],\n actionType: item[\"actionType\"],\n };\n}\n\n/** Localized display information for and operation. */\nexport interface OperationDisplay {\n /** The localized friendly form of the resource provider name, e.g. \"Microsoft Monitoring Insights\" or \"Microsoft Compute\". */\n readonly provider?: string;\n /** The localized friendly name of the resource type related to this operation. E.g. \"Virtual Machines\" or \"Job Schedule Collections\". */\n readonly resource?: string;\n /** The concise, localized friendly name for the operation; suitable for dropdowns. E.g. \"Create or Update Virtual Machine\", \"Restart Virtual Machine\". */\n readonly operation?: string;\n /** The short, localized friendly description of the operation; suitable for tool tips and detailed views. */\n readonly description?: string;\n}\n\nexport function operationDisplayDeserializer(item: any): OperationDisplay {\n return {\n provider: item[\"provider\"],\n resource: item[\"resource\"],\n operation: item[\"operation\"],\n description: item[\"description\"],\n };\n}\n\n/** The intended executor of the operation; as in Resource Based Access Control (RBAC) and audit logs UX. Default value is \"user,system\" */\nexport enum KnownOrigin {\n /** Indicates the operation is initiated by a user. */\n User = \"user\",\n /** Indicates the operation is initiated by a system. */\n System = \"system\",\n /** Indicates the operation is initiated by a user or system. */\n UserSystem = \"user,system\",\n}\n\n/**\n * The intended executor of the operation; as in Resource Based Access Control (RBAC) and audit logs UX. Default value is \"user,system\" \\\n * {@link KnownOrigin} can be used interchangeably with Origin,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **user**: Indicates the operation is initiated by a user. \\\n * **system**: Indicates the operation is initiated by a system. \\\n * **user,system**: Indicates the operation is initiated by a user or system.\n */\nexport type Origin = string;\n\n/** Extensible enum. Indicates the action type. \"Internal\" refers to actions that are for internal only APIs. */\nexport enum KnownActionType {\n /** Actions are for internal-only APIs. */\n Internal = \"Internal\",\n}\n\n/**\n * Extensible enum. Indicates the action type. \"Internal\" refers to actions that are for internal only APIs. \\\n * {@link KnownActionType} can be used interchangeably with ActionType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Internal**: Actions are for internal-only APIs.\n */\nexport type ActionType = string;\n\n/** Common error response for all Azure Resource Manager APIs to return error details for failed operations. */\nexport interface ErrorResponse {\n /** The error object. */\n error?: ErrorDetail;\n}\n\nexport function errorResponseDeserializer(item: any): ErrorResponse {\n return {\n error: !item[\"error\"] ? item[\"error\"] : errorDetailDeserializer(item[\"error\"]),\n };\n}\n\n/** The error detail. */\nexport interface ErrorDetail {\n /** The error code. */\n readonly code?: string;\n /** The error message. */\n readonly message?: string;\n /** The error target. */\n readonly target?: string;\n /** The error details. */\n readonly details?: ErrorDetail[];\n /** The error additional info. */\n readonly additionalInfo?: ErrorAdditionalInfo[];\n}\n\nexport function errorDetailDeserializer(item: any): ErrorDetail {\n return {\n code: item[\"code\"],\n message: item[\"message\"],\n target: item[\"target\"],\n details: !item[\"details\"] ? item[\"details\"] : errorDetailArrayDeserializer(item[\"details\"]),\n additionalInfo: !item[\"additionalInfo\"]\n ? item[\"additionalInfo\"]\n : errorAdditionalInfoArrayDeserializer(item[\"additionalInfo\"]),\n };\n}\n\nexport function errorDetailArrayDeserializer(result: Array<ErrorDetail>): any[] {\n return result.map((item) => {\n return errorDetailDeserializer(item);\n });\n}\n\nexport function errorAdditionalInfoArrayDeserializer(result: Array<ErrorAdditionalInfo>): any[] {\n return result.map((item) => {\n return errorAdditionalInfoDeserializer(item);\n });\n}\n\n/** The resource management error additional info. */\nexport interface ErrorAdditionalInfo {\n /** The additional info type. */\n readonly type?: string;\n /** The additional info. */\n readonly info?: Record<string, any>;\n}\n\nexport function errorAdditionalInfoDeserializer(item: any): ErrorAdditionalInfo {\n return {\n type: item[\"type\"],\n info: !item[\"info\"] ? item[\"info\"] : _errorAdditionalInfoInfoDeserializer(item[\"info\"]),\n };\n}\n\n/** model interface _ErrorAdditionalInfoInfo */\nexport interface _ErrorAdditionalInfoInfo {}\n\nexport function _errorAdditionalInfoInfoDeserializer(item: any): _ErrorAdditionalInfoInfo {\n return item;\n}\n\n/** Shared query filter parameter to configure carbon emissions data queries for all different report type defined in ReportTypeEnum. */\nexport interface QueryFilter {\n /** The ReportType requested for carbon emissions data. Required. Specifies how data is aggregated and displayed in the output, as explained in the ReportTypeEnum. */\n /** The discriminator possible values: OverallSummaryReport, MonthlySummaryReport, TopItemsSummaryReport, TopItemsMonthlySummaryReport, ItemDetailsReport */\n reportType: ReportTypeEnum;\n /** The start and end dates for carbon emissions data. Required. For ItemDetailsReport and TopItemsSummaryReport, only one month of data is supported at a time, so start and end dates should be equal within DateRange (e.g., start: 2024-06-01 and end: 2024-06-01). */\n dateRange: DateRange;\n /** List of subscription IDs for which carbon emissions data is requested. Required. Each subscription ID should be in lowercase format. The max length of list is 100. */\n subscriptionList: string[];\n /** List of resource group URLs for carbon emissions data. Optional. Each URL must follow the format '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroup}', and should be in all lowercase. */\n resourceGroupUrlList?: string[];\n /** List of resource types for carbon emissions data. Optional. Each resource type should be specified in lowercase, following the format 'microsoft.{service}/{resourceType}', e.g., 'microsoft.storage/storageaccounts'. */\n resourceTypeList?: string[];\n /** List of locations(Azure Region Display Name) for carbon emissions data, with each location specified in lowercase (e.g., 'east us'). Optional. You can use the command 'az account list-locations -o table' to find Azure Region Display Names. */\n locationList?: string[];\n /** List of carbon emission scopes. Required. Accepts one or more values from EmissionScopeEnum (e.g., Scope1, Scope2, Scope3) in list form. The output will include the total emissions for the specified scopes. */\n carbonScopeList: EmissionScopeEnum[];\n}\n\nexport function queryFilterSerializer(item: QueryFilter): any {\n return {\n reportType: item[\"reportType\"],\n dateRange: dateRangeSerializer(item[\"dateRange\"]),\n subscriptionList: item[\"subscriptionList\"].map((p: any) => {\n return p;\n }),\n resourceGroupUrlList: !item[\"resourceGroupUrlList\"]\n ? item[\"resourceGroupUrlList\"]\n : item[\"resourceGroupUrlList\"].map((p: any) => {\n return p;\n }),\n resourceTypeList: !item[\"resourceTypeList\"]\n ? item[\"resourceTypeList\"]\n : item[\"resourceTypeList\"].map((p: any) => {\n return p;\n }),\n locationList: !item[\"locationList\"]\n ? item[\"locationList\"]\n : item[\"locationList\"].map((p: any) => {\n return p;\n }),\n carbonScopeList: item[\"carbonScopeList\"].map((p: any) => {\n return p;\n }),\n };\n}\n\n/** Alias for QueryFilterUnion */\nexport type QueryFilterUnion =\n | OverallSummaryReportQueryFilter\n | MonthlySummaryReportQueryFilter\n | TopItemsSummaryReportQueryFilter\n | TopItemsMonthlySummaryReportQueryFilter\n | ItemDetailsQueryFilter\n | QueryFilter;\n\nexport function queryFilterUnionSerializer(item: QueryFilterUnion): any {\n switch (item.reportType) {\n case \"OverallSummaryReport\":\n return overallSummaryReportQueryFilterSerializer(item as OverallSummaryReportQueryFilter);\n\n case \"MonthlySummaryReport\":\n return monthlySummaryReportQueryFilterSerializer(item as MonthlySummaryReportQueryFilter);\n\n case \"TopItemsSummaryReport\":\n return topItemsSummaryReportQueryFilterSerializer(item as TopItemsSummaryReportQueryFilter);\n\n case \"TopItemsMonthlySummaryReport\":\n return topItemsMonthlySummaryReportQueryFilterSerializer(\n item as TopItemsMonthlySummaryReportQueryFilter,\n );\n\n case \"ItemDetailsReport\":\n return itemDetailsQueryFilterSerializer(item as ItemDetailsQueryFilter);\n\n default:\n return queryFilterSerializer(item);\n }\n}\n\n/** Enum for Report Type, specifying different report formats for carbon emissions data. Each report type returns different aggregations of carbon emissions across various categories, date range, emissions scope, and other parameters. */\nexport enum KnownReportTypeEnum {\n /** Overall summary report provides total carbon emissions for the specified date range and query parameters, as well as comparative values for a high-level overview. This report type can accept different values in the start and end fields within DateRange (e.g., start: 2024-03-01 and end: 2024-06-01). */\n OverallSummaryReport = \"OverallSummaryReport\",\n /** MonthlySummaryReport provides carbon emissions data by month for the specified query parameters. This report type can accept different values in the start and end fields within DateRange (e.g., start: 2024-03-01 and end: 2024-06-01). */\n MonthlySummaryReport = \"MonthlySummaryReport\",\n /** TopItemsSummaryReport provides the N highest-emitting items for the specified query filters. This report returns data for a single month at a time, so it requires the same values for the start and end fields within DateRange. A maximum of N=10 items can be returned at a time. */\n TopItemsSummaryReport = \"TopItemsSummaryReport\",\n /** TopItemsMonthlyReport provides the N highest-emitting items by month for the specified query filter. Returns emissions data for the top N items by month within the given date range. A maximum of N=10 items can be returned at a time. */\n TopItemsMonthlySummaryReport = \"TopItemsMonthlySummaryReport\",\n /** ItemDetailsReport provides a granular list of items based on the specified CategoryType (e.g., Resource, ResourceGroup, ResourceType, Location, or Subscription) for the query filter. This report can be queried for only one month at a time, requiring the same values in the start and end fields within DateRange. */\n ItemDetailsReport = \"ItemDetailsReport\",\n}\n\n/**\n * Enum for Report Type, specifying different report formats for carbon emissions data. Each report type returns different aggregations of carbon emissions across various categories, date range, emissions scope, and other parameters. \\\n * {@link KnownReportTypeEnum} can be used interchangeably with ReportTypeEnum,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **OverallSummaryReport**: Overall summary report provides total carbon emissions for the specified date range and query parameters, as well as comparative values for a high-level overview. This report type can accept different values in the start and end fields within DateRange (e.g., start: 2024-03-01 and end: 2024-06-01). \\\n * **MonthlySummaryReport**: MonthlySummaryReport provides carbon emissions data by month for the specified query parameters. This report type can accept different values in the start and end fields within DateRange (e.g., start: 2024-03-01 and end: 2024-06-01). \\\n * **TopItemsSummaryReport**: TopItemsSummaryReport provides the N highest-emitting items for the specified query filters. This report returns data for a single month at a time, so it requires the same values for the start and end fields within DateRange. A maximum of N=10 items can be returned at a time. \\\n * **TopItemsMonthlySummaryReport**: TopItemsMonthlyReport provides the N highest-emitting items by month for the specified query filter. Returns emissions data for the top N items by month within the given date range. A maximum of N=10 items can be returned at a time. \\\n * **ItemDetailsReport**: ItemDetailsReport provides a granular list of items based on the specified CategoryType (e.g., Resource, ResourceGroup, ResourceType, Location, or Subscription) for the query filter. This report can be queried for only one month at a time, requiring the same values in the start and end fields within DateRange.\n */\nexport type ReportTypeEnum = string;\n\n/** Date range to be used with QueryParameter, it should be within 12 months between start and end date. In certain cases, start and end dates must be the same date. */\nexport interface DateRange {\n /** Start date parameter in yyyy-MM-01 format. Only the first day of each month is accepted. */\n start: string;\n /** End date parameter in yyyy-MM-01 format. Only the first day of each month is accepted. */\n end: string;\n}\n\nexport function dateRangeSerializer(item: DateRange): any {\n return { start: item[\"start\"], end: item[\"end\"] };\n}\n\n/** Supported carbon emission scopes to be used with QueryParameter, as defined by the GHG Protocol. At least one scope must be specified. The output will return a total of all specified scopes. */\nexport enum KnownEmissionScopeEnum {\n /** Scope1 carbon emission */\n Scope1 = \"Scope1\",\n /** Scope2 carbon emission */\n Scope2 = \"Scope2\",\n /** Scope3 carbon emission */\n Scope3 = \"Scope3\",\n}\n\n/**\n * Supported carbon emission scopes to be used with QueryParameter, as defined by the GHG Protocol. At least one scope must be specified. The output will return a total of all specified scopes. \\\n * {@link KnownEmissionScopeEnum} can be used interchangeably with EmissionScopeEnum,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Scope1**: Scope1 carbon emission \\\n * **Scope2**: Scope2 carbon emission \\\n * **Scope3**: Scope3 carbon emission\n */\nexport type EmissionScopeEnum = string;\n\n/** Query filter parameter to configure OverallSummaryReport queries. */\nexport interface OverallSummaryReportQueryFilter extends QueryFilter {\n /** Specifies that the report type is a overall summary report for carbon emissions data. */\n reportType: \"OverallSummaryReport\";\n}\n\nexport function overallSummaryReportQueryFilterSerializer(\n item: OverallSummaryReportQueryFilter,\n): any {\n return {\n reportType: item[\"reportType\"],\n dateRange: dateRangeSerializer(item[\"dateRange\"]),\n subscriptionList: item[\"subscriptionList\"].map((p: any) => {\n return p;\n }),\n resourceGroupUrlList: !item[\"resourceGroupUrlList\"]\n ? item[\"resourceGroupUrlList\"]\n : item[\"resourceGroupUrlList\"].map((p: any) => {\n return p;\n }),\n resourceTypeList: !item[\"resourceTypeList\"]\n ? item[\"resourceTypeList\"]\n : item[\"resourceTypeList\"].map((p: any) => {\n return p;\n }),\n locationList: !item[\"locationList\"]\n ? item[\"locationList\"]\n : item[\"locationList\"].map((p: any) => {\n return p;\n }),\n carbonScopeList: item[\"carbonScopeList\"].map((p: any) => {\n return p;\n }),\n };\n}\n\n/** Query filter parameter to configure MonthlySummaryReport queries. */\nexport interface MonthlySummaryReportQueryFilter extends QueryFilter {\n /** Specifies that the report type is a monthly summary report for carbon emissions data. */\n reportType: \"MonthlySummaryReport\";\n}\n\nexport function monthlySummaryReportQueryFilterSerializer(\n item: MonthlySummaryReportQueryFilter,\n): any {\n return {\n reportType: item[\"reportType\"],\n dateRange: dateRangeSerializer(item[\"dateRange\"]),\n subscriptionList: item[\"subscriptionList\"].map((p: any) => {\n return p;\n }),\n resourceGroupUrlList: !item[\"resourceGroupUrlList\"]\n ? item[\"resourceGroupUrlList\"]\n : item[\"resourceGroupUrlList\"].map((p: any) => {\n return p;\n }),\n resourceTypeList: !item[\"resourceTypeList\"]\n ? item[\"resourceTypeList\"]\n : item[\"resourceTypeList\"].map((p: any) => {\n return p;\n }),\n locationList: !item[\"locationList\"]\n ? item[\"locationList\"]\n : item[\"locationList\"].map((p: any) => {\n return p;\n }),\n carbonScopeList: item[\"carbonScopeList\"].map((p: any) => {\n return p;\n }),\n };\n}\n\n/** Query filter parameter to configure TopItemsSummaryReport queries. */\nexport interface TopItemsSummaryReportQueryFilter extends QueryFilter {\n /** Specifies that the report type is a top items summary report for carbon emissions data, aggregated by category type. */\n reportType: \"TopItemsSummaryReport\";\n /** Specifies the category type for which to retrieve top-emitting items. See supported values defined in CategoryTypeEnum. */\n categoryType: CategoryTypeEnum;\n /** The number of top items to return, based on emissions. This value must be between 1 and 10. */\n topItems: number;\n}\n\nexport function topItemsSummaryReportQueryFilterSerializer(\n item: TopItemsSummaryReportQueryFilter,\n): any {\n return {\n reportType: item[\"reportType\"],\n dateRange: dateRangeSerializer(item[\"dateRange\"]),\n subscriptionList: item[\"subscriptionList\"].map((p: any) => {\n return p;\n }),\n resourceGroupUrlList: !item[\"resourceGroupUrlList\"]\n ? item[\"resourceGroupUrlList\"]\n : item[\"resourceGroupUrlList\"].map((p: any) => {\n return p;\n }),\n resourceTypeList: !item[\"resourceTypeList\"]\n ? item[\"resourceTypeList\"]\n : item[\"resourceTypeList\"].map((p: any) => {\n return p;\n }),\n locationList: !item[\"locationList\"]\n ? item[\"locationList\"]\n : item[\"locationList\"].map((p: any) => {\n return p;\n }),\n carbonScopeList: item[\"carbonScopeList\"].map((p: any) => {\n return p;\n }),\n categoryType: item[\"categoryType\"],\n topItems: item[\"topItems\"],\n };\n}\n\n/** Supported category types to be used with QueryParameter. Each type represents a different level of emissions data aggregation. */\nexport enum KnownCategoryTypeEnum {\n /** Emissions aggregated at the subscription level. */\n Subscription = \"Subscription\",\n /** Emissions aggregated at the resource group level. */\n ResourceGroup = \"ResourceGroup\",\n /** Emissions aggregated at the location level. */\n Location = \"Location\",\n /** Emissions aggregated at the resource level. */\n Resource = \"Resource\",\n /** Emissions aggregated at the resource type level. */\n ResourceType = \"ResourceType\",\n}\n\n/**\n * Supported category types to be used with QueryParameter. Each type represents a different level of emissions data aggregation. \\\n * {@link KnownCategoryTypeEnum} can be used interchangeably with CategoryTypeEnum,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Subscription**: Emissions aggregated at the subscription level. \\\n * **ResourceGroup**: Emissions aggregated at the resource group level. \\\n * **Location**: Emissions aggregated at the location level. \\\n * **Resource**: Emissions aggregated at the resource level. \\\n * **ResourceType**: Emissions aggregated at the resource type level.\n */\nexport type CategoryTypeEnum = string;\n\n/** Query filter parameter to configure TopItemsMonthlySummaryReport queries. */\nexport interface TopItemsMonthlySummaryReportQueryFilter extends QueryFilter {\n /** Specifies that the report type is a top items monthly summary report for carbon emissions data. */\n reportType: \"TopItemsMonthlySummaryReport\";\n /** Specifies the category type to retrieve top-emitting items, aggregated by month. See supported types in CategoryTypeEnum. */\n categoryType: CategoryTypeEnum;\n /** The number of top items to return, based on emissions. Must be between 1 and 10. */\n topItems: number;\n}\n\nexport function topItemsMonthlySummaryReportQueryFilterSerializer(\n item: TopItemsMonthlySummaryReportQueryFilter,\n): any {\n return {\n reportType: item[\"reportType\"],\n dateRange: dateRangeSerializer(item[\"dateRange\"]),\n subscriptionList: item[\"subscriptionList\"].map((p: any) => {\n return p;\n }),\n resourceGroupUrlList: !item[\"resourceGroupUrlList\"]\n ? item[\"resourceGroupUrlList\"]\n : item[\"resourceGroupUrlList\"].map((p: any) => {\n return p;\n }),\n resourceTypeList: !item[\"resourceTypeList\"]\n ? item[\"resourceTypeList\"]\n : item[\"resourceTypeList\"].map((p: any) => {\n return p;\n }),\n locationList: !item[\"locationList\"]\n ? item[\"locationList\"]\n : item[\"locationList\"].map((p: any) => {\n return p;\n }),\n carbonScopeList: item[\"carbonScopeList\"].map((p: any) => {\n return p;\n }),\n categoryType: item[\"categoryType\"],\n topItems: item[\"topItems\"],\n };\n}\n\n/** Query Parameters for ItemDetailsReport */\nexport interface ItemDetailsQueryFilter extends QueryFilter {\n /** Specifies that the report type is an item details report for granular carbon emissions data. This is a paginated report. */\n reportType: \"ItemDetailsReport\";\n /** Specifies the category type for detailed emissions data, such as Resource, ResourceGroup, ResourceType, Location, or Subscription. See supported types in CategoryTypeEnum. */\n categoryType: CategoryTypeEnum;\n /** The column name to order the results by. See supported values in OrderByColumnEnum. */\n orderBy: OrderByColumnEnum;\n /** Direction for sorting results. See supported values in SortDirectionEnum. */\n sortDirection: SortDirectionEnum;\n /** Number of items to return in one request, max value is 5000. */\n pageSize: number;\n /** Pagination token for fetching the next page of data. This token is nullable and will be returned in the previous response if additional data pages are available. */\n skipToken?: string;\n}\n\nexport function itemDetailsQueryFilterSerializer(item: ItemDetailsQueryFilter): any {\n return {\n reportType: item[\"reportType\"],\n dateRange: dateRangeSerializer(item[\"dateRange\"]),\n subscriptionList: item[\"subscriptionList\"].map((p: any) => {\n return p;\n }),\n resourceGroupUrlList: !item[\"resourceGroupUrlList\"]\n ? item[\"resourceGroupUrlList\"]\n : item[\"resourceGroupUrlList\"].map((p: any) => {\n return p;\n }),\n resourceTypeList: !item[\"resourceTypeList\"]\n ? item[\"resourceTypeList\"]\n : item[\"resourceTypeList\"].map((p: any) => {\n return p;\n }),\n locationList: !item[\"locationList\"]\n ? item[\"locationList\"]\n : item[\"locationList\"].map((p: any) => {\n return p;\n }),\n carbonScopeList: item[\"carbonScopeList\"].map((p: any) => {\n return p;\n }),\n categoryType: item[\"categoryType\"],\n orderBy: item[\"orderBy\"],\n sortDirection: item[\"sortDirection\"],\n pageSize: item[\"pageSize\"],\n skipToken: item[\"skipToken\"],\n };\n}\n\n/** Sorting is supported for columns in ItemDetailsReport. This object includes the column names that sorting is allowed for. Select one of these supported values */\nexport enum KnownOrderByColumnEnum {\n /** The itemName filed in ItemDetailsReport result, see CarbonEmissionItemDetailData for more information. */\n ItemName = \"ItemName\",\n /** The latestMonthEmissions filed in ItemDetailsReport result, see CarbonEmissionItemDetailData for more information. */\n LatestMonthEmissions = \"LatestMonthEmissions\",\n /** The previousMonthEmissions filed in ItemDetailsReport result, see CarbonEmissionItemDetailData for more information. */\n PreviousMonthEmissions = \"PreviousMonthEmissions\",\n /** The monthOverMonthEmissionsChangeRatio filed in ItemDetailsReport result, see CarbonEmissionItemDetailData for more information. */\n MonthOverMonthEmissionsChangeRatio = \"MonthOverMonthEmissionsChangeRatio\",\n /** The monthlyEmissionsChangeValue filed in ItemDetailsReport result, see CarbonEmissionItemDetailData for more information. */\n MonthlyEmissionsChangeValue = \"MonthlyEmissionsChangeValue\",\n /** The resourceGroup filed in ResourceCarbonEmissionItemDetailData result, see ResourceCarbonEmissionItemDetailData for more information. */\n ResourceGroup = \"ResourceGroup\",\n}\n\n/**\n * Sorting is supported for columns in ItemDetailsReport. This object includes the column names that sorting is allowed for. Select one of these supported values \\\n * {@link KnownOrderByColumnEnum} can be used interchangeably with OrderByColumnEnum,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **ItemName**: The itemName filed in ItemDetailsReport result, see CarbonEmissionItemDetailData for more information. \\\n * **LatestMonthEmissions**: The latestMonthEmissions filed in ItemDetailsReport result, see CarbonEmissionItemDetailData for more information. \\\n * **PreviousMonthEmissions**: The previousMonthEmissions filed in ItemDetailsReport result, see CarbonEmissionItemDetailData for more information. \\\n * **MonthOverMonthEmissionsChangeRatio**: The monthOverMonthEmissionsChangeRatio filed in ItemDetailsReport result, see CarbonEmissionItemDetailData for more information. \\\n * **MonthlyEmissionsChangeValue**: The monthlyEmissionsChangeValue filed in ItemDetailsReport result, see CarbonEmissionItemDetailData for more information. \\\n * **ResourceGroup**: The resourceGroup filed in ResourceCarbonEmissionItemDetailData result, see ResourceCarbonEmissionItemDetailData for more information.\n */\nexport type OrderByColumnEnum = string;\n\n/** Sorting is supported for columns in ItemDetailsReport. This object define sorting direction. */\nexport enum KnownSortDirectionEnum {\n /** Descending order for query result. */\n Desc = \"Desc\",\n /** Ascending order for query result. */\n Asc = \"Asc\",\n}\n\n/**\n * Sorting is supported for columns in ItemDetailsReport. This object define sorting direction. \\\n * {@link KnownSortDirectionEnum} can be used interchangeably with SortDirectionEnum,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Desc**: Descending order for query result. \\\n * **Asc**: Ascending order for query result.\n */\nexport type SortDirectionEnum = string;\n\n/** List of carbon emission results */\nexport interface CarbonEmissionDataListResult {\n /** The CarbonEmissionData items on this page */\n value: CarbonEmissionDataUnion[];\n /** The pagination token to fetch next page data, it's null or empty if it doesn't have next page data */\n skipToken?: string;\n /** The access decision list for each input subscription */\n subscriptionAccessDecisionList?: SubscriptionAccessDecision[];\n}\n\nexport function carbonEmissionDataListResultDeserializer(item: any): CarbonEmissionDataListResult {\n return {\n value: carbonEmissionDataUnionArrayDeserializer(item[\"value\"]),\n skipToken: item[\"skipToken\"],\n subscriptionAccessDecisionList: !item[\"subscriptionAccessDecisionList\"]\n ? item[\"subscriptionAccessDecisionList\"]\n : subscriptionAccessDecisionArrayDeserializer(item[\"subscriptionAccessDecisionList\"]),\n };\n}\n\nexport function carbonEmissionDataUnionArrayDeserializer(\n result: Array<CarbonEmissionDataUnion>,\n): any[] {\n return result.map((item) => {\n return carbonEmissionDataUnionDeserializer(item);\n });\n}\n\n/** The basic response for different query report, all query report result will have these information */\nexport interface CarbonEmissionData {\n /** The data type of the query result, indicating the format of the returned response. */\n /** The discriminator possible values: OverallSummaryData, MonthlySummaryData, TopItemsSummaryData, ResourceTopItemsSummaryData, ResourceGroupTopItemsSummaryData, TopItemsMonthlySummaryData, ResourceTopItemsMonthlySummaryData, ResourceGroupTopItemsMonthlySummaryData, ItemDetailsData, ResourceItemDetailsData, ResourceGroupItemDetailsData */\n dataType: ResponseDataTypeEnum;\n /** Total carbon emissions for the specified query parameters, measured in kgCO2E. This value represents total emissions over the specified date range (e.g., March-June). */\n latestMonthEmissions: number;\n /** Total carbon emissions for the previous month’s date range, which is the same period as the specified date range but shifted left by one month (e.g., if the specified range is March - June, the previous month’s range will be Feb - May). The value is measured in kgCO2E. */\n previousMonthEmissions: number;\n /** The percentage change in carbon emissions between the current and previous DateRange. This is calculated as: (latestMonthEmissions - previousMonthEmissions) / previousMonthEmissions. */\n monthOverMonthEmissionsChangeRatio?: number;\n /** The change in carbon emissions between the current and previous period, calculated as: latestMonthEmissions - previousMonthEmissions. */\n monthlyEmissionsChangeValue?: number;\n}\n\nexport function carbonEmissionDataDeserializer(item: any): CarbonEmissionData {\n return {\n dataType: item[\"dataType\"],\n latestMonthEmissions: item[\"latestMonthEmissions\"],\n previousMonthEmissions: item[\"previousMonthEmissions\"],\n monthOverMonthEmissionsChangeRatio: item[\"monthOverMonthEmissionsChangeRatio\"],\n monthlyEmissionsChangeValue: item[\"monthlyEmissionsChangeValue\"],\n };\n}\n\n/** Alias for CarbonEmissionDataUnion */\nexport type CarbonEmissionDataUnion =\n | CarbonEmissionOverallSummaryData\n | CarbonEmissionMonthlySummaryData\n | CarbonEmissionTopItemsSummaryData\n | ResourceCarbonEmissionTopItemsSummaryData\n | ResourceGroupCarbonEmissionTopItemsSummaryData\n | CarbonEmissionTopItemMonthlySummaryData\n | ResourceCarbonEmissionTopItemMonthlySummaryData\n | ResourceGroupCarbonEmissionTopItemMonthlySummaryData\n | CarbonEmissionItemDetailData\n | ResourceCarbonEmissionItemDetailData\n | ResourceGroupCarbonEmissionItemDetailData\n | CarbonEmissionData;\n\nexport function carbonEmissionDataUnionDeserializer(item: any): CarbonEmissionDataUnion {\n switch (item.dataType) {\n case \"OverallSummaryData\":\n return carbonEmissionOverallSummaryDataDeserializer(item as CarbonEmissionOverallSummaryData);\n\n case \"MonthlySummaryData\":\n return carbonEmissionMonthlySummaryDataDeserializer(item as CarbonEmissionMonthlySummaryData);\n\n case \"TopItemsSummaryData\":\n return carbonEmissionTopItemsSummaryDataDeserializer(\n item as CarbonEmissionTopItemsSummaryData,\n );\n\n case \"ResourceTopItemsSummaryData\":\n return resourceCarbonEmissionTopItemsSummaryDataDeserializer(\n item as ResourceCarbonEmissionTopItemsSummaryData,\n );\n\n case \"ResourceGroupTopItemsSummaryData\":\n return resourceGroupCarbonEmissionTopItemsSummaryDataDeserializer(\n item as ResourceGroupCarbonEmissionTopItemsSummaryData,\n );\n\n case \"TopItemsMonthlySummaryData\":\n return carbonEmissionTopItemMonthlySummaryDataDeserializer(\n item as CarbonEmissionTopItemMonthlySummaryData,\n );\n\n case \"ResourceTopItemsMonthlySummaryData\":\n return resourceCarbonEmissionTopItemMonthlySummaryDataDeserializer(\n item as ResourceCarbonEmissionTopItemMonthlySummaryData,\n );\n\n case \"ResourceGroupTopItemsMonthlySummaryData\":\n return resourceGroupCarbonEmissionTopItemMonthlySummaryDataDeserializer(\n item as ResourceGroupCarbonEmissionTopItemMonthlySummaryData,\n );\n\n case \"ItemDetailsData\":\n return carbonEmissionItemDetailDataDeserializer(item as CarbonEmissionItemDetailData);\n\n case \"ResourceItemDetailsData\":\n return resourceCarbonEmissionItemDetailDataDeserializer(\n item as ResourceCarbonEmissionItemDetailData,\n );\n\n case \"ResourceGroupItemDetailsData\":\n return resourceGroupCarbonEmissionItemDetailDataDeserializer(\n item as ResourceGroupCarbonEmissionItemDetailData,\n );\n\n default:\n return carbonEmissionDataDeserializer(item);\n }\n}\n\n/** The response data type of Carbon emission data */\nexport enum KnownResponseDataTypeEnum {\n /** The response data type for OverallSummaryReport */\n OverallSummaryData = \"OverallSummaryData\",\n /** The response data type for MonthlySummaryReport */\n MonthlySummaryData = \"MonthlySummaryData\",\n /** The response data type for TopItemsSummaryReport */\n TopItemsSummaryData = \"TopItemsSummaryData\",\n /** The response data type for Resource's TopItemsSummaryReport */\n ResourceTopItemsSummaryData = \"ResourceTopItemsSummaryData\",\n /** The response data type for ResourceGroup's TopItemsSummaryReport */\n ResourceGroupTopItemsSummaryData = \"ResourceGroupTopItemsSummaryData\",\n /** The response data type for TopItemsMonthlySummaryReport */\n TopItemsMonthlySummaryData = \"TopItemsMonthlySummaryData\",\n /** The response data type for Resource's TopItemsMonthlySummaryReport */\n ResourceTopItemsMonthlySummaryData = \"ResourceTopItemsMonthlySummaryData\",\n /** The response data type for ResourceGroup's TopItemsMonthlySummaryReport */\n ResourceGroupTopItemsMonthlySummaryData = \"ResourceGroupTopItemsMonthlySummaryData\",\n /** The response data type for ItemDetailsReport */\n ItemDetailsData = \"ItemDetailsData\",\n /** The response data type for Resource's ItemDetailsReport */\n ResourceItemDetailsData = \"ResourceItemDetailsData\",\n /** The response data type for ResourceGroup's ItemDetailsReport */\n ResourceGroupItemDetailsData = \"ResourceGroupItemDetailsData\",\n}\n\n/**\n * The response data type of Carbon emission data \\\n * {@link KnownResponseDataTypeEnum} can be used interchangeably with ResponseDataTypeEnum,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **OverallSummaryData**: The response data type for OverallSummaryReport \\\n * **MonthlySummaryData**: The response data type for MonthlySummaryReport \\\n * **TopItemsSummaryData**: The response data type for TopItemsSummaryReport \\\n * **ResourceTopItemsSummaryData**: The response data type for Resource's TopItemsSummaryReport \\\n * **ResourceGroupTopItemsSummaryData**: The response data type for ResourceGroup's TopItemsSummaryReport \\\n * **TopItemsMonthlySummaryData**: The response data type for TopItemsMonthlySummaryReport \\\n * **ResourceTopItemsMonthlySummaryData**: The response data type for Resource's TopItemsMonthlySummaryReport \\\n * **ResourceGroupTopItemsMonthlySummaryData**: The response data type for ResourceGroup's TopItemsMonthlySummaryReport \\\n * **ItemDetailsData**: The response data type for ItemDetailsReport \\\n * **ResourceItemDetailsData**: The response data type for Resource's ItemDetailsReport \\\n * **ResourceGroupItemDetailsData**: The response data type for ResourceGroup's ItemDetailsReport\n */\nexport type ResponseDataTypeEnum = string;\n\n/** Response for Overall Carbon Emissions Summary */\nexport interface CarbonEmissionOverallSummaryData extends CarbonEmissionData {\n /** Overall summary data */\n dataType: \"OverallSummaryData\";\n}\n\nexport function carbonEmissionOverallSummaryDataDeserializer(\n item: any,\n): CarbonEmissionOverallSummaryData {\n return {\n dataType: item[\"dataType\"],\n latestMonthEmissions: item[\"latestMonthEmissions\"],\n previousMonthEmissions: item[\"previousMonthEmissions\"],\n monthOverMonthEmissionsChangeRatio: item[\"monthOverMonthEmissionsChangeRatio\"],\n monthlyEmissionsChangeValue: item[\"monthlyEmissionsChangeValue\"],\n };\n}\n\n/** Response for Monthly Carbon Emissions Summary */\nexport interface CarbonEmissionMonthlySummaryData extends CarbonEmissionData {\n /** Monthly summary data */\n dataType: \"MonthlySummaryData\";\n /** The date, representing the month, for which the emissions data is reported, formatted as yyyy-MM-dd (e.g., 2024-03-01) */\n date: string;\n /** Carbon intensity for the specified month, typically in units of kgCO2E per unit of normalized usage */\n carbonIntensity: number;\n}\n\nexport function carbonEmissionMonthlySummaryDataDeserializer(\n item: any,\n): CarbonEmissionMonthlySummaryData {\n return {\n dataType: item[\"dataType\"],\n latestMonthEmissions: item[\"latestMonthEmissions\"],\n previousMonthEmissions: item[\"previousMonthEmissions\"],\n monthOverMonthEmissionsChangeRatio: item[\"monthOverMonthEmissionsChangeRatio\"],\n monthlyEmissionsChangeValue: item[\"monthlyEmissionsChangeValue\"],\n date: item[\"date\"],\n carbonIntensity: item[\"carbonIntensity\"],\n };\n}\n\n/** Response for Top Items by Category Type */\nexport interface CarbonEmissionTopItemsSummaryData extends CarbonEmissionData {\n /** Top items summary data */\n dataType: \"TopItemsSummaryData\";\n /** The identifier of the item being reported on, which could refer to the resource name, resource type name, location, resource group name, or subscription ID, depending on the specified category type. */\n itemName: string;\n /** The category type of the item. This defines which dimension the emissions are aggregated by, and the supported values are defined in CategoryTypeEnum (e.g., Subscription, ResourceGroup, Resource, etc.). */\n categoryType: CategoryTypeEnum;\n}\n\nexport function carbonEmissionTopItemsSummaryDataDeserializer(\n item: any,\n): CarbonEmissionTopItemsSummaryData {\n return {\n dataType: item[\"dataType\"],\n latestMonthEmissions: item[\"latestMonthEmissions\"],\n previousMonthEmissions: item[\"previousMonthEmissions\"],\n monthOverMonthEmissionsChangeRatio: item[\"monthOverMonthEmissionsChangeRatio\"],\n monthlyEmissionsChangeValue: item[\"monthlyEmissionsChangeValue\"],\n itemName: item[\"itemName\"],\n categoryType: item[\"categoryType\"],\n };\n}\n\n/** Response for Top Items For Resource Category */\nexport interface ResourceCarbonEmissionTopItemsSummaryData extends CarbonEmissionData {\n /** Data for the top items carbon emissions summary report specific to resource category */\n dataType: \"ResourceTopItemsSummaryData\";\n /** The resource name of the resource for the Resource Category. */\n itemName: string;\n /** The category type of the item. This defines which dimension the emissions are aggregated by, and the supported values are defined in CategoryTypeEnum (e.g., Subscription, ResourceGroup, Resource, etc.). */\n categoryType: CategoryTypeEnum;\n /** Subscription Id */\n subscriptionId: string;\n /** Resource group name */\n resourceGroup: string;\n /** Resource Id, The URI of the resource for the Resource Category. This identifies the resource being reported. */\n resourceId: string;\n}\n\nexport function resourceCarbonEmissionTopItemsSummaryDataDeserializer(\n item: any,\n): ResourceCarbonEmissionTopItemsSummaryData {\n return {\n dataType: item[\"dataType\"],\n latestMonthEmissions: item[\"latestMonthEmissions\"],\n previousMonthEmissions: item[\"previousMonthEmissions\"],\n monthOverMonthEmissionsChangeRatio: item[\"monthOverMonthEmissionsChangeRatio\"],\n monthlyEmissionsChangeValue: item[\"monthlyEmissionsChangeValue\"],\n itemName: item[\"itemName\"],\n categoryType: item[\"categoryType\"],\n subscriptionId: item[\"subscriptionId\"],\n resourceGroup: item[\"resourceGroup\"],\n resourceId: item[\"resourceId\"],\n };\n}\n\n/** Response for Top Items For ResourceGroup */\nexport interface ResourceGroupCarbonEmissionTopItemsSummaryData extends CarbonEmissionData {\n /** Resource group top items summary data */\n dataType: \"ResourceGroupTopItemsSummaryData\";\n /** The resourceGroup name of the resource for ResourceGroup Category */\n itemName: string;\n /** ResourceGroup Item category */\n categoryType: CategoryTypeEnum;\n /** Subscription Id */\n subscriptionId: string;\n /** Resource Group url, value format is '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroup}' */\n resourceGroupUrl: string;\n}\n\nexport function resourceGroupCarbonEmissionTopItemsSummaryDataDeserializer(\n item: any,\n): ResourceGroupCarbonEmissionTopItemsSummaryData {\n return {\n dataType: item[\"dataType\"],\n latestMonthEmissions: item[\"latestMonthEmissions\"],\n previousMonthEmissions: item[\"previousMonthEmissions\"],\n monthOverMonthEmissionsChangeRatio: item[\"monthOverMonthEmissionsChangeRatio\"],\n monthlyEmissionsChangeValue: item[\"monthlyEmissionsChangeValue\"],\n itemName: item[\"itemName\"],\n categoryType: item[\"categoryType\"],\n subscriptionId: item[\"subscriptionId\"],\n resourceGroupUrl: item[\"resourceGroupUrl\"],\n };\n}\n\n/** Response for Top Items Carbon Emissions by Month */\nexport interface CarbonEmissionTopItemMonthlySummaryData extends CarbonEmissionData {\n /** Top items Monthly summary data */\n dataType: \"TopItemsMonthlySummaryData\";\n /** Item name, it can be resource name, resource type name, location, resource group name or subscriptionId. It depends on category type. */\n itemName: string;\n /** Item category, see supported type value defined in CategoryTypeEnum */\n categoryType: CategoryTypeEnum;\n /** The date, representing the month, for which the emissions data is reported, formatted as yyyy-MM-dd (e.g., 2024-03-01) */\n date: string;\n}\n\nexport function carbonEmissionTopItemMonthlySummaryDataDeserializer(\n item: any,\n): CarbonEmissionTopItemMonthlySummaryData {\n return {\n dataType: item[\"dataType\"],\n latestMonthEmissions: item[\"latestMonthEmissions\"],\n previousMonthEmissions: item[\"previousMonthEmissions\"],\n monthOverMonthEmissionsChangeRatio: item[\"monthOverMonthEmissionsChangeRatio\"],\n monthlyEmissionsChangeValue: item[\"monthlyEmissionsChangeValue\"],\n itemName: item[\"itemName\"],\n categoryType: item[\"categoryType\"],\n date: item[\"date\"],\n };\n}\n\n/** Response for top items carbon emissions by month for resource */\nexport interface ResourceCarbonEmissionTopItemMonthlySummaryData extends CarbonEmissionData {\n /** Resource top items Monthly summary data */\n dataType: \"ResourceTopItemsMonthlySummaryData\";\n /** The resource name of resource for Resource Category */\n itemName: string;\n /** Resource Item category */\n categoryType: CategoryTypeEnum;\n /** Monthly date string, format is yyyy-MM-dd */\n date: string;\n /** Subscription Id */\n subscriptionId: string;\n /** Resource Group */\n resourceGroup: string;\n /** The fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} */\n resourceId: string;\n}\n\nexport function resourceCarbonEmissionTopItemMonthlySummaryDataDeserializer(\n item: any,\n): ResourceCarbonEmissionTopItemMonthlySummaryData {\n return {\n dataType: item[\"dataType\"],\n latestMonthEmissions: item[\"latestMonthEmissions\"],\n previousMonthEmissions: item[\"previousMonthEmissions\"],\n monthOverMonthEmissionsChangeRatio: item[\"monthOverMonthEmissionsChangeRatio\"],\n monthlyEmissionsChangeValue: item[\"monthlyEmissionsChangeValue\"],\n itemName: item[\"itemName\"],\n categoryType: item[\"categoryType\"],\n date: item[\"date\"],\n subscriptionId: item[\"subscriptionId\"],\n resourceGroup: item[\"resourceGroup\"],\n resourceId: item[\"resourceId\"],\n };\n}\n\n/** Response for top items carbon emissions by month for resource group */\nexport interface ResourceGroupCarbonEmissionTopItemMonthlySummaryData extends CarbonEmissionData {\n /** Resource group top items Monthly summary data */\n dataType: \"ResourceGroupTopItemsMonthlySummaryData\";\n /** It's resource group name for ResourceGroup category */\n itemName: string;\n /** ResourceGroup Item category */\n categoryType: CategoryTypeEnum;\n /** Monthly date string, format is yyyy-MM-dd */\n date: string;\n /** Subscription Id */\n subscriptionId: string;\n /** Resource Group url, the format is '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroup}' */\n resourceGroupUrl: string;\n}\n\nexport function resourceGroupCarbonEmissionTopItemMonthlySummaryDataDeserializer(\n item: any,\n): ResourceGroupCarbonEmissionTopItemMonthlySummaryData {\n return {\n dataType: item[\"dataType\"],\n latestMonthEmissions: item[\"latestMonthEmissions\"],\n previousMonthEmissions: item[\"previousMonthEmissions\"],\n monthOverMonthEmissionsChangeRatio: item[\"monthOverMonthEmissionsChangeRatio\"],\n monthlyEmissionsChangeValue: item[\"monthlyEmissionsChangeValue\"],\n itemName: item[\"itemName\"],\n categoryType: item[\"categoryType\"],\n date: item[\"date\"],\n subscriptionId: item[\"subscriptionId\"],\n resourceGroupUrl: item[\"resourceGroupUrl\"],\n };\n}\n\n/** Response for detailed carbon emissions */\nexport interface CarbonEmissionItemDetailData extends CarbonEmissionData {\n /** Item details data */\n dataType: \"ItemDetailsData\";\n /** Item name, it can be resource name, resource type name, location, resource group name or subscriptionId. It depends on category type. */\n itemName: string;\n /** Item category, see supported type value defined in CategoryTypeEnum */\n categoryType: CategoryTypeEnum;\n}\n\nexport function carbonEmissionItemDetailDataDeserializer(item: any): CarbonEmissionItemDetailData {\n return {\n dataType: item[\"dataType\"],\n latestMonthEmissions: item[\"latestMonthEmissions\"],\n previousMonthEmissions: item[\"previousMonthEmissions\"],\n monthOverMonthEmissionsChangeRatio: item[\"monthOverMonthEmissionsChangeRatio\"],\n monthlyEmissionsChangeValue: item[\"monthlyEmissionsChangeValue\"],\n itemName: item[\"itemName\"],\n categoryType: item[\"categoryType\"],\n };\n}\n\n/** Response for Resource detailed carbon emissions */\nexport interface ResourceCarbonEmissionItemDetailData extends CarbonEmissionData {\n /** ResourceGroup's item details data */\n dataType: \"ResourceItemDetailsData\";\n /** It's resource name. */\n itemName: string;\n /** Resource Item category, see supported value defined in CategoryTypeEnum */\n categoryType: CategoryTypeEnum;\n /** Subscription Id */\n subscriptionId: string;\n /** Resource Group */\n resourceGroup: string;\n /** The fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} */\n resourceId: string;\n /** Resource Location (e.g., 'east us'). */\n location?: string;\n /** The type of resource, for example: microsoft.storage/storageaccounts */\n resourceType?: string;\n}\n\nexport function resourceCarbonEmissionItemDetailDataDeserializer(\n item: any,\n): ResourceCarbonEmissionItemDetailData {\n return {\n dataType: item[\"dataType\"],\n latestMonthEmissions: item[\"latestMonthEmissions\"],\n previousMonthEmissions: item[\"previousMonthEmissions\"],\n monthOverMonthEmissionsChangeRatio: item[\"monthOverMonthEmissionsChangeRatio\"],\n monthlyEmissionsChangeValue: item[\"monthlyEmissionsChangeValue\"],\n itemName: item[\"itemName\"],\n categoryType: item[\"categoryType\"],\n subscriptionId: item[\"subscriptionId\"],\n resourceGroup: item[\"resourceGroup\"],\n resourceId: item[\"resourceId\"],\n location: item[\"location\"],\n resourceType: item[\"resourceType\"],\n };\n}\n\n/** Response for Resource Group detailed carbon emissions */\nexport interface ResourceGroupCarbonEmissionItemDetailData extends CarbonEmissionData {\n /** ResourceGroup item details data */\n dataType: \"ResourceGroupItemDetailsData\";\n /** It's resource group name */\n itemName: string;\n /** ResourceGroup Item category */\n categoryType: CategoryTypeEnum;\n /** Subscription Id */\n subscriptionId: string;\n /** Resource Group url, value format is '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroup}' */\n resourceGroupUrl: string;\n}\n\nexport function resourceGroupCarbonEmissionItemDetailDataDeserializer(\n item: any,\n): ResourceGroupCarbonEmissionItemDetailData {\n return {\n dataType: item[\"dataType\"],\n latestMonthEmissions: item[\"latestMonthEmissions\"],\n previousMonthEmissions: item[\"previousMonthEmissions\"],\n monthOverMonthEmissionsChangeRatio: item[\"monthOverMonthEmissionsChangeRatio\"],\n monthlyEmissionsChangeValue: item[\"monthlyEmissionsChangeValue\"],\n itemName: item[\"itemName\"],\n categoryType: item[\"categoryType\"],\n subscriptionId: item[\"subscriptionId\"],\n resourceGroupUrl: item[\"resourceGroupUrl\"],\n };\n}\n\nexport function subscriptionAccessDecisionArrayDeserializer(\n result: Array<SubscriptionAccessDecision>,\n): any[] {\n return result.map((item) => {\n return subscriptionAccessDecisionDeserializer(item);\n });\n}\n\n/** Access Decision for each Subscription */\nexport interface SubscriptionAccessDecision {\n /** Id of Subscription */\n subscriptionId: string;\n /** Access decision to subscription */\n decision: AccessDecisionEnum;\n /** The reason why access request got denied */\n denialReason?: string;\n}\n\nexport function subscriptionAccessDecisionDeserializer(item: any): SubscriptionAccessDecision {\n return {\n subscriptionId: item[\"subscriptionId\"],\n decision: item[\"decision\"],\n denialReason: item[\"denialReason\"],\n };\n}\n\n/** Enum for Access Decision */\nexport enum KnownAccessDecisionEnum {\n /** Access allowed */\n Allowed = \"Allowed\",\n /** Access denied */\n Denied = \"Denied\",\n}\n\n/**\n * Enum for Access Decision \\\n * {@link KnownAccessDecisionEnum} can be used interchangeably with AccessDecisionEnum,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Allowed**: Access allowed \\\n * **Denied**: Access denied\n */\nexport type AccessDecisionEnum = string;\n\n/** Response for available date range of carbon emission data */\nexport interface CarbonEmissionDataAvailableDateRange {\n /** Start date parameter, format is yyyy-MM-dd */\n startDate: string;\n /** End date parameter, format is yyyy-MM-dd */\n endDate: string;\n}\n\nexport function carbonEmissionDataAvailableDateRangeDeserializer(\n item: any,\n): CarbonEmissionDataAvailableDateRange {\n return {\n startDate: item[\"startDate\"],\n endDate: item[\"endDate\"],\n };\n}\n\n/** The available API versions. */\nexport enum KnownVersions {\n /** The 2025-04-01 API version. */\n V20250401 = \"2025-04-01\",\n}\n"]}
1
+ {"version":3,"file":"models.js","sourceRoot":"","sources":["../../../src/models/models.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/** A list of REST API operations supported by an Azure Resource Provider. It contains an URL link to get the next set of results. */\nexport interface _OperationListResult {\n /** The Operation items on this page */\n value: Operation[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _operationListResultDeserializer(item: any): _OperationListResult {\n return {\n value: operationArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function operationArrayDeserializer(result: Array<Operation>): any[] {\n return result.map((item) => {\n return operationDeserializer(item);\n });\n}\n\n/** Details of a REST API operation, returned from the Resource Provider Operations API */\nexport interface Operation {\n /** The name of the operation, as per Resource-Based Access Control (RBAC). Examples: \"Microsoft.Compute/virtualMachines/write\", \"Microsoft.Compute/virtualMachines/capture/action\" */\n readonly name?: string;\n /** Whether the operation applies to data-plane. This is \"true\" for data-plane operations and \"false\" for Azure Resource Manager/control-plane operations. */\n readonly isDataAction?: boolean;\n /** Localized display information for this particular operation. */\n display?: OperationDisplay;\n /** The intended executor of the operation; as in Resource Based Access Control (RBAC) and audit logs UX. Default value is \"user,system\" */\n readonly origin?: Origin;\n /** Extensible enum. Indicates the action type. \"Internal\" refers to actions that are for internal only APIs. */\n readonly actionType?: ActionType;\n}\n\nexport function operationDeserializer(item: any): Operation {\n return {\n name: item[\"name\"],\n isDataAction: item[\"isDataAction\"],\n display: !item[\"display\"] ? item[\"display\"] : operationDisplayDeserializer(item[\"display\"]),\n origin: item[\"origin\"],\n actionType: item[\"actionType\"],\n };\n}\n\n/** Localized display information for and operation. */\nexport interface OperationDisplay {\n /** The localized friendly form of the resource provider name, e.g. \"Microsoft Monitoring Insights\" or \"Microsoft Compute\". */\n readonly provider?: string;\n /** The localized friendly name of the resource type related to this operation. E.g. \"Virtual Machines\" or \"Job Schedule Collections\". */\n readonly resource?: string;\n /** The concise, localized friendly name for the operation; suitable for dropdowns. E.g. \"Create or Update Virtual Machine\", \"Restart Virtual Machine\". */\n readonly operation?: string;\n /** The short, localized friendly description of the operation; suitable for tool tips and detailed views. */\n readonly description?: string;\n}\n\nexport function operationDisplayDeserializer(item: any): OperationDisplay {\n return {\n provider: item[\"provider\"],\n resource: item[\"resource\"],\n operation: item[\"operation\"],\n description: item[\"description\"],\n };\n}\n\n/** The intended executor of the operation; as in Resource Based Access Control (RBAC) and audit logs UX. Default value is \"user,system\" */\nexport enum KnownOrigin {\n /** Indicates the operation is initiated by a user. */\n User = \"user\",\n /** Indicates the operation is initiated by a system. */\n System = \"system\",\n /** Indicates the operation is initiated by a user or system. */\n UserSystem = \"user,system\",\n}\n\n/**\n * The intended executor of the operation; as in Resource Based Access Control (RBAC) and audit logs UX. Default value is \"user,system\" \\\n * {@link KnownOrigin} can be used interchangeably with Origin,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **user**: Indicates the operation is initiated by a user. \\\n * **system**: Indicates the operation is initiated by a system. \\\n * **user,system**: Indicates the operation is initiated by a user or system.\n */\nexport type Origin = string;\n\n/** Extensible enum. Indicates the action type. \"Internal\" refers to actions that are for internal only APIs. */\nexport enum KnownActionType {\n /** Actions are for internal-only APIs. */\n Internal = \"Internal\",\n}\n\n/**\n * Extensible enum. Indicates the action type. \"Internal\" refers to actions that are for internal only APIs. \\\n * {@link KnownActionType} can be used interchangeably with ActionType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Internal**: Actions are for internal-only APIs.\n */\nexport type ActionType = string;\n\n/** Common error response for all Azure Resource Manager APIs to return error details for failed operations. */\nexport interface ErrorResponse {\n /** The error object. */\n error?: ErrorDetail;\n}\n\nexport function errorResponseDeserializer(item: any): ErrorResponse {\n return {\n error: !item[\"error\"] ? item[\"error\"] : errorDetailDeserializer(item[\"error\"]),\n };\n}\n\n/** The error detail. */\nexport interface ErrorDetail {\n /** The error code. */\n readonly code?: string;\n /** The error message. */\n readonly message?: string;\n /** The error target. */\n readonly target?: string;\n /** The error details. */\n readonly details?: ErrorDetail[];\n /** The error additional info. */\n readonly additionalInfo?: ErrorAdditionalInfo[];\n}\n\nexport function errorDetailDeserializer(item: any): ErrorDetail {\n return {\n code: item[\"code\"],\n message: item[\"message\"],\n target: item[\"target\"],\n details: !item[\"details\"] ? item[\"details\"] : errorDetailArrayDeserializer(item[\"details\"]),\n additionalInfo: !item[\"additionalInfo\"]\n ? item[\"additionalInfo\"]\n : errorAdditionalInfoArrayDeserializer(item[\"additionalInfo\"]),\n };\n}\n\nexport function errorDetailArrayDeserializer(result: Array<ErrorDetail>): any[] {\n return result.map((item) => {\n return errorDetailDeserializer(item);\n });\n}\n\nexport function errorAdditionalInfoArrayDeserializer(result: Array<ErrorAdditionalInfo>): any[] {\n return result.map((item) => {\n return errorAdditionalInfoDeserializer(item);\n });\n}\n\n/** The resource management error additional info. */\nexport interface ErrorAdditionalInfo {\n /** The additional info type. */\n readonly type?: string;\n /** The additional info. */\n readonly info?: any;\n}\n\nexport function errorAdditionalInfoDeserializer(item: any): ErrorAdditionalInfo {\n return {\n type: item[\"type\"],\n info: item[\"info\"],\n };\n}\n\n/** Shared query filter parameter to configure carbon emissions data queries for all different report type defined in ReportTypeEnum. */\nexport interface QueryFilter {\n /** The ReportType requested for carbon emissions data. Required. Specifies how data is aggregated and displayed in the output, as explained in the ReportTypeEnum. */\n /** The discriminator possible values: OverallSummaryReport, MonthlySummaryReport, TopItemsSummaryReport, TopItemsMonthlySummaryReport, ItemDetailsReport */\n reportType: ReportTypeEnum;\n /** The start and end dates for carbon emissions data. Required. For ItemDetailsReport and TopItemsSummaryReport, only one month of data is supported at a time, so start and end dates should be equal within DateRange (e.g., start: 2024-06-01 and end: 2024-06-01). */\n dateRange: DateRange;\n /** List of subscription IDs for which carbon emissions data is requested. Required. Each subscription ID should be in lowercase format. The max length of list is 100. */\n subscriptionList: string[];\n /** List of resource group URLs for carbon emissions data. Optional. Each URL must follow the format '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroup}', and should be in all lowercase. */\n resourceGroupUrlList?: string[];\n /** List of resource types for carbon emissions data. Optional. Each resource type should be specified in lowercase, following the format 'microsoft.{service}/{resourceType}', e.g., 'microsoft.storage/storageaccounts'. */\n resourceTypeList?: string[];\n /** List of locations(Azure Region Display Name) for carbon emissions data, with each location specified in lowercase (e.g., 'east us'). Optional. You can use the command 'az account list-locations -o table' to find Azure Region Display Names. */\n locationList?: string[];\n /** List of carbon emission scopes. Required. Accepts one or more values from EmissionScopeEnum (e.g., Scope1, Scope2, Scope3) in list form. The output will include the total emissions for the specified scopes. */\n carbonScopeList: EmissionScopeEnum[];\n}\n\nexport function queryFilterSerializer(item: QueryFilter): any {\n return {\n reportType: item[\"reportType\"],\n dateRange: dateRangeSerializer(item[\"dateRange\"]),\n subscriptionList: item[\"subscriptionList\"].map((p: any) => {\n return p;\n }),\n resourceGroupUrlList: !item[\"resourceGroupUrlList\"]\n ? item[\"resourceGroupUrlList\"]\n : item[\"resourceGroupUrlList\"].map((p: any) => {\n return p;\n }),\n resourceTypeList: !item[\"resourceTypeList\"]\n ? item[\"resourceTypeList\"]\n : item[\"resourceTypeList\"].map((p: any) => {\n return p;\n }),\n locationList: !item[\"locationList\"]\n ? item[\"locationList\"]\n : item[\"locationList\"].map((p: any) => {\n return p;\n }),\n carbonScopeList: item[\"carbonScopeList\"].map((p: any) => {\n return p;\n }),\n };\n}\n\n/** Alias for QueryFilterUnion */\nexport type QueryFilterUnion =\n | OverallSummaryReportQueryFilter\n | MonthlySummaryReportQueryFilter\n | TopItemsSummaryReportQueryFilter\n | TopItemsMonthlySummaryReportQueryFilter\n | ItemDetailsQueryFilter\n | QueryFilter;\n\nexport function queryFilterUnionSerializer(item: QueryFilterUnion): any {\n switch (item.reportType) {\n case \"OverallSummaryReport\":\n return overallSummaryReportQueryFilterSerializer(item as OverallSummaryReportQueryFilter);\n\n case \"MonthlySummaryReport\":\n return monthlySummaryReportQueryFilterSerializer(item as MonthlySummaryReportQueryFilter);\n\n case \"TopItemsSummaryReport\":\n return topItemsSummaryReportQueryFilterSerializer(item as TopItemsSummaryReportQueryFilter);\n\n case \"TopItemsMonthlySummaryReport\":\n return topItemsMonthlySummaryReportQueryFilterSerializer(\n item as TopItemsMonthlySummaryReportQueryFilter,\n );\n\n case \"ItemDetailsReport\":\n return itemDetailsQueryFilterSerializer(item as ItemDetailsQueryFilter);\n\n default:\n return queryFilterSerializer(item);\n }\n}\n\n/** Enum for Report Type, specifying different report formats for carbon emissions data. Each report type returns different aggregations of carbon emissions across various categories, date range, emissions scope, and other parameters. */\nexport enum KnownReportTypeEnum {\n /** Overall summary report provides total carbon emissions for the specified date range and query parameters, as well as comparative values for a high-level overview. This report type can accept different values in the start and end fields within DateRange (e.g., start: 2024-03-01 and end: 2024-06-01). */\n OverallSummaryReport = \"OverallSummaryReport\",\n /** MonthlySummaryReport provides carbon emissions data by month for the specified query parameters. This report type can accept different values in the start and end fields within DateRange (e.g., start: 2024-03-01 and end: 2024-06-01). */\n MonthlySummaryReport = \"MonthlySummaryReport\",\n /** TopItemsSummaryReport provides the N highest-emitting items for the specified query filters. This report returns data for a single month at a time, so it requires the same values for the start and end fields within DateRange. A maximum of N=10 items can be returned at a time. */\n TopItemsSummaryReport = \"TopItemsSummaryReport\",\n /** TopItemsMonthlyReport provides the N highest-emitting items by month for the specified query filter. Returns emissions data for the top N items by month within the given date range. A maximum of N=10 items can be returned at a time. */\n TopItemsMonthlySummaryReport = \"TopItemsMonthlySummaryReport\",\n /** ItemDetailsReport provides a granular list of items based on the specified CategoryType (e.g., Resource, ResourceGroup, ResourceType, Location, or Subscription) for the query filter. This report can be queried for only one month at a time, requiring the same values in the start and end fields within DateRange. */\n ItemDetailsReport = \"ItemDetailsReport\",\n}\n\n/**\n * Enum for Report Type, specifying different report formats for carbon emissions data. Each report type returns different aggregations of carbon emissions across various categories, date range, emissions scope, and other parameters. \\\n * {@link KnownReportTypeEnum} can be used interchangeably with ReportTypeEnum,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **OverallSummaryReport**: Overall summary report provides total carbon emissions for the specified date range and query parameters, as well as comparative values for a high-level overview. This report type can accept different values in the start and end fields within DateRange (e.g., start: 2024-03-01 and end: 2024-06-01). \\\n * **MonthlySummaryReport**: MonthlySummaryReport provides carbon emissions data by month for the specified query parameters. This report type can accept different values in the start and end fields within DateRange (e.g., start: 2024-03-01 and end: 2024-06-01). \\\n * **TopItemsSummaryReport**: TopItemsSummaryReport provides the N highest-emitting items for the specified query filters. This report returns data for a single month at a time, so it requires the same values for the start and end fields within DateRange. A maximum of N=10 items can be returned at a time. \\\n * **TopItemsMonthlySummaryReport**: TopItemsMonthlyReport provides the N highest-emitting items by month for the specified query filter. Returns emissions data for the top N items by month within the given date range. A maximum of N=10 items can be returned at a time. \\\n * **ItemDetailsReport**: ItemDetailsReport provides a granular list of items based on the specified CategoryType (e.g., Resource, ResourceGroup, ResourceType, Location, or Subscription) for the query filter. This report can be queried for only one month at a time, requiring the same values in the start and end fields within DateRange.\n */\nexport type ReportTypeEnum = string;\n\n/** Date range to be used with QueryParameter, it should be within 12 months between start and end date. In certain cases, start and end dates must be the same date. */\nexport interface DateRange {\n /** Start date parameter in yyyy-MM-01 format. Only the first day of each month is accepted. */\n start: string;\n /** End date parameter in yyyy-MM-01 format. Only the first day of each month is accepted. */\n end: string;\n}\n\nexport function dateRangeSerializer(item: DateRange): any {\n return { start: item[\"start\"], end: item[\"end\"] };\n}\n\n/** Supported carbon emission scopes to be used with QueryParameter, as defined by the GHG Protocol. At least one scope must be specified. The output will return a total of all specified scopes. */\nexport enum KnownEmissionScopeEnum {\n /** Scope1 carbon emission */\n Scope1 = \"Scope1\",\n /** Scope2 carbon emission */\n Scope2 = \"Scope2\",\n /** Scope3 carbon emission */\n Scope3 = \"Scope3\",\n}\n\n/**\n * Supported carbon emission scopes to be used with QueryParameter, as defined by the GHG Protocol. At least one scope must be specified. The output will return a total of all specified scopes. \\\n * {@link KnownEmissionScopeEnum} can be used interchangeably with EmissionScopeEnum,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Scope1**: Scope1 carbon emission \\\n * **Scope2**: Scope2 carbon emission \\\n * **Scope3**: Scope3 carbon emission\n */\nexport type EmissionScopeEnum = string;\n\n/** Query filter parameter to configure OverallSummaryReport queries. */\nexport interface OverallSummaryReportQueryFilter extends QueryFilter {\n /** Specifies that the report type is a overall summary report for carbon emissions data. */\n reportType: \"OverallSummaryReport\";\n}\n\nexport function overallSummaryReportQueryFilterSerializer(\n item: OverallSummaryReportQueryFilter,\n): any {\n return {\n reportType: item[\"reportType\"],\n dateRange: dateRangeSerializer(item[\"dateRange\"]),\n subscriptionList: item[\"subscriptionList\"].map((p: any) => {\n return p;\n }),\n resourceGroupUrlList: !item[\"resourceGroupUrlList\"]\n ? item[\"resourceGroupUrlList\"]\n : item[\"resourceGroupUrlList\"].map((p: any) => {\n return p;\n }),\n resourceTypeList: !item[\"resourceTypeList\"]\n ? item[\"resourceTypeList\"]\n : item[\"resourceTypeList\"].map((p: any) => {\n return p;\n }),\n locationList: !item[\"locationList\"]\n ? item[\"locationList\"]\n : item[\"locationList\"].map((p: any) => {\n return p;\n }),\n carbonScopeList: item[\"carbonScopeList\"].map((p: any) => {\n return p;\n }),\n };\n}\n\n/** Query filter parameter to configure MonthlySummaryReport queries. */\nexport interface MonthlySummaryReportQueryFilter extends QueryFilter {\n /** Specifies that the report type is a monthly summary report for carbon emissions data. */\n reportType: \"MonthlySummaryReport\";\n}\n\nexport function monthlySummaryReportQueryFilterSerializer(\n item: MonthlySummaryReportQueryFilter,\n): any {\n return {\n reportType: item[\"reportType\"],\n dateRange: dateRangeSerializer(item[\"dateRange\"]),\n subscriptionList: item[\"subscriptionList\"].map((p: any) => {\n return p;\n }),\n resourceGroupUrlList: !item[\"resourceGroupUrlList\"]\n ? item[\"resourceGroupUrlList\"]\n : item[\"resourceGroupUrlList\"].map((p: any) => {\n return p;\n }),\n resourceTypeList: !item[\"resourceTypeList\"]\n ? item[\"resourceTypeList\"]\n : item[\"resourceTypeList\"].map((p: any) => {\n return p;\n }),\n locationList: !item[\"locationList\"]\n ? item[\"locationList\"]\n : item[\"locationList\"].map((p: any) => {\n return p;\n }),\n carbonScopeList: item[\"carbonScopeList\"].map((p: any) => {\n return p;\n }),\n };\n}\n\n/** Query filter parameter to configure TopItemsSummaryReport queries. */\nexport interface TopItemsSummaryReportQueryFilter extends QueryFilter {\n /** Specifies that the report type is a top items summary report for carbon emissions data, aggregated by category type. */\n reportType: \"TopItemsSummaryReport\";\n /** Specifies the category type for which to retrieve top-emitting items. See supported values defined in CategoryTypeEnum. */\n categoryType: CategoryTypeEnum;\n /** The number of top items to return, based on emissions. This value must be between 1 and 10. */\n topItems: number;\n}\n\nexport function topItemsSummaryReportQueryFilterSerializer(\n item: TopItemsSummaryReportQueryFilter,\n): any {\n return {\n reportType: item[\"reportType\"],\n dateRange: dateRangeSerializer(item[\"dateRange\"]),\n subscriptionList: item[\"subscriptionList\"].map((p: any) => {\n return p;\n }),\n resourceGroupUrlList: !item[\"resourceGroupUrlList\"]\n ? item[\"resourceGroupUrlList\"]\n : item[\"resourceGroupUrlList\"].map((p: any) => {\n return p;\n }),\n resourceTypeList: !item[\"resourceTypeList\"]\n ? item[\"resourceTypeList\"]\n : item[\"resourceTypeList\"].map((p: any) => {\n return p;\n }),\n locationList: !item[\"locationList\"]\n ? item[\"locationList\"]\n : item[\"locationList\"].map((p: any) => {\n return p;\n }),\n carbonScopeList: item[\"carbonScopeList\"].map((p: any) => {\n return p;\n }),\n categoryType: item[\"categoryType\"],\n topItems: item[\"topItems\"],\n };\n}\n\n/** Supported category types to be used with QueryParameter. Each type represents a different level of emissions data aggregation. */\nexport enum KnownCategoryTypeEnum {\n /** Emissions aggregated at the subscription level. */\n Subscription = \"Subscription\",\n /** Emissions aggregated at the resource group level. */\n ResourceGroup = \"ResourceGroup\",\n /** Emissions aggregated at the location level. */\n Location = \"Location\",\n /** Emissions aggregated at the resource level. */\n Resource = \"Resource\",\n /** Emissions aggregated at the resource type level. */\n ResourceType = \"ResourceType\",\n}\n\n/**\n * Supported category types to be used with QueryParameter. Each type represents a different level of emissions data aggregation. \\\n * {@link KnownCategoryTypeEnum} can be used interchangeably with CategoryTypeEnum,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Subscription**: Emissions aggregated at the subscription level. \\\n * **ResourceGroup**: Emissions aggregated at the resource group level. \\\n * **Location**: Emissions aggregated at the location level. \\\n * **Resource**: Emissions aggregated at the resource level. \\\n * **ResourceType**: Emissions aggregated at the resource type level.\n */\nexport type CategoryTypeEnum = string;\n\n/** Query filter parameter to configure TopItemsMonthlySummaryReport queries. */\nexport interface TopItemsMonthlySummaryReportQueryFilter extends QueryFilter {\n /** Specifies that the report type is a top items monthly summary report for carbon emissions data. */\n reportType: \"TopItemsMonthlySummaryReport\";\n /** Specifies the category type to retrieve top-emitting items, aggregated by month. See supported types in CategoryTypeEnum. */\n categoryType: CategoryTypeEnum;\n /** The number of top items to return, based on emissions. Must be between 1 and 10. */\n topItems: number;\n}\n\nexport function topItemsMonthlySummaryReportQueryFilterSerializer(\n item: TopItemsMonthlySummaryReportQueryFilter,\n): any {\n return {\n reportType: item[\"reportType\"],\n dateRange: dateRangeSerializer(item[\"dateRange\"]),\n subscriptionList: item[\"subscriptionList\"].map((p: any) => {\n return p;\n }),\n resourceGroupUrlList: !item[\"resourceGroupUrlList\"]\n ? item[\"resourceGroupUrlList\"]\n : item[\"resourceGroupUrlList\"].map((p: any) => {\n return p;\n }),\n resourceTypeList: !item[\"resourceTypeList\"]\n ? item[\"resourceTypeList\"]\n : item[\"resourceTypeList\"].map((p: any) => {\n return p;\n }),\n locationList: !item[\"locationList\"]\n ? item[\"locationList\"]\n : item[\"locationList\"].map((p: any) => {\n return p;\n }),\n carbonScopeList: item[\"carbonScopeList\"].map((p: any) => {\n return p;\n }),\n categoryType: item[\"categoryType\"],\n topItems: item[\"topItems\"],\n };\n}\n\n/** Query Parameters for ItemDetailsReport */\nexport interface ItemDetailsQueryFilter extends QueryFilter {\n /** Specifies that the report type is an item details report for granular carbon emissions data. This is a paginated report. */\n reportType: \"ItemDetailsReport\";\n /** Specifies the category type for detailed emissions data, such as Resource, ResourceGroup, ResourceType, Location, or Subscription. See supported types in CategoryTypeEnum. */\n categoryType: CategoryTypeEnum;\n /** The column name to order the results by. See supported values in OrderByColumnEnum. */\n orderBy: OrderByColumnEnum;\n /** Direction for sorting results. See supported values in SortDirectionEnum. */\n sortDirection: SortDirectionEnum;\n /** Number of items to return in one request, max value is 5000. */\n pageSize: number;\n /** Pagination token for fetching the next page of data. This token is nullable and will be returned in the previous response if additional data pages are available. */\n skipToken?: string;\n}\n\nexport function itemDetailsQueryFilterSerializer(item: ItemDetailsQueryFilter): any {\n return {\n reportType: item[\"reportType\"],\n dateRange: dateRangeSerializer(item[\"dateRange\"]),\n subscriptionList: item[\"subscriptionList\"].map((p: any) => {\n return p;\n }),\n resourceGroupUrlList: !item[\"resourceGroupUrlList\"]\n ? item[\"resourceGroupUrlList\"]\n : item[\"resourceGroupUrlList\"].map((p: any) => {\n return p;\n }),\n resourceTypeList: !item[\"resourceTypeList\"]\n ? item[\"resourceTypeList\"]\n : item[\"resourceTypeList\"].map((p: any) => {\n return p;\n }),\n locationList: !item[\"locationList\"]\n ? item[\"locationList\"]\n : item[\"locationList\"].map((p: any) => {\n return p;\n }),\n carbonScopeList: item[\"carbonScopeList\"].map((p: any) => {\n return p;\n }),\n categoryType: item[\"categoryType\"],\n orderBy: item[\"orderBy\"],\n sortDirection: item[\"sortDirection\"],\n pageSize: item[\"pageSize\"],\n skipToken: item[\"skipToken\"],\n };\n}\n\n/** Sorting is supported for columns in ItemDetailsReport. This object includes the column names that sorting is allowed for. Select one of these supported values */\nexport enum KnownOrderByColumnEnum {\n /** The itemName filed in ItemDetailsReport result, see CarbonEmissionItemDetailData for more information. */\n ItemName = \"ItemName\",\n /** The latestMonthEmissions filed in ItemDetailsReport result, see CarbonEmissionItemDetailData for more information. */\n LatestMonthEmissions = \"LatestMonthEmissions\",\n /** The previousMonthEmissions filed in ItemDetailsReport result, see CarbonEmissionItemDetailData for more information. */\n PreviousMonthEmissions = \"PreviousMonthEmissions\",\n /** The monthOverMonthEmissionsChangeRatio filed in ItemDetailsReport result, see CarbonEmissionItemDetailData for more information. */\n MonthOverMonthEmissionsChangeRatio = \"MonthOverMonthEmissionsChangeRatio\",\n /** The monthlyEmissionsChangeValue filed in ItemDetailsReport result, see CarbonEmissionItemDetailData for more information. */\n MonthlyEmissionsChangeValue = \"MonthlyEmissionsChangeValue\",\n /** The resourceGroup filed in ResourceCarbonEmissionItemDetailData result, see ResourceCarbonEmissionItemDetailData for more information. */\n ResourceGroup = \"ResourceGroup\",\n}\n\n/**\n * Sorting is supported for columns in ItemDetailsReport. This object includes the column names that sorting is allowed for. Select one of these supported values \\\n * {@link KnownOrderByColumnEnum} can be used interchangeably with OrderByColumnEnum,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **ItemName**: The itemName filed in ItemDetailsReport result, see CarbonEmissionItemDetailData for more information. \\\n * **LatestMonthEmissions**: The latestMonthEmissions filed in ItemDetailsReport result, see CarbonEmissionItemDetailData for more information. \\\n * **PreviousMonthEmissions**: The previousMonthEmissions filed in ItemDetailsReport result, see CarbonEmissionItemDetailData for more information. \\\n * **MonthOverMonthEmissionsChangeRatio**: The monthOverMonthEmissionsChangeRatio filed in ItemDetailsReport result, see CarbonEmissionItemDetailData for more information. \\\n * **MonthlyEmissionsChangeValue**: The monthlyEmissionsChangeValue filed in ItemDetailsReport result, see CarbonEmissionItemDetailData for more information. \\\n * **ResourceGroup**: The resourceGroup filed in ResourceCarbonEmissionItemDetailData result, see ResourceCarbonEmissionItemDetailData for more information.\n */\nexport type OrderByColumnEnum = string;\n\n/** Sorting is supported for columns in ItemDetailsReport. This object define sorting direction. */\nexport enum KnownSortDirectionEnum {\n /** Descending order for query result. */\n Desc = \"Desc\",\n /** Ascending order for query result. */\n Asc = \"Asc\",\n}\n\n/**\n * Sorting is supported for columns in ItemDetailsReport. This object define sorting direction. \\\n * {@link KnownSortDirectionEnum} can be used interchangeably with SortDirectionEnum,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Desc**: Descending order for query result. \\\n * **Asc**: Ascending order for query result.\n */\nexport type SortDirectionEnum = string;\n\n/** List of carbon emission results */\nexport interface CarbonEmissionDataListResult {\n /** The CarbonEmissionData items on this page */\n value: CarbonEmissionDataUnion[];\n /** The pagination token to fetch next page data, it's null or empty if it doesn't have next page data */\n skipToken?: string;\n /** The access decision list for each input subscription */\n subscriptionAccessDecisionList?: SubscriptionAccessDecision[];\n}\n\nexport function carbonEmissionDataListResultDeserializer(item: any): CarbonEmissionDataListResult {\n return {\n value: carbonEmissionDataUnionArrayDeserializer(item[\"value\"]),\n skipToken: item[\"skipToken\"],\n subscriptionAccessDecisionList: !item[\"subscriptionAccessDecisionList\"]\n ? item[\"subscriptionAccessDecisionList\"]\n : subscriptionAccessDecisionArrayDeserializer(item[\"subscriptionAccessDecisionList\"]),\n };\n}\n\nexport function carbonEmissionDataUnionArrayDeserializer(\n result: Array<CarbonEmissionDataUnion>,\n): any[] {\n return result.map((item) => {\n return carbonEmissionDataUnionDeserializer(item);\n });\n}\n\n/** The basic response for different query report, all query report result will have these information */\nexport interface CarbonEmissionData {\n /** The data type of the query result, indicating the format of the returned response. */\n /** The discriminator possible values: OverallSummaryData, MonthlySummaryData, TopItemsSummaryData, ResourceTopItemsSummaryData, ResourceGroupTopItemsSummaryData, TopItemsMonthlySummaryData, ResourceTopItemsMonthlySummaryData, ResourceGroupTopItemsMonthlySummaryData, ItemDetailsData, ResourceItemDetailsData, ResourceGroupItemDetailsData */\n dataType: ResponseDataTypeEnum;\n /** Total carbon emissions for the specified query parameters, measured in kgCO2E. This value represents total emissions over the specified date range (e.g., March-June). */\n latestMonthEmissions: number;\n /** Total carbon emissions for the previous month’s date range, which is the same period as the specified date range but shifted left by one month (e.g., if the specified range is March - June, the previous month’s range will be Feb - May). The value is measured in kgCO2E. */\n previousMonthEmissions: number;\n /** The percentage change in carbon emissions between the current and previous DateRange. This is calculated as: (latestMonthEmissions - previousMonthEmissions) / previousMonthEmissions. */\n monthOverMonthEmissionsChangeRatio?: number;\n /** The change in carbon emissions between the current and previous period, calculated as: latestMonthEmissions - previousMonthEmissions. */\n monthlyEmissionsChangeValue?: number;\n}\n\nexport function carbonEmissionDataDeserializer(item: any): CarbonEmissionData {\n return {\n dataType: item[\"dataType\"],\n latestMonthEmissions: item[\"latestMonthEmissions\"],\n previousMonthEmissions: item[\"previousMonthEmissions\"],\n monthOverMonthEmissionsChangeRatio: item[\"monthOverMonthEmissionsChangeRatio\"],\n monthlyEmissionsChangeValue: item[\"monthlyEmissionsChangeValue\"],\n };\n}\n\n/** Alias for CarbonEmissionDataUnion */\nexport type CarbonEmissionDataUnion =\n | CarbonEmissionOverallSummaryData\n | CarbonEmissionMonthlySummaryData\n | CarbonEmissionTopItemsSummaryData\n | ResourceCarbonEmissionTopItemsSummaryData\n | ResourceGroupCarbonEmissionTopItemsSummaryData\n | CarbonEmissionTopItemMonthlySummaryData\n | ResourceCarbonEmissionTopItemMonthlySummaryData\n | ResourceGroupCarbonEmissionTopItemMonthlySummaryData\n | CarbonEmissionItemDetailData\n | ResourceCarbonEmissionItemDetailData\n | ResourceGroupCarbonEmissionItemDetailData\n | CarbonEmissionData;\n\nexport function carbonEmissionDataUnionDeserializer(item: any): CarbonEmissionDataUnion {\n switch (item.dataType) {\n case \"OverallSummaryData\":\n return carbonEmissionOverallSummaryDataDeserializer(item as CarbonEmissionOverallSummaryData);\n\n case \"MonthlySummaryData\":\n return carbonEmissionMonthlySummaryDataDeserializer(item as CarbonEmissionMonthlySummaryData);\n\n case \"TopItemsSummaryData\":\n return carbonEmissionTopItemsSummaryDataDeserializer(\n item as CarbonEmissionTopItemsSummaryData,\n );\n\n case \"ResourceTopItemsSummaryData\":\n return resourceCarbonEmissionTopItemsSummaryDataDeserializer(\n item as ResourceCarbonEmissionTopItemsSummaryData,\n );\n\n case \"ResourceGroupTopItemsSummaryData\":\n return resourceGroupCarbonEmissionTopItemsSummaryDataDeserializer(\n item as ResourceGroupCarbonEmissionTopItemsSummaryData,\n );\n\n case \"TopItemsMonthlySummaryData\":\n return carbonEmissionTopItemMonthlySummaryDataDeserializer(\n item as CarbonEmissionTopItemMonthlySummaryData,\n );\n\n case \"ResourceTopItemsMonthlySummaryData\":\n return resourceCarbonEmissionTopItemMonthlySummaryDataDeserializer(\n item as ResourceCarbonEmissionTopItemMonthlySummaryData,\n );\n\n case \"ResourceGroupTopItemsMonthlySummaryData\":\n return resourceGroupCarbonEmissionTopItemMonthlySummaryDataDeserializer(\n item as ResourceGroupCarbonEmissionTopItemMonthlySummaryData,\n );\n\n case \"ItemDetailsData\":\n return carbonEmissionItemDetailDataDeserializer(item as CarbonEmissionItemDetailData);\n\n case \"ResourceItemDetailsData\":\n return resourceCarbonEmissionItemDetailDataDeserializer(\n item as ResourceCarbonEmissionItemDetailData,\n );\n\n case \"ResourceGroupItemDetailsData\":\n return resourceGroupCarbonEmissionItemDetailDataDeserializer(\n item as ResourceGroupCarbonEmissionItemDetailData,\n );\n\n default:\n return carbonEmissionDataDeserializer(item);\n }\n}\n\n/** The response data type of Carbon emission data */\nexport enum KnownResponseDataTypeEnum {\n /** The response data type for OverallSummaryReport */\n OverallSummaryData = \"OverallSummaryData\",\n /** The response data type for MonthlySummaryReport */\n MonthlySummaryData = \"MonthlySummaryData\",\n /** The response data type for TopItemsSummaryReport */\n TopItemsSummaryData = \"TopItemsSummaryData\",\n /** The response data type for Resource's TopItemsSummaryReport */\n ResourceTopItemsSummaryData = \"ResourceTopItemsSummaryData\",\n /** The response data type for ResourceGroup's TopItemsSummaryReport */\n ResourceGroupTopItemsSummaryData = \"ResourceGroupTopItemsSummaryData\",\n /** The response data type for TopItemsMonthlySummaryReport */\n TopItemsMonthlySummaryData = \"TopItemsMonthlySummaryData\",\n /** The response data type for Resource's TopItemsMonthlySummaryReport */\n ResourceTopItemsMonthlySummaryData = \"ResourceTopItemsMonthlySummaryData\",\n /** The response data type for ResourceGroup's TopItemsMonthlySummaryReport */\n ResourceGroupTopItemsMonthlySummaryData = \"ResourceGroupTopItemsMonthlySummaryData\",\n /** The response data type for ItemDetailsReport */\n ItemDetailsData = \"ItemDetailsData\",\n /** The response data type for Resource's ItemDetailsReport */\n ResourceItemDetailsData = \"ResourceItemDetailsData\",\n /** The response data type for ResourceGroup's ItemDetailsReport */\n ResourceGroupItemDetailsData = \"ResourceGroupItemDetailsData\",\n}\n\n/**\n * The response data type of Carbon emission data \\\n * {@link KnownResponseDataTypeEnum} can be used interchangeably with ResponseDataTypeEnum,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **OverallSummaryData**: The response data type for OverallSummaryReport \\\n * **MonthlySummaryData**: The response data type for MonthlySummaryReport \\\n * **TopItemsSummaryData**: The response data type for TopItemsSummaryReport \\\n * **ResourceTopItemsSummaryData**: The response data type for Resource's TopItemsSummaryReport \\\n * **ResourceGroupTopItemsSummaryData**: The response data type for ResourceGroup's TopItemsSummaryReport \\\n * **TopItemsMonthlySummaryData**: The response data type for TopItemsMonthlySummaryReport \\\n * **ResourceTopItemsMonthlySummaryData**: The response data type for Resource's TopItemsMonthlySummaryReport \\\n * **ResourceGroupTopItemsMonthlySummaryData**: The response data type for ResourceGroup's TopItemsMonthlySummaryReport \\\n * **ItemDetailsData**: The response data type for ItemDetailsReport \\\n * **ResourceItemDetailsData**: The response data type for Resource's ItemDetailsReport \\\n * **ResourceGroupItemDetailsData**: The response data type for ResourceGroup's ItemDetailsReport\n */\nexport type ResponseDataTypeEnum = string;\n\n/** Response for Overall Carbon Emissions Summary */\nexport interface CarbonEmissionOverallSummaryData extends CarbonEmissionData {\n /** Overall summary data */\n dataType: \"OverallSummaryData\";\n}\n\nexport function carbonEmissionOverallSummaryDataDeserializer(\n item: any,\n): CarbonEmissionOverallSummaryData {\n return {\n dataType: item[\"dataType\"],\n latestMonthEmissions: item[\"latestMonthEmissions\"],\n previousMonthEmissions: item[\"previousMonthEmissions\"],\n monthOverMonthEmissionsChangeRatio: item[\"monthOverMonthEmissionsChangeRatio\"],\n monthlyEmissionsChangeValue: item[\"monthlyEmissionsChangeValue\"],\n };\n}\n\n/** Response for Monthly Carbon Emissions Summary */\nexport interface CarbonEmissionMonthlySummaryData extends CarbonEmissionData {\n /** Monthly summary data */\n dataType: \"MonthlySummaryData\";\n /** The date, representing the month, for which the emissions data is reported, formatted as yyyy-MM-dd (e.g., 2024-03-01) */\n date: string;\n /** Carbon intensity for the specified month, typically in units of kgCO2E per unit of normalized usage */\n carbonIntensity: number;\n}\n\nexport function carbonEmissionMonthlySummaryDataDeserializer(\n item: any,\n): CarbonEmissionMonthlySummaryData {\n return {\n dataType: item[\"dataType\"],\n latestMonthEmissions: item[\"latestMonthEmissions\"],\n previousMonthEmissions: item[\"previousMonthEmissions\"],\n monthOverMonthEmissionsChangeRatio: item[\"monthOverMonthEmissionsChangeRatio\"],\n monthlyEmissionsChangeValue: item[\"monthlyEmissionsChangeValue\"],\n date: item[\"date\"],\n carbonIntensity: item[\"carbonIntensity\"],\n };\n}\n\n/** Response for Top Items by Category Type */\nexport interface CarbonEmissionTopItemsSummaryData extends CarbonEmissionData {\n /** Top items summary data */\n dataType: \"TopItemsSummaryData\";\n /** The identifier of the item being reported on, which could refer to the resource name, resource type name, location, resource group name, or subscription ID, depending on the specified category type. */\n itemName: string;\n /** The category type of the item. This defines which dimension the emissions are aggregated by, and the supported values are defined in CategoryTypeEnum (e.g., Subscription, ResourceGroup, Resource, etc.). */\n categoryType: CategoryTypeEnum;\n}\n\nexport function carbonEmissionTopItemsSummaryDataDeserializer(\n item: any,\n): CarbonEmissionTopItemsSummaryData {\n return {\n dataType: item[\"dataType\"],\n latestMonthEmissions: item[\"latestMonthEmissions\"],\n previousMonthEmissions: item[\"previousMonthEmissions\"],\n monthOverMonthEmissionsChangeRatio: item[\"monthOverMonthEmissionsChangeRatio\"],\n monthlyEmissionsChangeValue: item[\"monthlyEmissionsChangeValue\"],\n itemName: item[\"itemName\"],\n categoryType: item[\"categoryType\"],\n };\n}\n\n/** Response for Top Items For Resource Category */\nexport interface ResourceCarbonEmissionTopItemsSummaryData extends CarbonEmissionData {\n /** Data for the top items carbon emissions summary report specific to resource category */\n dataType: \"ResourceTopItemsSummaryData\";\n /** The resource name of the resource for the Resource Category. */\n itemName: string;\n /** The category type of the item. This defines which dimension the emissions are aggregated by, and the supported values are defined in CategoryTypeEnum (e.g., Subscription, ResourceGroup, Resource, etc.). */\n categoryType: CategoryTypeEnum;\n /** Subscription Id */\n subscriptionId: string;\n /** Resource group name */\n resourceGroup: string;\n /** Resource Id, The URI of the resource for the Resource Category. This identifies the resource being reported. */\n resourceId: string;\n}\n\nexport function resourceCarbonEmissionTopItemsSummaryDataDeserializer(\n item: any,\n): ResourceCarbonEmissionTopItemsSummaryData {\n return {\n dataType: item[\"dataType\"],\n latestMonthEmissions: item[\"latestMonthEmissions\"],\n previousMonthEmissions: item[\"previousMonthEmissions\"],\n monthOverMonthEmissionsChangeRatio: item[\"monthOverMonthEmissionsChangeRatio\"],\n monthlyEmissionsChangeValue: item[\"monthlyEmissionsChangeValue\"],\n itemName: item[\"itemName\"],\n categoryType: item[\"categoryType\"],\n subscriptionId: item[\"subscriptionId\"],\n resourceGroup: item[\"resourceGroup\"],\n resourceId: item[\"resourceId\"],\n };\n}\n\n/** Response for Top Items For ResourceGroup */\nexport interface ResourceGroupCarbonEmissionTopItemsSummaryData extends CarbonEmissionData {\n /** Resource group top items summary data */\n dataType: \"ResourceGroupTopItemsSummaryData\";\n /** The resourceGroup name of the resource for ResourceGroup Category */\n itemName: string;\n /** ResourceGroup Item category */\n categoryType: CategoryTypeEnum;\n /** Subscription Id */\n subscriptionId: string;\n /** Resource Group url, value format is '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroup}' */\n resourceGroupUrl: string;\n}\n\nexport function resourceGroupCarbonEmissionTopItemsSummaryDataDeserializer(\n item: any,\n): ResourceGroupCarbonEmissionTopItemsSummaryData {\n return {\n dataType: item[\"dataType\"],\n latestMonthEmissions: item[\"latestMonthEmissions\"],\n previousMonthEmissions: item[\"previousMonthEmissions\"],\n monthOverMonthEmissionsChangeRatio: item[\"monthOverMonthEmissionsChangeRatio\"],\n monthlyEmissionsChangeValue: item[\"monthlyEmissionsChangeValue\"],\n itemName: item[\"itemName\"],\n categoryType: item[\"categoryType\"],\n subscriptionId: item[\"subscriptionId\"],\n resourceGroupUrl: item[\"resourceGroupUrl\"],\n };\n}\n\n/** Response for Top Items Carbon Emissions by Month */\nexport interface CarbonEmissionTopItemMonthlySummaryData extends CarbonEmissionData {\n /** Top items Monthly summary data */\n dataType: \"TopItemsMonthlySummaryData\";\n /** Item name, it can be resource name, resource type name, location, resource group name or subscriptionId. It depends on category type. */\n itemName: string;\n /** Item category, see supported type value defined in CategoryTypeEnum */\n categoryType: CategoryTypeEnum;\n /** The date, representing the month, for which the emissions data is reported, formatted as yyyy-MM-dd (e.g., 2024-03-01) */\n date: string;\n}\n\nexport function carbonEmissionTopItemMonthlySummaryDataDeserializer(\n item: any,\n): CarbonEmissionTopItemMonthlySummaryData {\n return {\n dataType: item[\"dataType\"],\n latestMonthEmissions: item[\"latestMonthEmissions\"],\n previousMonthEmissions: item[\"previousMonthEmissions\"],\n monthOverMonthEmissionsChangeRatio: item[\"monthOverMonthEmissionsChangeRatio\"],\n monthlyEmissionsChangeValue: item[\"monthlyEmissionsChangeValue\"],\n itemName: item[\"itemName\"],\n categoryType: item[\"categoryType\"],\n date: item[\"date\"],\n };\n}\n\n/** Response for top items carbon emissions by month for resource */\nexport interface ResourceCarbonEmissionTopItemMonthlySummaryData extends CarbonEmissionData {\n /** Resource top items Monthly summary data */\n dataType: \"ResourceTopItemsMonthlySummaryData\";\n /** The resource name of resource for Resource Category */\n itemName: string;\n /** Resource Item category */\n categoryType: CategoryTypeEnum;\n /** Monthly date string, format is yyyy-MM-dd */\n date: string;\n /** Subscription Id */\n subscriptionId: string;\n /** Resource Group */\n resourceGroup: string;\n /** The fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} */\n resourceId: string;\n}\n\nexport function resourceCarbonEmissionTopItemMonthlySummaryDataDeserializer(\n item: any,\n): ResourceCarbonEmissionTopItemMonthlySummaryData {\n return {\n dataType: item[\"dataType\"],\n latestMonthEmissions: item[\"latestMonthEmissions\"],\n previousMonthEmissions: item[\"previousMonthEmissions\"],\n monthOverMonthEmissionsChangeRatio: item[\"monthOverMonthEmissionsChangeRatio\"],\n monthlyEmissionsChangeValue: item[\"monthlyEmissionsChangeValue\"],\n itemName: item[\"itemName\"],\n categoryType: item[\"categoryType\"],\n date: item[\"date\"],\n subscriptionId: item[\"subscriptionId\"],\n resourceGroup: item[\"resourceGroup\"],\n resourceId: item[\"resourceId\"],\n };\n}\n\n/** Response for top items carbon emissions by month for resource group */\nexport interface ResourceGroupCarbonEmissionTopItemMonthlySummaryData extends CarbonEmissionData {\n /** Resource group top items Monthly summary data */\n dataType: \"ResourceGroupTopItemsMonthlySummaryData\";\n /** It's resource group name for ResourceGroup category */\n itemName: string;\n /** ResourceGroup Item category */\n categoryType: CategoryTypeEnum;\n /** Monthly date string, format is yyyy-MM-dd */\n date: string;\n /** Subscription Id */\n subscriptionId: string;\n /** Resource Group url, the format is '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroup}' */\n resourceGroupUrl: string;\n}\n\nexport function resourceGroupCarbonEmissionTopItemMonthlySummaryDataDeserializer(\n item: any,\n): ResourceGroupCarbonEmissionTopItemMonthlySummaryData {\n return {\n dataType: item[\"dataType\"],\n latestMonthEmissions: item[\"latestMonthEmissions\"],\n previousMonthEmissions: item[\"previousMonthEmissions\"],\n monthOverMonthEmissionsChangeRatio: item[\"monthOverMonthEmissionsChangeRatio\"],\n monthlyEmissionsChangeValue: item[\"monthlyEmissionsChangeValue\"],\n itemName: item[\"itemName\"],\n categoryType: item[\"categoryType\"],\n date: item[\"date\"],\n subscriptionId: item[\"subscriptionId\"],\n resourceGroupUrl: item[\"resourceGroupUrl\"],\n };\n}\n\n/** Response for detailed carbon emissions */\nexport interface CarbonEmissionItemDetailData extends CarbonEmissionData {\n /** Item details data */\n dataType: \"ItemDetailsData\";\n /** Item name, it can be resource name, resource type name, location, resource group name or subscriptionId. It depends on category type. */\n itemName: string;\n /** Item category, see supported type value defined in CategoryTypeEnum */\n categoryType: CategoryTypeEnum;\n}\n\nexport function carbonEmissionItemDetailDataDeserializer(item: any): CarbonEmissionItemDetailData {\n return {\n dataType: item[\"dataType\"],\n latestMonthEmissions: item[\"latestMonthEmissions\"],\n previousMonthEmissions: item[\"previousMonthEmissions\"],\n monthOverMonthEmissionsChangeRatio: item[\"monthOverMonthEmissionsChangeRatio\"],\n monthlyEmissionsChangeValue: item[\"monthlyEmissionsChangeValue\"],\n itemName: item[\"itemName\"],\n categoryType: item[\"categoryType\"],\n };\n}\n\n/** Response for Resource detailed carbon emissions */\nexport interface ResourceCarbonEmissionItemDetailData extends CarbonEmissionData {\n /** ResourceGroup's item details data */\n dataType: \"ResourceItemDetailsData\";\n /** It's resource name. */\n itemName: string;\n /** Resource Item category, see supported value defined in CategoryTypeEnum */\n categoryType: CategoryTypeEnum;\n /** Subscription Id */\n subscriptionId: string;\n /** Resource Group */\n resourceGroup: string;\n /** The fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} */\n resourceId: string;\n /** Resource Location (e.g., 'east us'). */\n location?: string;\n /** The type of resource, for example: microsoft.storage/storageaccounts */\n resourceType?: string;\n}\n\nexport function resourceCarbonEmissionItemDetailDataDeserializer(\n item: any,\n): ResourceCarbonEmissionItemDetailData {\n return {\n dataType: item[\"dataType\"],\n latestMonthEmissions: item[\"latestMonthEmissions\"],\n previousMonthEmissions: item[\"previousMonthEmissions\"],\n monthOverMonthEmissionsChangeRatio: item[\"monthOverMonthEmissionsChangeRatio\"],\n monthlyEmissionsChangeValue: item[\"monthlyEmissionsChangeValue\"],\n itemName: item[\"itemName\"],\n categoryType: item[\"categoryType\"],\n subscriptionId: item[\"subscriptionId\"],\n resourceGroup: item[\"resourceGroup\"],\n resourceId: item[\"resourceId\"],\n location: item[\"location\"],\n resourceType: item[\"resourceType\"],\n };\n}\n\n/** Response for Resource Group detailed carbon emissions */\nexport interface ResourceGroupCarbonEmissionItemDetailData extends CarbonEmissionData {\n /** ResourceGroup item details data */\n dataType: \"ResourceGroupItemDetailsData\";\n /** It's resource group name */\n itemName: string;\n /** ResourceGroup Item category */\n categoryType: CategoryTypeEnum;\n /** Subscription Id */\n subscriptionId: string;\n /** Resource Group url, value format is '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroup}' */\n resourceGroupUrl: string;\n}\n\nexport function resourceGroupCarbonEmissionItemDetailDataDeserializer(\n item: any,\n): ResourceGroupCarbonEmissionItemDetailData {\n return {\n dataType: item[\"dataType\"],\n latestMonthEmissions: item[\"latestMonthEmissions\"],\n previousMonthEmissions: item[\"previousMonthEmissions\"],\n monthOverMonthEmissionsChangeRatio: item[\"monthOverMonthEmissionsChangeRatio\"],\n monthlyEmissionsChangeValue: item[\"monthlyEmissionsChangeValue\"],\n itemName: item[\"itemName\"],\n categoryType: item[\"categoryType\"],\n subscriptionId: item[\"subscriptionId\"],\n resourceGroupUrl: item[\"resourceGroupUrl\"],\n };\n}\n\nexport function subscriptionAccessDecisionArrayDeserializer(\n result: Array<SubscriptionAccessDecision>,\n): any[] {\n return result.map((item) => {\n return subscriptionAccessDecisionDeserializer(item);\n });\n}\n\n/** Access Decision for each Subscription */\nexport interface SubscriptionAccessDecision {\n /** Id of Subscription */\n subscriptionId: string;\n /** Access decision to subscription */\n decision: AccessDecisionEnum;\n /** The reason why access request got denied */\n denialReason?: string;\n}\n\nexport function subscriptionAccessDecisionDeserializer(item: any): SubscriptionAccessDecision {\n return {\n subscriptionId: item[\"subscriptionId\"],\n decision: item[\"decision\"],\n denialReason: item[\"denialReason\"],\n };\n}\n\n/** Enum for Access Decision */\nexport enum KnownAccessDecisionEnum {\n /** Access allowed */\n Allowed = \"Allowed\",\n /** Access denied */\n Denied = \"Denied\",\n}\n\n/**\n * Enum for Access Decision \\\n * {@link KnownAccessDecisionEnum} can be used interchangeably with AccessDecisionEnum,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Allowed**: Access allowed \\\n * **Denied**: Access denied\n */\nexport type AccessDecisionEnum = string;\n\n/** Response for available date range of carbon emission data */\nexport interface CarbonEmissionDataAvailableDateRange {\n /** Start date parameter, format is yyyy-MM-dd */\n startDate: string;\n /** End date parameter, format is yyyy-MM-dd */\n endDate: string;\n}\n\nexport function carbonEmissionDataAvailableDateRangeDeserializer(\n item: any,\n): CarbonEmissionDataAvailableDateRange {\n return {\n startDate: item[\"startDate\"],\n endDate: item[\"endDate\"],\n };\n}\n\n/** The available API versions. */\nexport enum KnownVersions {\n /** The 2025-04-01 API version. */\n V20250401 = \"2025-04-01\",\n}\n"]}
@@ -1,15 +1,13 @@
1
1
  // Copyright (c) Microsoft Corporation.
2
2
  // Licensed under the MIT License.
3
- import { __asyncDelegator, __asyncGenerator, __asyncValues, __await } from "tslib";
4
3
  import { createRestError } from "@azure-rest/core-client";
5
4
  import { RestError } from "@azure/core-rest-pipeline";
6
5
  /**
7
6
  * Helper to paginate results in a generic way and return a PagedAsyncIterableIterator
8
7
  */
9
8
  export function buildPagedAsyncIterator(client, getInitialResponse, processResponseBody, expectedStatuses, options = {}) {
10
- var _a, _b;
11
- const itemName = (_a = options.itemName) !== null && _a !== void 0 ? _a : "value";
12
- const nextLinkName = (_b = options.nextLinkName) !== null && _b !== void 0 ? _b : "nextLink";
9
+ const itemName = options.itemName ?? "value";
10
+ const nextLinkName = options.nextLinkName ?? "nextLink";
13
11
  const pagedResult = {
14
12
  getPage: async (pageLink) => {
15
13
  const result = pageLink === undefined
@@ -25,7 +23,7 @@ export function buildPagedAsyncIterator(client, getInitialResponse, processRespo
25
23
  };
26
24
  },
27
25
  byPage: (settings) => {
28
- const { continuationToken } = settings !== null && settings !== void 0 ? settings : {};
26
+ const { continuationToken } = settings ?? {};
29
27
  return getPageAsyncIterator(pagedResult, {
30
28
  pageLink: continuationToken,
31
29
  });
@@ -41,7 +39,6 @@ export function buildPagedAsyncIterator(client, getInitialResponse, processRespo
41
39
  * @returns a paged async iterator that iterates over results.
42
40
  */
43
41
  function getPagedAsyncIterator(pagedResult) {
44
- var _a;
45
42
  const iter = getItemAsyncIterator(pagedResult);
46
43
  return {
47
44
  next() {
@@ -50,55 +47,39 @@ function getPagedAsyncIterator(pagedResult) {
50
47
  [Symbol.asyncIterator]() {
51
48
  return this;
52
49
  },
53
- byPage: (_a = pagedResult === null || pagedResult === void 0 ? void 0 : pagedResult.byPage) !== null && _a !== void 0 ? _a : ((settings) => {
54
- const { continuationToken } = settings !== null && settings !== void 0 ? settings : {};
55
- return getPageAsyncIterator(pagedResult, {
56
- pageLink: continuationToken,
57
- });
58
- }),
50
+ byPage: pagedResult?.byPage ??
51
+ ((settings) => {
52
+ const { continuationToken } = settings ?? {};
53
+ return getPageAsyncIterator(pagedResult, {
54
+ pageLink: continuationToken,
55
+ });
56
+ }),
59
57
  };
60
58
  }
61
- function getItemAsyncIterator(pagedResult) {
62
- return __asyncGenerator(this, arguments, function* getItemAsyncIterator_1() {
63
- var _a, e_1, _b, _c;
64
- const pages = getPageAsyncIterator(pagedResult);
65
- try {
66
- for (var _d = true, pages_1 = __asyncValues(pages), pages_1_1; pages_1_1 = yield __await(pages_1.next()), _a = pages_1_1.done, !_a; _d = true) {
67
- _c = pages_1_1.value;
68
- _d = false;
69
- const page = _c;
70
- yield __await(yield* __asyncDelegator(__asyncValues(page)));
71
- }
72
- }
73
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
74
- finally {
75
- try {
76
- if (!_d && !_a && (_b = pages_1.return)) yield __await(_b.call(pages_1));
77
- }
78
- finally { if (e_1) throw e_1.error; }
79
- }
80
- });
59
+ async function* getItemAsyncIterator(pagedResult) {
60
+ const pages = getPageAsyncIterator(pagedResult);
61
+ for await (const page of pages) {
62
+ yield* page;
63
+ }
81
64
  }
82
- function getPageAsyncIterator(pagedResult_1) {
83
- return __asyncGenerator(this, arguments, function* getPageAsyncIterator_1(pagedResult, options = {}) {
84
- const { pageLink } = options;
85
- let response = yield __await(pagedResult.getPage(pageLink !== null && pageLink !== void 0 ? pageLink : pagedResult.firstPageLink));
65
+ async function* getPageAsyncIterator(pagedResult, options = {}) {
66
+ const { pageLink } = options;
67
+ let response = await pagedResult.getPage(pageLink ?? pagedResult.firstPageLink);
68
+ if (!response) {
69
+ return;
70
+ }
71
+ let result = response.page;
72
+ result.continuationToken = response.nextPageLink;
73
+ yield result;
74
+ while (response.nextPageLink) {
75
+ response = await pagedResult.getPage(response.nextPageLink);
86
76
  if (!response) {
87
- return yield __await(void 0);
77
+ return;
88
78
  }
89
- let result = response.page;
79
+ result = response.page;
90
80
  result.continuationToken = response.nextPageLink;
91
- yield yield __await(result);
92
- while (response.nextPageLink) {
93
- response = yield __await(pagedResult.getPage(response.nextPageLink));
94
- if (!response) {
95
- return yield __await(void 0);
96
- }
97
- result = response.page;
98
- result.continuationToken = response.nextPageLink;
99
- yield yield __await(result);
100
- }
101
- });
81
+ yield result;
82
+ }
102
83
  }
103
84
  /**
104
85
  * Gets for the value of nextLink in the body
@@ -124,7 +105,7 @@ function getElements(body, itemName) {
124
105
  if (!Array.isArray(value)) {
125
106
  throw new RestError(`Couldn't paginate response\n Body doesn't contain an array property with name: ${itemName}`);
126
107
  }
127
- return value !== null && value !== void 0 ? value : [];
108
+ return value ?? [];
128
109
  }
129
110
  /**
130
111
  * Checks if a request failed
@@ -1 +1 @@
1
- {"version":3,"file":"pagingHelpers.js","sourceRoot":"","sources":["../../../src/static-helpers/pagingHelpers.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { Client, createRestError, PathUncheckedResponse } from \"@azure-rest/core-client\";\nimport { RestError } from \"@azure/core-rest-pipeline\";\n\n/**\n * Options for the byPage method\n */\nexport interface PageSettings {\n /**\n * A reference to a specific page to start iterating from.\n */\n continuationToken?: string;\n}\n\n/**\n * An interface that describes a page of results.\n */\nexport type ContinuablePage<TElement, TPage = TElement[]> = TPage & {\n /**\n * The token that keeps track of where to continue the iterator\n */\n continuationToken?: string;\n};\n\n/**\n * An interface that allows async iterable iteration both to completion and by page.\n */\nexport interface PagedAsyncIterableIterator<\n TElement,\n TPage = TElement[],\n TPageSettings extends PageSettings = PageSettings,\n> {\n /**\n * The next method, part of the iteration protocol\n */\n next(): Promise<IteratorResult<TElement>>;\n /**\n * The connection to the async iterator, part of the iteration protocol\n */\n [Symbol.asyncIterator](): PagedAsyncIterableIterator<TElement, TPage, TPageSettings>;\n /**\n * Return an AsyncIterableIterator that works a page at a time\n */\n byPage: (settings?: TPageSettings) => AsyncIterableIterator<ContinuablePage<TElement, TPage>>;\n}\n\n/**\n * An interface that describes how to communicate with the service.\n */\nexport interface PagedResult<\n TElement,\n TPage = TElement[],\n TPageSettings extends PageSettings = PageSettings,\n> {\n /**\n * Link to the first page of results.\n */\n firstPageLink?: string;\n /**\n * A method that returns a page of results.\n */\n getPage: (pageLink?: string) => Promise<{ page: TPage; nextPageLink?: string } | undefined>;\n /**\n * a function to implement the `byPage` method on the paged async iterator.\n */\n byPage?: (settings?: TPageSettings) => AsyncIterableIterator<ContinuablePage<TElement, TPage>>;\n\n /**\n * A function to extract elements from a page.\n */\n toElements?: (page: TPage) => TElement[];\n}\n\n/**\n * Options for the paging helper\n */\nexport interface BuildPagedAsyncIteratorOptions {\n itemName?: string;\n nextLinkName?: string;\n}\n\n/**\n * Helper to paginate results in a generic way and return a PagedAsyncIterableIterator\n */\nexport function buildPagedAsyncIterator<\n TElement,\n TPage = TElement[],\n TPageSettings extends PageSettings = PageSettings,\n TResponse extends PathUncheckedResponse = PathUncheckedResponse,\n>(\n client: Client,\n getInitialResponse: () => PromiseLike<TResponse>,\n processResponseBody: (result: TResponse) => PromiseLike<unknown>,\n expectedStatuses: string[],\n options: BuildPagedAsyncIteratorOptions = {},\n): PagedAsyncIterableIterator<TElement, TPage, TPageSettings> {\n const itemName = options.itemName ?? \"value\";\n const nextLinkName = options.nextLinkName ?? \"nextLink\";\n const pagedResult: PagedResult<TElement, TPage, TPageSettings> = {\n getPage: async (pageLink?: string) => {\n const result =\n pageLink === undefined\n ? await getInitialResponse()\n : await client.pathUnchecked(pageLink).get();\n checkPagingRequest(result, expectedStatuses);\n const results = await processResponseBody(result as TResponse);\n const nextLink = getNextLink(results, nextLinkName);\n const values = getElements<TElement>(results, itemName) as TPage;\n return {\n page: values,\n nextPageLink: nextLink,\n };\n },\n byPage: (settings?: TPageSettings) => {\n const { continuationToken } = settings ?? {};\n return getPageAsyncIterator(pagedResult, {\n pageLink: continuationToken,\n });\n },\n };\n return getPagedAsyncIterator(pagedResult);\n}\n\n/**\n * returns an async iterator that iterates over results. It also has a `byPage`\n * method that returns pages of items at once.\n *\n * @param pagedResult - an object that specifies how to get pages.\n * @returns a paged async iterator that iterates over results.\n */\n\nfunction getPagedAsyncIterator<\n TElement,\n TPage = TElement[],\n TPageSettings extends PageSettings = PageSettings,\n>(\n pagedResult: PagedResult<TElement, TPage, TPageSettings>,\n): PagedAsyncIterableIterator<TElement, TPage, TPageSettings> {\n const iter = getItemAsyncIterator<TElement, TPage, TPageSettings>(pagedResult);\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage:\n pagedResult?.byPage ??\n ((settings?: TPageSettings) => {\n const { continuationToken } = settings ?? {};\n return getPageAsyncIterator(pagedResult, {\n pageLink: continuationToken,\n });\n }),\n };\n}\n\nasync function* getItemAsyncIterator<TElement, TPage, TPageSettings extends PageSettings>(\n pagedResult: PagedResult<TElement, TPage, TPageSettings>,\n): AsyncIterableIterator<TElement> {\n const pages = getPageAsyncIterator(pagedResult);\n for await (const page of pages) {\n yield* page as unknown as TElement[];\n }\n}\n\nasync function* getPageAsyncIterator<TElement, TPage, TPageSettings extends PageSettings>(\n pagedResult: PagedResult<TElement, TPage, TPageSettings>,\n options: {\n pageLink?: string;\n } = {},\n): AsyncIterableIterator<ContinuablePage<TElement, TPage>> {\n const { pageLink } = options;\n let response = await pagedResult.getPage(pageLink ?? pagedResult.firstPageLink);\n if (!response) {\n return;\n }\n let result = response.page as ContinuablePage<TElement, TPage>;\n result.continuationToken = response.nextPageLink;\n yield result;\n while (response.nextPageLink) {\n response = await pagedResult.getPage(response.nextPageLink);\n if (!response) {\n return;\n }\n result = response.page as ContinuablePage<TElement, TPage>;\n result.continuationToken = response.nextPageLink;\n yield result;\n }\n}\n\n/**\n * Gets for the value of nextLink in the body\n */\nfunction getNextLink(body: unknown, nextLinkName?: string): string | undefined {\n if (!nextLinkName) {\n return undefined;\n }\n\n const nextLink = (body as Record<string, unknown>)[nextLinkName];\n\n if (typeof nextLink !== \"string\" && typeof nextLink !== \"undefined\" && nextLink !== null) {\n throw new RestError(\n `Body Property ${nextLinkName} should be a string or undefined or null but got ${typeof nextLink}`,\n );\n }\n\n if (nextLink === null) {\n return undefined;\n }\n\n return nextLink;\n}\n\n/**\n * Gets the elements of the current request in the body.\n */\nfunction getElements<T = unknown>(body: unknown, itemName: string): T[] {\n const value = (body as Record<string, unknown>)[itemName] as T[];\n if (!Array.isArray(value)) {\n throw new RestError(\n `Couldn't paginate response\\n Body doesn't contain an array property with name: ${itemName}`,\n );\n }\n\n return value ?? [];\n}\n\n/**\n * Checks if a request failed\n */\nfunction checkPagingRequest(response: PathUncheckedResponse, expectedStatuses: string[]): void {\n if (!expectedStatuses.includes(response.status)) {\n throw createRestError(\n `Pagination failed with unexpected statusCode ${response.status}`,\n response,\n );\n }\n}\n"]}
1
+ {"version":3,"file":"pagingHelpers.js","sourceRoot":"","sources":["../../../src/static-helpers/pagingHelpers.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { Client, createRestError, PathUncheckedResponse } from \"@azure-rest/core-client\";\nimport { RestError } from \"@azure/core-rest-pipeline\";\n\n/**\n * Options for the byPage method\n */\nexport interface PageSettings {\n /**\n * A reference to a specific page to start iterating from.\n */\n continuationToken?: string;\n}\n\n/**\n * An interface that describes a page of results.\n */\nexport type ContinuablePage<TElement, TPage = TElement[]> = TPage & {\n /**\n * The token that keeps track of where to continue the iterator\n */\n continuationToken?: string;\n};\n\n/**\n * An interface that allows async iterable iteration both to completion and by page.\n */\nexport interface PagedAsyncIterableIterator<\n TElement,\n TPage = TElement[],\n TPageSettings extends PageSettings = PageSettings,\n> {\n /**\n * The next method, part of the iteration protocol\n */\n next(): Promise<IteratorResult<TElement>>;\n /**\n * The connection to the async iterator, part of the iteration protocol\n */\n [Symbol.asyncIterator](): PagedAsyncIterableIterator<TElement, TPage, TPageSettings>;\n /**\n * Return an AsyncIterableIterator that works a page at a time\n */\n byPage: (settings?: TPageSettings) => AsyncIterableIterator<ContinuablePage<TElement, TPage>>;\n}\n\n/**\n * An interface that describes how to communicate with the service.\n */\nexport interface PagedResult<\n TElement,\n TPage = TElement[],\n TPageSettings extends PageSettings = PageSettings,\n> {\n /**\n * Link to the first page of results.\n */\n firstPageLink?: string;\n /**\n * A method that returns a page of results.\n */\n getPage: (pageLink?: string) => Promise<{ page: TPage; nextPageLink?: string } | undefined>;\n /**\n * a function to implement the `byPage` method on the paged async iterator.\n */\n byPage?: (settings?: TPageSettings) => AsyncIterableIterator<ContinuablePage<TElement, TPage>>;\n\n /**\n * A function to extract elements from a page.\n */\n toElements?: (page: TPage) => TElement[];\n}\n\n/**\n * Options for the paging helper\n */\nexport interface BuildPagedAsyncIteratorOptions {\n itemName?: string;\n nextLinkName?: string;\n}\n\n/**\n * Helper to paginate results in a generic way and return a PagedAsyncIterableIterator\n */\nexport function buildPagedAsyncIterator<\n TElement,\n TPage = TElement[],\n TPageSettings extends PageSettings = PageSettings,\n TResponse extends PathUncheckedResponse = PathUncheckedResponse,\n>(\n client: Client,\n getInitialResponse: () => PromiseLike<TResponse>,\n processResponseBody: (result: TResponse) => PromiseLike<unknown>,\n expectedStatuses: string[],\n options: BuildPagedAsyncIteratorOptions = {},\n): PagedAsyncIterableIterator<TElement, TPage, TPageSettings> {\n const itemName = options.itemName ?? \"value\";\n const nextLinkName = options.nextLinkName ?? \"nextLink\";\n const pagedResult: PagedResult<TElement, TPage, TPageSettings> = {\n getPage: async (pageLink?: string) => {\n const result =\n pageLink === undefined\n ? await getInitialResponse()\n : await client.pathUnchecked(pageLink).get();\n checkPagingRequest(result, expectedStatuses);\n const results = await processResponseBody(result as TResponse);\n const nextLink = getNextLink(results, nextLinkName);\n const values = getElements<TElement>(results, itemName) as TPage;\n return {\n page: values,\n nextPageLink: nextLink,\n };\n },\n byPage: (settings?: TPageSettings) => {\n const { continuationToken } = settings ?? {};\n return getPageAsyncIterator(pagedResult, {\n pageLink: continuationToken,\n });\n },\n };\n return getPagedAsyncIterator(pagedResult);\n}\n\n/**\n * returns an async iterator that iterates over results. It also has a `byPage`\n * method that returns pages of items at once.\n *\n * @param pagedResult - an object that specifies how to get pages.\n * @returns a paged async iterator that iterates over results.\n */\n\nfunction getPagedAsyncIterator<\n TElement,\n TPage = TElement[],\n TPageSettings extends PageSettings = PageSettings,\n>(\n pagedResult: PagedResult<TElement, TPage, TPageSettings>,\n): PagedAsyncIterableIterator<TElement, TPage, TPageSettings> {\n const iter = getItemAsyncIterator<TElement, TPage, TPageSettings>(pagedResult);\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage:\n pagedResult?.byPage ??\n ((settings?: TPageSettings) => {\n const { continuationToken } = settings ?? {};\n return getPageAsyncIterator(pagedResult, {\n pageLink: continuationToken,\n });\n }),\n };\n}\n\nasync function* getItemAsyncIterator<TElement, TPage, TPageSettings extends PageSettings>(\n pagedResult: PagedResult<TElement, TPage, TPageSettings>,\n): AsyncIterableIterator<TElement> {\n const pages = getPageAsyncIterator(pagedResult);\n for await (const page of pages) {\n yield* page as unknown as TElement[];\n }\n}\n\nasync function* getPageAsyncIterator<TElement, TPage, TPageSettings extends PageSettings>(\n pagedResult: PagedResult<TElement, TPage, TPageSettings>,\n options: {\n pageLink?: string;\n } = {},\n): AsyncIterableIterator<ContinuablePage<TElement, TPage>> {\n const { pageLink } = options;\n let response = await pagedResult.getPage(pageLink ?? pagedResult.firstPageLink);\n if (!response) {\n return;\n }\n let result = response.page as ContinuablePage<TElement, TPage>;\n result.continuationToken = response.nextPageLink;\n yield result;\n while (response.nextPageLink) {\n response = await pagedResult.getPage(response.nextPageLink);\n if (!response) {\n return;\n }\n result = response.page as ContinuablePage<TElement, TPage>;\n result.continuationToken = response.nextPageLink;\n yield result;\n }\n}\n\n/**\n * Gets for the value of nextLink in the body\n */\nfunction getNextLink(body: unknown, nextLinkName?: string): string | undefined {\n if (!nextLinkName) {\n return undefined;\n }\n\n const nextLink = (body as Record<string, unknown>)[nextLinkName];\n\n if (typeof nextLink !== \"string\" && typeof nextLink !== \"undefined\" && nextLink !== null) {\n throw new RestError(\n `Body Property ${nextLinkName} should be a string or undefined or null but got ${typeof nextLink}`,\n );\n }\n\n if (nextLink === null) {\n return undefined;\n }\n\n return nextLink;\n}\n\n/**\n * Gets the elements of the current request in the body.\n */\nfunction getElements<T = unknown>(body: unknown, itemName: string): T[] {\n const value = (body as Record<string, unknown>)[itemName] as T[];\n if (!Array.isArray(value)) {\n throw new RestError(\n `Couldn't paginate response\\n Body doesn't contain an array property with name: ${itemName}`,\n );\n }\n\n return value ?? [];\n}\n\n/**\n * Checks if a request failed\n */\nfunction checkPagingRequest(response: PathUncheckedResponse, expectedStatuses: string[]): void {\n if (!expectedStatuses.includes(response.status)) {\n throw createRestError(\n `Pagination failed with unexpected statusCode ${response.status}`,\n response,\n );\n }\n}\n"]}
@@ -4,7 +4,7 @@
4
4
  // helpers
5
5
  // ---------------------
6
6
  function encodeComponent(val, reserved, op) {
7
- return (reserved !== null && reserved !== void 0 ? reserved : op === "+") || op === "#"
7
+ return (reserved ?? op === "+") || op === "#"
8
8
  ? encodeReservedComponent(val)
9
9
  : encodeRFC3986URIComponent(val);
10
10
  }
@@ -142,7 +142,7 @@ export function expandUrlTemplate(template, context, option) {
142
142
  }
143
143
  let op;
144
144
  if (["+", "#", ".", "/", ";", "?", "&"].includes(expr[0])) {
145
- (op = expr[0]), (expr = expr.slice(1));
145
+ ((op = expr[0]), (expr = expr.slice(1)));
146
146
  }
147
147
  const varList = expr.split(/,/g);
148
148
  const result = [];
@@ -157,7 +157,7 @@ export function expandUrlTemplate(template, context, option) {
157
157
  varValue: context[varMatch[1]],
158
158
  varName: varMatch[1],
159
159
  modifier: varMatch[2] || varMatch[3],
160
- reserved: option === null || option === void 0 ? void 0 : option.allowReserved,
160
+ reserved: option?.allowReserved,
161
161
  });
162
162
  if (varValue) {
163
163
  result.push(varValue);