@azure/arm-servicefabricmanagedclusters 1.0.0-beta.6 → 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 (497) hide show
  1. package/README.md +1 -1
  2. package/dist/browser/api/applicationTypeVersions/operations.js +18 -36
  3. package/dist/browser/api/applicationTypeVersions/operations.js.map +1 -1
  4. package/dist/browser/api/applicationTypeVersions/options.js.map +1 -1
  5. package/dist/browser/api/applicationTypes/operations.js +15 -30
  6. package/dist/browser/api/applicationTypes/operations.js.map +1 -1
  7. package/dist/browser/api/applications/operations.js +29 -36
  8. package/dist/browser/api/applications/operations.js.map +1 -1
  9. package/dist/browser/api/index.d.ts +1 -1
  10. package/dist/browser/api/index.js.map +1 -1
  11. package/dist/browser/api/managedApplyMaintenanceWindow/operations.js +3 -7
  12. package/dist/browser/api/managedApplyMaintenanceWindow/operations.js.map +1 -1
  13. package/dist/browser/api/managedAzResiliencyStatus/operations.js +2 -5
  14. package/dist/browser/api/managedAzResiliencyStatus/operations.js.map +1 -1
  15. package/dist/browser/api/managedClusterVersion/operations.js +12 -32
  16. package/dist/browser/api/managedClusterVersion/operations.js.map +1 -1
  17. package/dist/browser/api/managedClusters/index.d.ts +2 -2
  18. package/dist/browser/api/managedClusters/index.js +1 -1
  19. package/dist/browser/api/managedClusters/index.js.map +1 -1
  20. package/dist/browser/api/managedClusters/operations.d.ts +2 -18
  21. package/dist/browser/api/managedClusters/operations.js +23 -188
  22. package/dist/browser/api/managedClusters/operations.js.map +1 -1
  23. package/dist/browser/api/managedClusters/options.d.ts +0 -16
  24. package/dist/browser/api/managedClusters/options.js.map +1 -1
  25. package/dist/browser/api/managedMaintenanceWindowStatus/operations.js +4 -11
  26. package/dist/browser/api/managedMaintenanceWindowStatus/operations.js.map +1 -1
  27. package/dist/browser/api/managedUnsupportedVMSizes/operations.js +5 -11
  28. package/dist/browser/api/managedUnsupportedVMSizes/operations.js.map +1 -1
  29. package/dist/browser/api/nodeTypeSkus/operations.js +3 -6
  30. package/dist/browser/api/nodeTypeSkus/operations.js.map +1 -1
  31. package/dist/browser/api/nodeTypes/index.d.ts +2 -2
  32. package/dist/browser/api/nodeTypes/index.js +1 -1
  33. package/dist/browser/api/nodeTypes/index.js.map +1 -1
  34. package/dist/browser/api/nodeTypes/operations.d.ts +2 -18
  35. package/dist/browser/api/nodeTypes/operations.js +30 -170
  36. package/dist/browser/api/nodeTypes/operations.js.map +1 -1
  37. package/dist/browser/api/nodeTypes/options.d.ts +0 -16
  38. package/dist/browser/api/nodeTypes/options.js.map +1 -1
  39. package/dist/browser/api/operationResults/operations.js +1 -1
  40. package/dist/browser/api/operationResults/operations.js.map +1 -1
  41. package/dist/browser/api/operationStatus/operations.js +2 -5
  42. package/dist/browser/api/operationStatus/operations.js.map +1 -1
  43. package/dist/browser/api/operations/operations.js +3 -6
  44. package/dist/browser/api/operations/operations.js.map +1 -1
  45. package/dist/browser/api/serviceFabricManagedClustersManagementContext.d.ts +3 -3
  46. package/dist/browser/api/serviceFabricManagedClustersManagementContext.js +3 -18
  47. package/dist/browser/api/serviceFabricManagedClustersManagementContext.js.map +1 -1
  48. package/dist/browser/api/services/operations.js +16 -25
  49. package/dist/browser/api/services/operations.js.map +1 -1
  50. package/dist/browser/classic/index.d.ts +15 -15
  51. package/dist/browser/classic/index.js.map +1 -1
  52. package/dist/browser/classic/managedClusters/index.d.ts +2 -10
  53. package/dist/browser/classic/managedClusters/index.js +1 -5
  54. package/dist/browser/classic/managedClusters/index.js.map +1 -1
  55. package/dist/browser/classic/nodeTypes/index.d.ts +2 -10
  56. package/dist/browser/classic/nodeTypes/index.js +1 -5
  57. package/dist/browser/classic/nodeTypes/index.js.map +1 -1
  58. package/dist/browser/index.d.ts +3 -3
  59. package/dist/browser/index.js +1 -1
  60. package/dist/browser/index.js.map +1 -1
  61. package/dist/browser/models/index.d.ts +1 -1
  62. package/dist/browser/models/index.js +1 -1
  63. package/dist/browser/models/index.js.map +1 -1
  64. package/dist/browser/models/models.d.ts +391 -185
  65. package/dist/browser/models/models.js +585 -228
  66. package/dist/browser/models/models.js.map +1 -1
  67. package/dist/browser/restorePollerHelpers.js +31 -107
  68. package/dist/browser/restorePollerHelpers.js.map +1 -1
  69. package/dist/browser/serviceFabricManagedClustersManagementClient.d.ts +1 -1
  70. package/dist/browser/serviceFabricManagedClustersManagementClient.js +10 -2
  71. package/dist/browser/serviceFabricManagedClustersManagementClient.js.map +1 -1
  72. package/dist/browser/static-helpers/pagingHelpers.d.ts +2 -0
  73. package/dist/browser/static-helpers/pagingHelpers.js +28 -3
  74. package/dist/browser/static-helpers/pagingHelpers.js.map +1 -1
  75. package/dist/browser/static-helpers/pollingHelpers.d.ts +4 -0
  76. package/dist/browser/static-helpers/pollingHelpers.js +18 -2
  77. package/dist/browser/static-helpers/pollingHelpers.js.map +1 -1
  78. package/dist/browser/static-helpers/serialization/check-prop-undefined.d.ts +8 -0
  79. package/dist/browser/static-helpers/serialization/check-prop-undefined.js +17 -0
  80. package/dist/browser/static-helpers/serialization/check-prop-undefined.js.map +1 -0
  81. package/dist/browser/static-helpers/urlTemplate.js +20 -5
  82. package/dist/browser/static-helpers/urlTemplate.js.map +1 -1
  83. package/dist/commonjs/api/applicationTypeVersions/index.js +46 -12
  84. package/dist/commonjs/api/applicationTypeVersions/index.js.map +7 -1
  85. package/dist/commonjs/api/applicationTypeVersions/operations.js +242 -181
  86. package/dist/commonjs/api/applicationTypeVersions/operations.js.map +7 -1
  87. package/dist/commonjs/api/applicationTypeVersions/options.js +15 -5
  88. package/dist/commonjs/api/applicationTypeVersions/options.js.map +7 -1
  89. package/dist/commonjs/api/applicationTypes/index.js +46 -12
  90. package/dist/commonjs/api/applicationTypes/index.js.map +7 -1
  91. package/dist/commonjs/api/applicationTypes/operations.js +221 -166
  92. package/dist/commonjs/api/applicationTypes/operations.js.map +7 -1
  93. package/dist/commonjs/api/applicationTypes/options.js +15 -5
  94. package/dist/commonjs/api/applicationTypes/options.js.map +7 -1
  95. package/dist/commonjs/api/applications/index.js +70 -18
  96. package/dist/commonjs/api/applications/index.js.map +7 -1
  97. package/dist/commonjs/api/applications/operations.js +473 -354
  98. package/dist/commonjs/api/applications/operations.js.map +7 -1
  99. package/dist/commonjs/api/applications/options.js +15 -5
  100. package/dist/commonjs/api/applications/options.js.map +7 -1
  101. package/dist/commonjs/api/index.d.ts +1 -1
  102. package/dist/commonjs/api/index.js +27 -8
  103. package/dist/commonjs/api/index.js.map +7 -1
  104. package/dist/commonjs/api/managedApplyMaintenanceWindow/index.js +30 -8
  105. package/dist/commonjs/api/managedApplyMaintenanceWindow/index.js.map +7 -1
  106. package/dist/commonjs/api/managedApplyMaintenanceWindow/operations.js +57 -36
  107. package/dist/commonjs/api/managedApplyMaintenanceWindow/operations.js.map +7 -1
  108. package/dist/commonjs/api/managedApplyMaintenanceWindow/options.js +15 -5
  109. package/dist/commonjs/api/managedApplyMaintenanceWindow/options.js.map +7 -1
  110. package/dist/commonjs/api/managedAzResiliencyStatus/index.js +30 -8
  111. package/dist/commonjs/api/managedAzResiliencyStatus/index.js.map +7 -1
  112. package/dist/commonjs/api/managedAzResiliencyStatus/operations.js +58 -36
  113. package/dist/commonjs/api/managedAzResiliencyStatus/operations.js.map +7 -1
  114. package/dist/commonjs/api/managedAzResiliencyStatus/options.js +15 -5
  115. package/dist/commonjs/api/managedAzResiliencyStatus/options.js.map +7 -1
  116. package/dist/commonjs/api/managedClusterVersion/index.js +42 -11
  117. package/dist/commonjs/api/managedClusterVersion/index.js.map +7 -1
  118. package/dist/commonjs/api/managedClusterVersion/operations.js +161 -132
  119. package/dist/commonjs/api/managedClusterVersion/operations.js.map +7 -1
  120. package/dist/commonjs/api/managedClusterVersion/options.js +15 -5
  121. package/dist/commonjs/api/managedClusterVersion/options.js.map +7 -1
  122. package/dist/commonjs/api/managedClusters/index.d.ts +2 -2
  123. package/dist/commonjs/api/managedClusters/index.js +50 -17
  124. package/dist/commonjs/api/managedClusters/index.js.map +7 -1
  125. package/dist/commonjs/api/managedClusters/operations.d.ts +2 -18
  126. package/dist/commonjs/api/managedClusters/operations.js +241 -356
  127. package/dist/commonjs/api/managedClusters/operations.js.map +7 -1
  128. package/dist/commonjs/api/managedClusters/options.d.ts +0 -16
  129. package/dist/commonjs/api/managedClusters/options.js +15 -5
  130. package/dist/commonjs/api/managedClusters/options.js.map +7 -1
  131. package/dist/commonjs/api/managedMaintenanceWindowStatus/index.js +30 -8
  132. package/dist/commonjs/api/managedMaintenanceWindowStatus/index.js.map +7 -1
  133. package/dist/commonjs/api/managedMaintenanceWindowStatus/operations.js +60 -42
  134. package/dist/commonjs/api/managedMaintenanceWindowStatus/operations.js.map +7 -1
  135. package/dist/commonjs/api/managedMaintenanceWindowStatus/options.js +15 -5
  136. package/dist/commonjs/api/managedMaintenanceWindowStatus/options.js.map +7 -1
  137. package/dist/commonjs/api/managedUnsupportedVMSizes/index.js +34 -9
  138. package/dist/commonjs/api/managedUnsupportedVMSizes/index.js.map +7 -1
  139. package/dist/commonjs/api/managedUnsupportedVMSizes/operations.js +94 -63
  140. package/dist/commonjs/api/managedUnsupportedVMSizes/operations.js.map +7 -1
  141. package/dist/commonjs/api/managedUnsupportedVMSizes/options.js +15 -5
  142. package/dist/commonjs/api/managedUnsupportedVMSizes/options.js.map +7 -1
  143. package/dist/commonjs/api/nodeTypeSkus/index.js +30 -8
  144. package/dist/commonjs/api/nodeTypeSkus/index.js.map +7 -1
  145. package/dist/commonjs/api/nodeTypeSkus/operations.js +65 -37
  146. package/dist/commonjs/api/nodeTypeSkus/operations.js.map +7 -1
  147. package/dist/commonjs/api/nodeTypeSkus/options.js +15 -5
  148. package/dist/commonjs/api/nodeTypeSkus/options.js.map +7 -1
  149. package/dist/commonjs/api/nodeTypes/index.d.ts +2 -2
  150. package/dist/commonjs/api/nodeTypes/index.js +70 -22
  151. package/dist/commonjs/api/nodeTypes/index.js.map +7 -1
  152. package/dist/commonjs/api/nodeTypes/operations.d.ts +2 -18
  153. package/dist/commonjs/api/nodeTypes/operations.js +450 -509
  154. package/dist/commonjs/api/nodeTypes/operations.js.map +7 -1
  155. package/dist/commonjs/api/nodeTypes/options.d.ts +0 -16
  156. package/dist/commonjs/api/nodeTypes/options.js +15 -5
  157. package/dist/commonjs/api/nodeTypes/options.js.map +7 -1
  158. package/dist/commonjs/api/operationResults/index.js +30 -8
  159. package/dist/commonjs/api/operationResults/index.js.map +7 -1
  160. package/dist/commonjs/api/operationResults/operations.js +55 -30
  161. package/dist/commonjs/api/operationResults/operations.js.map +7 -1
  162. package/dist/commonjs/api/operationResults/options.js +15 -5
  163. package/dist/commonjs/api/operationResults/options.js.map +7 -1
  164. package/dist/commonjs/api/operationStatus/index.js +30 -8
  165. package/dist/commonjs/api/operationStatus/index.js.map +7 -1
  166. package/dist/commonjs/api/operationStatus/operations.js +58 -36
  167. package/dist/commonjs/api/operationStatus/operations.js.map +7 -1
  168. package/dist/commonjs/api/operationStatus/options.js +15 -5
  169. package/dist/commonjs/api/operationStatus/options.js.map +7 -1
  170. package/dist/commonjs/api/operations/index.js +30 -8
  171. package/dist/commonjs/api/operations/index.js.map +7 -1
  172. package/dist/commonjs/api/operations/operations.js +61 -33
  173. package/dist/commonjs/api/operations/operations.js.map +7 -1
  174. package/dist/commonjs/api/operations/options.js +15 -5
  175. package/dist/commonjs/api/operations/options.js.map +7 -1
  176. package/dist/commonjs/api/serviceFabricManagedClustersManagementContext.d.ts +3 -3
  177. package/dist/commonjs/api/serviceFabricManagedClustersManagementContext.js +46 -44
  178. package/dist/commonjs/api/serviceFabricManagedClustersManagementContext.js.map +7 -1
  179. package/dist/commonjs/api/services/index.js +50 -13
  180. package/dist/commonjs/api/services/index.js.map +7 -1
  181. package/dist/commonjs/api/services/operations.js +280 -202
  182. package/dist/commonjs/api/services/operations.js.map +7 -1
  183. package/dist/commonjs/api/services/options.js +15 -5
  184. package/dist/commonjs/api/services/options.js.map +7 -1
  185. package/dist/commonjs/classic/applicationTypeVersions/index.js +53 -17
  186. package/dist/commonjs/classic/applicationTypeVersions/index.js.map +7 -1
  187. package/dist/commonjs/classic/applicationTypes/index.js +44 -17
  188. package/dist/commonjs/classic/applicationTypes/index.js.map +7 -1
  189. package/dist/commonjs/classic/applications/index.js +50 -23
  190. package/dist/commonjs/classic/applications/index.js.map +7 -1
  191. package/dist/commonjs/classic/index.d.ts +15 -15
  192. package/dist/commonjs/classic/index.js +15 -5
  193. package/dist/commonjs/classic/index.js.map +7 -1
  194. package/dist/commonjs/classic/managedApplyMaintenanceWindow/index.js +33 -13
  195. package/dist/commonjs/classic/managedApplyMaintenanceWindow/index.js.map +7 -1
  196. package/dist/commonjs/classic/managedAzResiliencyStatus/index.js +33 -13
  197. package/dist/commonjs/classic/managedAzResiliencyStatus/index.js.map +7 -1
  198. package/dist/commonjs/classic/managedClusterVersion/index.js +36 -16
  199. package/dist/commonjs/classic/managedClusterVersion/index.js.map +7 -1
  200. package/dist/commonjs/classic/managedClusters/index.d.ts +2 -10
  201. package/dist/commonjs/classic/managedClusters/index.js +38 -22
  202. package/dist/commonjs/classic/managedClusters/index.js.map +7 -1
  203. package/dist/commonjs/classic/managedMaintenanceWindowStatus/index.js +33 -13
  204. package/dist/commonjs/classic/managedMaintenanceWindowStatus/index.js.map +7 -1
  205. package/dist/commonjs/classic/managedUnsupportedVMSizes/index.js +34 -14
  206. package/dist/commonjs/classic/managedUnsupportedVMSizes/index.js.map +7 -1
  207. package/dist/commonjs/classic/nodeTypeSkus/index.js +33 -13
  208. package/dist/commonjs/classic/nodeTypeSkus/index.js.map +7 -1
  209. package/dist/commonjs/classic/nodeTypes/index.d.ts +2 -10
  210. package/dist/commonjs/classic/nodeTypes/index.js +43 -27
  211. package/dist/commonjs/classic/nodeTypes/index.js.map +7 -1
  212. package/dist/commonjs/classic/operationResults/index.js +33 -13
  213. package/dist/commonjs/classic/operationResults/index.js.map +7 -1
  214. package/dist/commonjs/classic/operationStatus/index.js +33 -13
  215. package/dist/commonjs/classic/operationStatus/index.js.map +7 -1
  216. package/dist/commonjs/classic/operations/index.js +33 -13
  217. package/dist/commonjs/classic/operations/index.js.map +7 -1
  218. package/dist/commonjs/classic/services/index.js +62 -18
  219. package/dist/commonjs/classic/services/index.js.map +7 -1
  220. package/dist/commonjs/index.d.ts +3 -3
  221. package/dist/commonjs/index.js +620 -63
  222. package/dist/commonjs/index.js.map +7 -1
  223. package/dist/commonjs/logger.js +28 -8
  224. package/dist/commonjs/logger.js.map +7 -1
  225. package/dist/commonjs/models/index.d.ts +1 -1
  226. package/dist/commonjs/models/index.js +117 -56
  227. package/dist/commonjs/models/index.js.map +7 -1
  228. package/dist/commonjs/models/models.d.ts +391 -185
  229. package/dist/commonjs/models/models.js +3023 -2857
  230. package/dist/commonjs/models/models.js.map +7 -1
  231. package/dist/commonjs/restorePollerHelpers.js +141 -208
  232. package/dist/commonjs/restorePollerHelpers.js.map +7 -1
  233. package/dist/commonjs/serviceFabricManagedClustersManagementClient.d.ts +1 -1
  234. package/dist/commonjs/serviceFabricManagedClustersManagementClient.js +111 -82
  235. package/dist/commonjs/serviceFabricManagedClustersManagementClient.js.map +7 -1
  236. package/dist/commonjs/static-helpers/cloudSettingHelpers.js +49 -40
  237. package/dist/commonjs/static-helpers/cloudSettingHelpers.js.map +7 -1
  238. package/dist/commonjs/static-helpers/pagingHelpers.d.ts +2 -0
  239. package/dist/commonjs/static-helpers/pagingHelpers.js +124 -103
  240. package/dist/commonjs/static-helpers/pagingHelpers.js.map +7 -1
  241. package/dist/commonjs/static-helpers/pollingHelpers.d.ts +4 -0
  242. package/dist/commonjs/static-helpers/pollingHelpers.js +94 -76
  243. package/dist/commonjs/static-helpers/pollingHelpers.js.map +7 -1
  244. package/dist/commonjs/static-helpers/serialization/check-prop-undefined.d.ts +8 -0
  245. package/dist/commonjs/static-helpers/serialization/check-prop-undefined.js +34 -0
  246. package/dist/commonjs/static-helpers/serialization/check-prop-undefined.js.map +7 -0
  247. package/dist/commonjs/static-helpers/urlTemplate.js +166 -158
  248. package/dist/commonjs/static-helpers/urlTemplate.js.map +7 -1
  249. package/dist/commonjs/tsdoc-metadata.json +1 -1
  250. package/dist/esm/api/applicationTypeVersions/index.js +20 -4
  251. package/dist/esm/api/applicationTypeVersions/index.js.map +7 -1
  252. package/dist/esm/api/applicationTypeVersions/operations.js +214 -167
  253. package/dist/esm/api/applicationTypeVersions/operations.js.map +7 -1
  254. package/dist/esm/api/applicationTypeVersions/options.js +0 -4
  255. package/dist/esm/api/applicationTypeVersions/options.js.map +7 -1
  256. package/dist/esm/api/applicationTypes/index.js +20 -4
  257. package/dist/esm/api/applicationTypes/index.js.map +7 -1
  258. package/dist/esm/api/applicationTypes/operations.js +195 -154
  259. package/dist/esm/api/applicationTypes/operations.js.map +7 -1
  260. package/dist/esm/api/applicationTypes/options.js +0 -4
  261. package/dist/esm/api/applicationTypes/options.js.map +7 -1
  262. package/dist/esm/api/applications/index.js +50 -4
  263. package/dist/esm/api/applications/index.js.map +7 -1
  264. package/dist/esm/api/applications/operations.js +475 -366
  265. package/dist/esm/api/applications/operations.js.map +7 -1
  266. package/dist/esm/api/applications/options.js +0 -4
  267. package/dist/esm/api/applications/options.js.map +7 -1
  268. package/dist/esm/api/index.d.ts +1 -1
  269. package/dist/esm/api/index.js +6 -4
  270. package/dist/esm/api/index.js.map +7 -1
  271. package/dist/esm/api/managedApplyMaintenanceWindow/index.js +6 -4
  272. package/dist/esm/api/managedApplyMaintenanceWindow/index.js.map +7 -1
  273. package/dist/esm/api/managedApplyMaintenanceWindow/operations.js +30 -29
  274. package/dist/esm/api/managedApplyMaintenanceWindow/operations.js.map +7 -1
  275. package/dist/esm/api/managedApplyMaintenanceWindow/options.js +0 -4
  276. package/dist/esm/api/managedApplyMaintenanceWindow/options.js.map +7 -1
  277. package/dist/esm/api/managedAzResiliencyStatus/index.js +6 -4
  278. package/dist/esm/api/managedAzResiliencyStatus/index.js.map +7 -1
  279. package/dist/esm/api/managedAzResiliencyStatus/operations.js +37 -32
  280. package/dist/esm/api/managedAzResiliencyStatus/operations.js.map +7 -1
  281. package/dist/esm/api/managedAzResiliencyStatus/options.js +0 -4
  282. package/dist/esm/api/managedAzResiliencyStatus/options.js.map +7 -1
  283. package/dist/esm/api/managedClusterVersion/index.js +17 -4
  284. package/dist/esm/api/managedClusterVersion/index.js.map +7 -1
  285. package/dist/esm/api/managedClusterVersion/operations.js +134 -121
  286. package/dist/esm/api/managedClusterVersion/operations.js.map +7 -1
  287. package/dist/esm/api/managedClusterVersion/options.js +0 -4
  288. package/dist/esm/api/managedClusterVersion/options.js.map +7 -1
  289. package/dist/esm/api/managedClusters/index.d.ts +2 -2
  290. package/dist/esm/api/managedClusters/index.js +30 -4
  291. package/dist/esm/api/managedClusters/index.js.map +7 -1
  292. package/dist/esm/api/managedClusters/operations.d.ts +2 -18
  293. package/dist/esm/api/managedClusters/operations.js +230 -347
  294. package/dist/esm/api/managedClusters/operations.js.map +7 -1
  295. package/dist/esm/api/managedClusters/options.d.ts +0 -16
  296. package/dist/esm/api/managedClusters/options.js +0 -4
  297. package/dist/esm/api/managedClusters/options.js.map +7 -1
  298. package/dist/esm/api/managedMaintenanceWindowStatus/index.js +6 -4
  299. package/dist/esm/api/managedMaintenanceWindowStatus/index.js.map +7 -1
  300. package/dist/esm/api/managedMaintenanceWindowStatus/operations.js +37 -36
  301. package/dist/esm/api/managedMaintenanceWindowStatus/operations.js.map +7 -1
  302. package/dist/esm/api/managedMaintenanceWindowStatus/options.js +0 -4
  303. package/dist/esm/api/managedMaintenanceWindowStatus/options.js.map +7 -1
  304. package/dist/esm/api/managedUnsupportedVMSizes/index.js +11 -4
  305. package/dist/esm/api/managedUnsupportedVMSizes/index.js.map +7 -1
  306. package/dist/esm/api/managedUnsupportedVMSizes/operations.js +72 -57
  307. package/dist/esm/api/managedUnsupportedVMSizes/operations.js.map +7 -1
  308. package/dist/esm/api/managedUnsupportedVMSizes/options.js +0 -4
  309. package/dist/esm/api/managedUnsupportedVMSizes/options.js.map +7 -1
  310. package/dist/esm/api/nodeTypeSkus/index.js +6 -4
  311. package/dist/esm/api/nodeTypeSkus/index.js.map +7 -1
  312. package/dist/esm/api/nodeTypeSkus/operations.js +43 -32
  313. package/dist/esm/api/nodeTypeSkus/operations.js.map +7 -1
  314. package/dist/esm/api/nodeTypeSkus/options.js +0 -4
  315. package/dist/esm/api/nodeTypeSkus/options.js.map +7 -1
  316. package/dist/esm/api/nodeTypes/index.d.ts +2 -2
  317. package/dist/esm/api/nodeTypes/index.js +50 -4
  318. package/dist/esm/api/nodeTypes/index.js.map +7 -1
  319. package/dist/esm/api/nodeTypes/operations.d.ts +2 -18
  320. package/dist/esm/api/nodeTypes/operations.js +447 -507
  321. package/dist/esm/api/nodeTypes/operations.js.map +7 -1
  322. package/dist/esm/api/nodeTypes/options.d.ts +0 -16
  323. package/dist/esm/api/nodeTypes/options.js +0 -4
  324. package/dist/esm/api/nodeTypes/options.js.map +7 -1
  325. package/dist/esm/api/operationResults/index.js +6 -4
  326. package/dist/esm/api/operationResults/index.js.map +7 -1
  327. package/dist/esm/api/operationResults/operations.js +30 -25
  328. package/dist/esm/api/operationResults/operations.js.map +7 -1
  329. package/dist/esm/api/operationResults/options.js +0 -4
  330. package/dist/esm/api/operationResults/options.js.map +7 -1
  331. package/dist/esm/api/operationStatus/index.js +6 -4
  332. package/dist/esm/api/operationStatus/index.js.map +7 -1
  333. package/dist/esm/api/operationStatus/operations.js +37 -32
  334. package/dist/esm/api/operationStatus/operations.js.map +7 -1
  335. package/dist/esm/api/operationStatus/options.js +0 -4
  336. package/dist/esm/api/operationStatus/options.js.map +7 -1
  337. package/dist/esm/api/operations/index.js +6 -4
  338. package/dist/esm/api/operations/index.js.map +7 -1
  339. package/dist/esm/api/operations/operations.js +39 -28
  340. package/dist/esm/api/operations/operations.js.map +7 -1
  341. package/dist/esm/api/operations/options.js +0 -4
  342. package/dist/esm/api/operations/options.js.map +7 -1
  343. package/dist/esm/api/serviceFabricManagedClustersManagementContext.d.ts +3 -3
  344. package/dist/esm/api/serviceFabricManagedClustersManagementContext.js +21 -39
  345. package/dist/esm/api/serviceFabricManagedClustersManagementContext.js.map +7 -1
  346. package/dist/esm/api/services/index.js +30 -4
  347. package/dist/esm/api/services/index.js.map +7 -1
  348. package/dist/esm/api/services/operations.js +270 -205
  349. package/dist/esm/api/services/operations.js.map +7 -1
  350. package/dist/esm/api/services/options.js +0 -4
  351. package/dist/esm/api/services/options.js.map +7 -1
  352. package/dist/esm/classic/applicationTypeVersions/index.js +37 -15
  353. package/dist/esm/classic/applicationTypeVersions/index.js.map +7 -1
  354. package/dist/esm/classic/applicationTypes/index.js +28 -15
  355. package/dist/esm/classic/applicationTypes/index.js.map +7 -1
  356. package/dist/esm/classic/applications/index.js +40 -21
  357. package/dist/esm/classic/applications/index.js.map +7 -1
  358. package/dist/esm/classic/index.d.ts +15 -15
  359. package/dist/esm/classic/index.js +0 -4
  360. package/dist/esm/classic/index.js.map +7 -1
  361. package/dist/esm/classic/managedApplyMaintenanceWindow/index.js +10 -10
  362. package/dist/esm/classic/managedApplyMaintenanceWindow/index.js.map +7 -1
  363. package/dist/esm/classic/managedAzResiliencyStatus/index.js +10 -10
  364. package/dist/esm/classic/managedAzResiliencyStatus/index.js.map +7 -1
  365. package/dist/esm/classic/managedClusterVersion/index.js +19 -14
  366. package/dist/esm/classic/managedClusterVersion/index.js.map +7 -1
  367. package/dist/esm/classic/managedClusters/index.d.ts +2 -10
  368. package/dist/esm/classic/managedClusters/index.js +23 -20
  369. package/dist/esm/classic/managedClusters/index.js.map +7 -1
  370. package/dist/esm/classic/managedMaintenanceWindowStatus/index.js +10 -10
  371. package/dist/esm/classic/managedMaintenanceWindowStatus/index.js.map +7 -1
  372. package/dist/esm/classic/managedUnsupportedVMSizes/index.js +11 -11
  373. package/dist/esm/classic/managedUnsupportedVMSizes/index.js.map +7 -1
  374. package/dist/esm/classic/nodeTypeSkus/index.js +10 -10
  375. package/dist/esm/classic/nodeTypeSkus/index.js.map +7 -1
  376. package/dist/esm/classic/nodeTypes/index.d.ts +2 -10
  377. package/dist/esm/classic/nodeTypes/index.js +33 -25
  378. package/dist/esm/classic/nodeTypes/index.js.map +7 -1
  379. package/dist/esm/classic/operationResults/index.js +10 -10
  380. package/dist/esm/classic/operationResults/index.js.map +7 -1
  381. package/dist/esm/classic/operationStatus/index.js +10 -10
  382. package/dist/esm/classic/operationStatus/index.js.map +7 -1
  383. package/dist/esm/classic/operations/index.js +10 -10
  384. package/dist/esm/classic/operations/index.js.map +7 -1
  385. package/dist/esm/classic/services/index.js +47 -16
  386. package/dist/esm/classic/services/index.js.map +7 -1
  387. package/dist/esm/index.d.ts +3 -3
  388. package/dist/esm/index.js +596 -8
  389. package/dist/esm/index.js.map +7 -1
  390. package/dist/esm/logger.js +4 -4
  391. package/dist/esm/logger.js.map +7 -1
  392. package/dist/esm/models/index.d.ts +1 -1
  393. package/dist/esm/models/index.js +96 -4
  394. package/dist/esm/models/index.js.map +7 -1
  395. package/dist/esm/models/models.d.ts +391 -185
  396. package/dist/esm/models/models.js +3181 -3077
  397. package/dist/esm/models/models.js.map +7 -1
  398. package/dist/esm/restorePollerHelpers.js +147 -203
  399. package/dist/esm/restorePollerHelpers.js.map +7 -1
  400. package/dist/esm/serviceFabricManagedClustersManagementClient.d.ts +1 -1
  401. package/dist/esm/serviceFabricManagedClustersManagementClient.js +72 -63
  402. package/dist/esm/serviceFabricManagedClustersManagementClient.js.map +7 -1
  403. package/dist/esm/static-helpers/cloudSettingHelpers.js +26 -37
  404. package/dist/esm/static-helpers/cloudSettingHelpers.js.map +7 -1
  405. package/dist/esm/static-helpers/pagingHelpers.d.ts +2 -0
  406. package/dist/esm/static-helpers/pagingHelpers.js +100 -99
  407. package/dist/esm/static-helpers/pagingHelpers.js.map +7 -1
  408. package/dist/esm/static-helpers/pollingHelpers.d.ts +4 -0
  409. package/dist/esm/static-helpers/pollingHelpers.js +70 -72
  410. package/dist/esm/static-helpers/pollingHelpers.js.map +7 -1
  411. package/dist/esm/static-helpers/serialization/check-prop-undefined.d.ts +8 -0
  412. package/dist/esm/static-helpers/serialization/check-prop-undefined.js +11 -0
  413. package/dist/esm/static-helpers/serialization/check-prop-undefined.js.map +7 -0
  414. package/dist/esm/static-helpers/urlTemplate.js +143 -155
  415. package/dist/esm/static-helpers/urlTemplate.js.map +7 -1
  416. package/dist/react-native/api/applicationTypeVersions/operations.js +18 -36
  417. package/dist/react-native/api/applicationTypeVersions/operations.js.map +1 -1
  418. package/dist/react-native/api/applicationTypeVersions/options.js.map +1 -1
  419. package/dist/react-native/api/applicationTypes/operations.js +15 -30
  420. package/dist/react-native/api/applicationTypes/operations.js.map +1 -1
  421. package/dist/react-native/api/applications/operations.js +29 -36
  422. package/dist/react-native/api/applications/operations.js.map +1 -1
  423. package/dist/react-native/api/index.d.ts +1 -1
  424. package/dist/react-native/api/index.js.map +1 -1
  425. package/dist/react-native/api/managedApplyMaintenanceWindow/operations.js +3 -7
  426. package/dist/react-native/api/managedApplyMaintenanceWindow/operations.js.map +1 -1
  427. package/dist/react-native/api/managedAzResiliencyStatus/operations.js +2 -5
  428. package/dist/react-native/api/managedAzResiliencyStatus/operations.js.map +1 -1
  429. package/dist/react-native/api/managedClusterVersion/operations.js +12 -32
  430. package/dist/react-native/api/managedClusterVersion/operations.js.map +1 -1
  431. package/dist/react-native/api/managedClusters/index.d.ts +2 -2
  432. package/dist/react-native/api/managedClusters/index.js +1 -1
  433. package/dist/react-native/api/managedClusters/index.js.map +1 -1
  434. package/dist/react-native/api/managedClusters/operations.d.ts +2 -18
  435. package/dist/react-native/api/managedClusters/operations.js +23 -188
  436. package/dist/react-native/api/managedClusters/operations.js.map +1 -1
  437. package/dist/react-native/api/managedClusters/options.d.ts +0 -16
  438. package/dist/react-native/api/managedClusters/options.js.map +1 -1
  439. package/dist/react-native/api/managedMaintenanceWindowStatus/operations.js +4 -11
  440. package/dist/react-native/api/managedMaintenanceWindowStatus/operations.js.map +1 -1
  441. package/dist/react-native/api/managedUnsupportedVMSizes/operations.js +5 -11
  442. package/dist/react-native/api/managedUnsupportedVMSizes/operations.js.map +1 -1
  443. package/dist/react-native/api/nodeTypeSkus/operations.js +3 -6
  444. package/dist/react-native/api/nodeTypeSkus/operations.js.map +1 -1
  445. package/dist/react-native/api/nodeTypes/index.d.ts +2 -2
  446. package/dist/react-native/api/nodeTypes/index.js +1 -1
  447. package/dist/react-native/api/nodeTypes/index.js.map +1 -1
  448. package/dist/react-native/api/nodeTypes/operations.d.ts +2 -18
  449. package/dist/react-native/api/nodeTypes/operations.js +30 -170
  450. package/dist/react-native/api/nodeTypes/operations.js.map +1 -1
  451. package/dist/react-native/api/nodeTypes/options.d.ts +0 -16
  452. package/dist/react-native/api/nodeTypes/options.js.map +1 -1
  453. package/dist/react-native/api/operationResults/operations.js +1 -1
  454. package/dist/react-native/api/operationResults/operations.js.map +1 -1
  455. package/dist/react-native/api/operationStatus/operations.js +2 -5
  456. package/dist/react-native/api/operationStatus/operations.js.map +1 -1
  457. package/dist/react-native/api/operations/operations.js +3 -6
  458. package/dist/react-native/api/operations/operations.js.map +1 -1
  459. package/dist/react-native/api/serviceFabricManagedClustersManagementContext.d.ts +3 -3
  460. package/dist/react-native/api/serviceFabricManagedClustersManagementContext.js +3 -18
  461. package/dist/react-native/api/serviceFabricManagedClustersManagementContext.js.map +1 -1
  462. package/dist/react-native/api/services/operations.js +16 -25
  463. package/dist/react-native/api/services/operations.js.map +1 -1
  464. package/dist/react-native/classic/index.d.ts +15 -15
  465. package/dist/react-native/classic/index.js.map +1 -1
  466. package/dist/react-native/classic/managedClusters/index.d.ts +2 -10
  467. package/dist/react-native/classic/managedClusters/index.js +1 -5
  468. package/dist/react-native/classic/managedClusters/index.js.map +1 -1
  469. package/dist/react-native/classic/nodeTypes/index.d.ts +2 -10
  470. package/dist/react-native/classic/nodeTypes/index.js +1 -5
  471. package/dist/react-native/classic/nodeTypes/index.js.map +1 -1
  472. package/dist/react-native/index.d.ts +3 -3
  473. package/dist/react-native/index.js +1 -1
  474. package/dist/react-native/index.js.map +1 -1
  475. package/dist/react-native/models/index.d.ts +1 -1
  476. package/dist/react-native/models/index.js +1 -1
  477. package/dist/react-native/models/index.js.map +1 -1
  478. package/dist/react-native/models/models.d.ts +391 -185
  479. package/dist/react-native/models/models.js +585 -228
  480. package/dist/react-native/models/models.js.map +1 -1
  481. package/dist/react-native/restorePollerHelpers.js +31 -107
  482. package/dist/react-native/restorePollerHelpers.js.map +1 -1
  483. package/dist/react-native/serviceFabricManagedClustersManagementClient.d.ts +1 -1
  484. package/dist/react-native/serviceFabricManagedClustersManagementClient.js +10 -2
  485. package/dist/react-native/serviceFabricManagedClustersManagementClient.js.map +1 -1
  486. package/dist/react-native/static-helpers/pagingHelpers.d.ts +2 -0
  487. package/dist/react-native/static-helpers/pagingHelpers.js +28 -3
  488. package/dist/react-native/static-helpers/pagingHelpers.js.map +1 -1
  489. package/dist/react-native/static-helpers/pollingHelpers.d.ts +4 -0
  490. package/dist/react-native/static-helpers/pollingHelpers.js +18 -2
  491. package/dist/react-native/static-helpers/pollingHelpers.js.map +1 -1
  492. package/dist/react-native/static-helpers/serialization/check-prop-undefined.d.ts +8 -0
  493. package/dist/react-native/static-helpers/serialization/check-prop-undefined.js +17 -0
  494. package/dist/react-native/static-helpers/serialization/check-prop-undefined.js.map +1 -0
  495. package/dist/react-native/static-helpers/urlTemplate.js +20 -5
  496. package/dist/react-native/static-helpers/urlTemplate.js.map +1 -1
  497. package/package.json +8 -42
@@ -1,79 +1,77 @@
1
- // Copyright (c) Microsoft Corporation.
2
- // Licensed under the MIT License.
3
1
  import { createHttpPoller } from "@azure/core-lro";
4
2
  import { createRestError } from "@azure-rest/core-client";
5
- export function getLongRunningPoller(client, processResponseBody, expectedStatuses, options) {
6
- const { restoreFrom, getInitialResponse } = options;
7
- if (!restoreFrom && !getInitialResponse) {
8
- throw new Error("Either restoreFrom or getInitialResponse must be specified");
3
+ function getLongRunningPoller(client, processResponseBody, expectedStatuses, options) {
4
+ const { restoreFrom, getInitialResponse, apiVersion } = options;
5
+ if (!restoreFrom && !getInitialResponse) {
6
+ throw new Error("Either restoreFrom or getInitialResponse must be specified");
7
+ }
8
+ let initialResponse = void 0;
9
+ const pollAbortController = new AbortController();
10
+ const poller = {
11
+ sendInitialRequest: async () => {
12
+ if (!getInitialResponse) {
13
+ throw new Error("getInitialResponse is required when initializing a new poller");
14
+ }
15
+ initialResponse = await getInitialResponse();
16
+ return getLroResponse(initialResponse, expectedStatuses);
17
+ },
18
+ sendPollRequest: async (path, pollOptions) => {
19
+ function abortListener() {
20
+ pollAbortController.abort();
21
+ }
22
+ const abortSignal = pollAbortController.signal;
23
+ if (options.abortSignal?.aborted) {
24
+ pollAbortController.abort();
25
+ } else if (pollOptions?.abortSignal?.aborted) {
26
+ pollAbortController.abort();
27
+ } else if (!abortSignal.aborted) {
28
+ options.abortSignal?.addEventListener("abort", abortListener, {
29
+ once: true
30
+ });
31
+ pollOptions?.abortSignal?.addEventListener("abort", abortListener, {
32
+ once: true
33
+ });
34
+ }
35
+ let response;
36
+ try {
37
+ const pollingPath = apiVersion ? addApiVersionToUrl(path, apiVersion) : path;
38
+ response = await client.pathUnchecked(pollingPath).get({ abortSignal });
39
+ } finally {
40
+ options.abortSignal?.removeEventListener("abort", abortListener);
41
+ pollOptions?.abortSignal?.removeEventListener("abort", abortListener);
42
+ }
43
+ return getLroResponse(response, expectedStatuses);
9
44
  }
10
- let initialResponse = undefined;
11
- const pollAbortController = new AbortController();
12
- const poller = {
13
- sendInitialRequest: async () => {
14
- if (!getInitialResponse) {
15
- throw new Error("getInitialResponse is required when initializing a new poller");
16
- }
17
- initialResponse = await getInitialResponse();
18
- return getLroResponse(initialResponse, expectedStatuses);
19
- },
20
- sendPollRequest: async (path, pollOptions) => {
21
- // The poll request would both listen to the user provided abort signal and the poller's own abort signal
22
- function abortListener() {
23
- pollAbortController.abort();
24
- }
25
- const abortSignal = pollAbortController.signal;
26
- if (options.abortSignal?.aborted) {
27
- pollAbortController.abort();
28
- }
29
- else if (pollOptions?.abortSignal?.aborted) {
30
- pollAbortController.abort();
31
- }
32
- else if (!abortSignal.aborted) {
33
- options.abortSignal?.addEventListener("abort", abortListener, {
34
- once: true,
35
- });
36
- pollOptions?.abortSignal?.addEventListener("abort", abortListener, {
37
- once: true,
38
- });
39
- }
40
- let response;
41
- try {
42
- response = await client.pathUnchecked(path).get({ abortSignal });
43
- }
44
- finally {
45
- options.abortSignal?.removeEventListener("abort", abortListener);
46
- pollOptions?.abortSignal?.removeEventListener("abort", abortListener);
47
- }
48
- return getLroResponse(response, expectedStatuses);
49
- },
50
- };
51
- return createHttpPoller(poller, {
52
- intervalInMs: options?.updateIntervalInMs,
53
- resourceLocationConfig: options?.resourceLocationConfig,
54
- restoreFrom: options?.restoreFrom,
55
- processResult: (result) => {
56
- return processResponseBody(result);
57
- },
58
- });
45
+ };
46
+ return createHttpPoller(poller, {
47
+ intervalInMs: options?.updateIntervalInMs,
48
+ resourceLocationConfig: options?.resourceLocationConfig,
49
+ restoreFrom: options?.restoreFrom,
50
+ processResult: (result) => {
51
+ return processResponseBody(result);
52
+ }
53
+ });
59
54
  }
60
- /**
61
- * Converts a Rest Client response to a response that the LRO implementation understands
62
- * @param response - a rest client http response
63
- * @param deserializeFn - deserialize function to convert Rest response to modular output
64
- * @returns - An LRO response that the LRO implementation understands
65
- */
66
55
  function getLroResponse(response, expectedStatuses) {
67
- if (!expectedStatuses.includes(response.status)) {
68
- throw createRestError(response);
56
+ if (!expectedStatuses.includes(response.status)) {
57
+ throw createRestError(response);
58
+ }
59
+ return {
60
+ flatResponse: response,
61
+ rawResponse: {
62
+ ...response,
63
+ statusCode: Number.parseInt(response.status),
64
+ body: response.body
69
65
  }
70
- return {
71
- flatResponse: response,
72
- rawResponse: {
73
- ...response,
74
- statusCode: Number.parseInt(response.status),
75
- body: response.body,
76
- },
77
- };
66
+ };
67
+ }
68
+ function addApiVersionToUrl(url, apiVersion) {
69
+ const urlObj = new URL(url, "https://microsoft.com");
70
+ if (!urlObj.searchParams.get("api-version")) {
71
+ return `${url}${Array.from(urlObj.searchParams.keys()).length > 0 ? "&" : "?"}api-version=${apiVersion}`;
72
+ }
73
+ return url;
78
74
  }
79
- //# sourceMappingURL=pollingHelpers.js.map
75
+ export {
76
+ getLongRunningPoller
77
+ };
@@ -1 +1,7 @@
1
- {"version":3,"file":"pollingHelpers.js","sourceRoot":"","sources":["../../../src/static-helpers/pollingHelpers.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AASlC,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAGnD,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AA4B1D,MAAM,UAAU,oBAAoB,CAClC,MAAc,EACd,mBAA4D,EAC5D,gBAA0B,EAC1B,OAA+C;IAE/C,MAAM,EAAE,WAAW,EAAE,kBAAkB,EAAE,GAAG,OAAO,CAAC;IACpD,IAAI,CAAC,WAAW,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;IAChF,CAAC;IACD,IAAI,eAAe,GAA0B,SAAS,CAAC;IACvD,MAAM,mBAAmB,GAAG,IAAI,eAAe,EAAE,CAAC;IAClD,MAAM,MAAM,GAAgC;QAC1C,kBAAkB,EAAE,KAAK,IAAI,EAAE;YAC7B,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBACxB,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;YACnF,CAAC;YACD,eAAe,GAAG,MAAM,kBAAkB,EAAE,CAAC;YAC7C,OAAO,cAAc,CAAC,eAAe,EAAE,gBAAgB,CAAC,CAAC;QAC3D,CAAC;QACD,eAAe,EAAE,KAAK,EACpB,IAAY,EACZ,WAEC,EACD,EAAE;YACF,yGAAyG;YACzG,SAAS,aAAa;gBACpB,mBAAmB,CAAC,KAAK,EAAE,CAAC;YAC9B,CAAC;YACD,MAAM,WAAW,GAAG,mBAAmB,CAAC,MAAM,CAAC;YAC/C,IAAI,OAAO,CAAC,WAAW,EAAE,OAAO,EAAE,CAAC;gBACjC,mBAAmB,CAAC,KAAK,EAAE,CAAC;YAC9B,CAAC;iBAAM,IAAI,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC;gBAC7C,mBAAmB,CAAC,KAAK,EAAE,CAAC;YAC9B,CAAC;iBAAM,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;gBAChC,OAAO,CAAC,WAAW,EAAE,gBAAgB,CAAC,OAAO,EAAE,aAAa,EAAE;oBAC5D,IAAI,EAAE,IAAI;iBACX,CAAC,CAAC;gBACH,WAAW,EAAE,WAAW,EAAE,gBAAgB,CAAC,OAAO,EAAE,aAAa,EAAE;oBACjE,IAAI,EAAE,IAAI;iBACX,CAAC,CAAC;YACL,CAAC;YACD,IAAI,QAAQ,CAAC;YACb,IAAI,CAAC;gBACH,QAAQ,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;YACnE,CAAC;oBAAS,CAAC;gBACT,OAAO,CAAC,WAAW,EAAE,mBAAmB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;gBACjE,WAAW,EAAE,WAAW,EAAE,mBAAmB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;YACxE,CAAC;YAED,OAAO,cAAc,CAAC,QAAqB,EAAE,gBAAgB,CAAC,CAAC;QACjE,CAAC;KACF,CAAC;IACF,OAAO,gBAAgB,CAAC,MAAM,EAAE;QAC9B,YAAY,EAAE,OAAO,EAAE,kBAAkB;QACzC,sBAAsB,EAAE,OAAO,EAAE,sBAAsB;QACvD,WAAW,EAAE,OAAO,EAAE,WAAW;QACjC,aAAa,EAAE,CAAC,MAAe,EAAE,EAAE;YACjC,OAAO,mBAAmB,CAAC,MAAmB,CAAC,CAAC;QAClD,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AACD;;;;;GAKG;AACH,SAAS,cAAc,CACrB,QAAmB,EACnB,gBAA0B;IAE1B,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAChD,MAAM,eAAe,CAAC,QAAQ,CAAC,CAAC;IAClC,CAAC;IAED,OAAO;QACL,YAAY,EAAE,QAAQ;QACtB,WAAW,EAAE;YACX,GAAG,QAAQ;YACX,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC;YAC5C,IAAI,EAAE,QAAQ,CAAC,IAAI;SACpB;KACF,CAAC;AACJ,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type {\n PollerLike,\n OperationState,\n ResourceLocationConfig,\n RunningOperation,\n OperationResponse,\n} from \"@azure/core-lro\";\nimport { createHttpPoller } from \"@azure/core-lro\";\n\nimport type { Client, PathUncheckedResponse } from \"@azure-rest/core-client\";\nimport { createRestError } from \"@azure-rest/core-client\";\nimport type { AbortSignalLike } from \"@azure/abort-controller\";\n\nexport interface GetLongRunningPollerOptions<TResponse> {\n /** Delay to wait until next poll, in milliseconds. */\n updateIntervalInMs?: number;\n /**\n * The signal which can be used to abort requests.\n */\n abortSignal?: AbortSignalLike;\n /**\n * The potential location of the result of the LRO if specified by the LRO extension in the swagger.\n */\n resourceLocationConfig?: ResourceLocationConfig;\n /**\n * The original url of the LRO\n * Should not be null when restoreFrom is set\n */\n initialRequestUrl?: string;\n /**\n * A serialized poller which can be used to resume an existing paused Long-Running-Operation.\n */\n restoreFrom?: string;\n /**\n * The function to get the initial response\n */\n getInitialResponse?: () => PromiseLike<TResponse>;\n}\nexport function getLongRunningPoller<TResponse extends PathUncheckedResponse, TResult = void>(\n client: Client,\n processResponseBody: (result: TResponse) => Promise<TResult>,\n expectedStatuses: string[],\n options: GetLongRunningPollerOptions<TResponse>,\n): PollerLike<OperationState<TResult>, TResult> {\n const { restoreFrom, getInitialResponse } = options;\n if (!restoreFrom && !getInitialResponse) {\n throw new Error(\"Either restoreFrom or getInitialResponse must be specified\");\n }\n let initialResponse: TResponse | undefined = undefined;\n const pollAbortController = new AbortController();\n const poller: RunningOperation<TResponse> = {\n sendInitialRequest: async () => {\n if (!getInitialResponse) {\n throw new Error(\"getInitialResponse is required when initializing a new poller\");\n }\n initialResponse = await getInitialResponse();\n return getLroResponse(initialResponse, expectedStatuses);\n },\n sendPollRequest: async (\n path: string,\n pollOptions?: {\n abortSignal?: AbortSignalLike;\n },\n ) => {\n // The poll request would both listen to the user provided abort signal and the poller's own abort signal\n function abortListener(): void {\n pollAbortController.abort();\n }\n const abortSignal = pollAbortController.signal;\n if (options.abortSignal?.aborted) {\n pollAbortController.abort();\n } else if (pollOptions?.abortSignal?.aborted) {\n pollAbortController.abort();\n } else if (!abortSignal.aborted) {\n options.abortSignal?.addEventListener(\"abort\", abortListener, {\n once: true,\n });\n pollOptions?.abortSignal?.addEventListener(\"abort\", abortListener, {\n once: true,\n });\n }\n let response;\n try {\n response = await client.pathUnchecked(path).get({ abortSignal });\n } finally {\n options.abortSignal?.removeEventListener(\"abort\", abortListener);\n pollOptions?.abortSignal?.removeEventListener(\"abort\", abortListener);\n }\n\n return getLroResponse(response as TResponse, expectedStatuses);\n },\n };\n return createHttpPoller(poller, {\n intervalInMs: options?.updateIntervalInMs,\n resourceLocationConfig: options?.resourceLocationConfig,\n restoreFrom: options?.restoreFrom,\n processResult: (result: unknown) => {\n return processResponseBody(result as TResponse);\n },\n });\n}\n/**\n * Converts a Rest Client response to a response that the LRO implementation understands\n * @param response - a rest client http response\n * @param deserializeFn - deserialize function to convert Rest response to modular output\n * @returns - An LRO response that the LRO implementation understands\n */\nfunction getLroResponse<TResponse extends PathUncheckedResponse>(\n response: TResponse,\n expectedStatuses: string[],\n): OperationResponse<TResponse> {\n if (!expectedStatuses.includes(response.status)) {\n throw createRestError(response);\n }\n\n return {\n flatResponse: response,\n rawResponse: {\n ...response,\n statusCode: Number.parseInt(response.status),\n body: response.body,\n },\n };\n}\n"]}
1
+ {
2
+ "version": 3,
3
+ "sources": ["/mnt/vss/_work/1/s/sdk/servicefabricmanagedclusters/arm-servicefabricmanagedclusters/src/static-helpers/pollingHelpers.ts"],
4
+ "sourcesContent": ["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type {\n PollerLike,\n OperationState,\n ResourceLocationConfig,\n RunningOperation,\n OperationResponse,\n} from \"@azure/core-lro\";\nimport { createHttpPoller } from \"@azure/core-lro\";\n\nimport type { Client, PathUncheckedResponse } from \"@azure-rest/core-client\";\nimport { createRestError } from \"@azure-rest/core-client\";\nimport type { AbortSignalLike } from \"@azure/abort-controller\";\n\nexport interface GetLongRunningPollerOptions<TResponse> {\n /** Delay to wait until next poll, in milliseconds. */\n updateIntervalInMs?: number;\n /**\n * The signal which can be used to abort requests.\n */\n abortSignal?: AbortSignalLike;\n /**\n * The potential location of the result of the LRO if specified by the LRO extension in the swagger.\n */\n resourceLocationConfig?: ResourceLocationConfig;\n /**\n * The original url of the LRO\n * Should not be null when restoreFrom is set\n */\n initialRequestUrl?: string;\n /**\n * A serialized poller which can be used to resume an existing paused Long-Running-Operation.\n */\n restoreFrom?: string;\n /**\n * The function to get the initial response\n */\n getInitialResponse?: () => PromiseLike<TResponse>;\n /**\n * The api-version of the LRO\n */\n apiVersion?: string;\n}\nexport function getLongRunningPoller<TResponse extends PathUncheckedResponse, TResult = void>(\n client: Client,\n processResponseBody: (result: TResponse) => Promise<TResult>,\n expectedStatuses: string[],\n options: GetLongRunningPollerOptions<TResponse>,\n): PollerLike<OperationState<TResult>, TResult> {\n const { restoreFrom, getInitialResponse, apiVersion } = options;\n if (!restoreFrom && !getInitialResponse) {\n throw new Error(\"Either restoreFrom or getInitialResponse must be specified\");\n }\n let initialResponse: TResponse | undefined = undefined;\n const pollAbortController = new AbortController();\n const poller: RunningOperation<TResponse> = {\n sendInitialRequest: async () => {\n if (!getInitialResponse) {\n throw new Error(\"getInitialResponse is required when initializing a new poller\");\n }\n initialResponse = await getInitialResponse();\n return getLroResponse(initialResponse, expectedStatuses);\n },\n sendPollRequest: async (\n path: string,\n pollOptions?: {\n abortSignal?: AbortSignalLike;\n },\n ) => {\n // The poll request would both listen to the user provided abort signal and the poller's own abort signal\n function abortListener(): void {\n pollAbortController.abort();\n }\n const abortSignal = pollAbortController.signal;\n if (options.abortSignal?.aborted) {\n pollAbortController.abort();\n } else if (pollOptions?.abortSignal?.aborted) {\n pollAbortController.abort();\n } else if (!abortSignal.aborted) {\n options.abortSignal?.addEventListener(\"abort\", abortListener, {\n once: true,\n });\n pollOptions?.abortSignal?.addEventListener(\"abort\", abortListener, {\n once: true,\n });\n }\n let response;\n try {\n const pollingPath = apiVersion ? addApiVersionToUrl(path, apiVersion) : path;\n response = await client.pathUnchecked(pollingPath).get({ abortSignal });\n } finally {\n options.abortSignal?.removeEventListener(\"abort\", abortListener);\n pollOptions?.abortSignal?.removeEventListener(\"abort\", abortListener);\n }\n\n return getLroResponse(response as TResponse, expectedStatuses);\n },\n };\n return createHttpPoller(poller, {\n intervalInMs: options?.updateIntervalInMs,\n resourceLocationConfig: options?.resourceLocationConfig,\n restoreFrom: options?.restoreFrom,\n processResult: (result: unknown) => {\n return processResponseBody(result as TResponse);\n },\n });\n}\n/**\n * Converts a Rest Client response to a response that the LRO implementation understands\n * @param response - a rest client http response\n * @param deserializeFn - deserialize function to convert Rest response to modular output\n * @returns - An LRO response that the LRO implementation understands\n */\nfunction getLroResponse<TResponse extends PathUncheckedResponse>(\n response: TResponse,\n expectedStatuses: string[],\n): OperationResponse<TResponse> {\n if (!expectedStatuses.includes(response.status)) {\n throw createRestError(response);\n }\n\n return {\n flatResponse: response,\n rawResponse: {\n ...response,\n statusCode: Number.parseInt(response.status),\n body: response.body,\n },\n };\n}\n\n/**\n * Adds the api-version query parameter on a URL if it's not present.\n * @param url - the URL to modify\n * @param apiVersion - the API version to set\n * @returns - the URL with the api-version query parameter set\n */\nfunction addApiVersionToUrl(url: string, apiVersion: string): string {\n // The base URL is only used for parsing and won't appear in the returned URL\n const urlObj = new URL(url, \"https://microsoft.com\");\n if (!urlObj.searchParams.get(\"api-version\")) {\n // Append one if there is no apiVersion\n return `${url}${\n Array.from(urlObj.searchParams.keys()).length > 0 ? \"&\" : \"?\"\n }api-version=${apiVersion}`;\n }\n return url;\n}\n"],
5
+ "mappings": "AAUA,SAAS,wBAAwB;AAGjC,SAAS,uBAAuB;AAgCzB,SAAS,qBACd,QACA,qBACA,kBACA,SAC8C;AAC9C,QAAM,EAAE,aAAa,oBAAoB,WAAW,IAAI;AACxD,MAAI,CAAC,eAAe,CAAC,oBAAoB;AACvC,UAAM,IAAI,MAAM,4DAA4D;AAAA,EAC9E;AACA,MAAI,kBAAyC;AAC7C,QAAM,sBAAsB,IAAI,gBAAgB;AAChD,QAAM,SAAsC;AAAA,IAC1C,oBAAoB,YAAY;AAC9B,UAAI,CAAC,oBAAoB;AACvB,cAAM,IAAI,MAAM,+DAA+D;AAAA,MACjF;AACA,wBAAkB,MAAM,mBAAmB;AAC3C,aAAO,eAAe,iBAAiB,gBAAgB;AAAA,IACzD;AAAA,IACA,iBAAiB,OACf,MACA,gBAGG;AAEH,eAAS,gBAAsB;AAC7B,4BAAoB,MAAM;AAAA,MAC5B;AACA,YAAM,cAAc,oBAAoB;AACxC,UAAI,QAAQ,aAAa,SAAS;AAChC,4BAAoB,MAAM;AAAA,MAC5B,WAAW,aAAa,aAAa,SAAS;AAC5C,4BAAoB,MAAM;AAAA,MAC5B,WAAW,CAAC,YAAY,SAAS;AAC/B,gBAAQ,aAAa,iBAAiB,SAAS,eAAe;AAAA,UAC5D,MAAM;AAAA,QACR,CAAC;AACD,qBAAa,aAAa,iBAAiB,SAAS,eAAe;AAAA,UACjE,MAAM;AAAA,QACR,CAAC;AAAA,MACH;AACA,UAAI;AACJ,UAAI;AACF,cAAM,cAAc,aAAa,mBAAmB,MAAM,UAAU,IAAI;AACxE,mBAAW,MAAM,OAAO,cAAc,WAAW,EAAE,IAAI,EAAE,YAAY,CAAC;AAAA,MACxE,UAAE;AACA,gBAAQ,aAAa,oBAAoB,SAAS,aAAa;AAC/D,qBAAa,aAAa,oBAAoB,SAAS,aAAa;AAAA,MACtE;AAEA,aAAO,eAAe,UAAuB,gBAAgB;AAAA,IAC/D;AAAA,EACF;AACA,SAAO,iBAAiB,QAAQ;AAAA,IAC9B,cAAc,SAAS;AAAA,IACvB,wBAAwB,SAAS;AAAA,IACjC,aAAa,SAAS;AAAA,IACtB,eAAe,CAAC,WAAoB;AAClC,aAAO,oBAAoB,MAAmB;AAAA,IAChD;AAAA,EACF,CAAC;AACH;AAOA,SAAS,eACP,UACA,kBAC8B;AAC9B,MAAI,CAAC,iBAAiB,SAAS,SAAS,MAAM,GAAG;AAC/C,UAAM,gBAAgB,QAAQ;AAAA,EAChC;AAEA,SAAO;AAAA,IACL,cAAc;AAAA,IACd,aAAa;AAAA,MACX,GAAG;AAAA,MACH,YAAY,OAAO,SAAS,SAAS,MAAM;AAAA,MAC3C,MAAM,SAAS;AAAA,IACjB;AAAA,EACF;AACF;AAQA,SAAS,mBAAmB,KAAa,YAA4B;AAEnE,QAAM,SAAS,IAAI,IAAI,KAAK,uBAAuB;AACnD,MAAI,CAAC,OAAO,aAAa,IAAI,aAAa,GAAG;AAE3C,WAAO,GAAG,GAAG,GACX,MAAM,KAAK,OAAO,aAAa,KAAK,CAAC,EAAE,SAAS,IAAI,MAAM,GAC5D,eAAe,UAAU;AAAA,EAC3B;AACA,SAAO;AACT;",
6
+ "names": []
7
+ }
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Returns true if all specified properties of the item are undefined.
3
+ * @param item The object to check.
4
+ * @param properties The list of property names to check on the item.
5
+ * @returns True if all specified properties are undefined, otherwise false.
6
+ */
7
+ export declare function areAllPropsUndefined(item: Record<string, any>, properties: string[]): boolean;
8
+ //# sourceMappingURL=check-prop-undefined.d.ts.map
@@ -0,0 +1,11 @@
1
+ function areAllPropsUndefined(item, properties) {
2
+ for (const property of properties) {
3
+ if (item[property] !== void 0) {
4
+ return false;
5
+ }
6
+ }
7
+ return true;
8
+ }
9
+ export {
10
+ areAllPropsUndefined
11
+ };
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["/mnt/vss/_work/1/s/sdk/servicefabricmanagedclusters/arm-servicefabricmanagedclusters/src/static-helpers/serialization/check-prop-undefined.ts"],
4
+ "sourcesContent": ["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/**\n * Returns true if all specified properties of the item are undefined.\n * @param item The object to check.\n * @param properties The list of property names to check on the item.\n * @returns True if all specified properties are undefined, otherwise false.\n */\nexport function areAllPropsUndefined(item: Record<string, any>, properties: string[]): boolean {\n for (const property of properties) {\n if (item[property] !== undefined) {\n return false;\n }\n }\n return true;\n}\n"],
5
+ "mappings": "AASO,SAAS,qBAAqB,MAA2B,YAA+B;AAC7F,aAAW,YAAY,YAAY;AACjC,QAAI,KAAK,QAAQ,MAAM,QAAW;AAChC,aAAO;AAAA,IACT;AAAA,EACF;AACA,SAAO;AACT;",
6
+ "names": []
7
+ }
@@ -1,185 +1,173 @@
1
- // Copyright (c) Microsoft Corporation.
2
- // Licensed under the MIT License.
3
- // ---------------------
4
- // helpers
5
- // ---------------------
6
1
  function encodeComponent(val, reserved, op) {
7
- return (reserved ?? op === "+") || op === "#"
8
- ? encodeReservedComponent(val)
9
- : encodeRFC3986URIComponent(val);
2
+ return (reserved ?? op === "+") || op === "#" ? encodeReservedComponent(val) : encodeRFC3986URIComponent(val);
10
3
  }
11
4
  function encodeReservedComponent(str) {
12
- return str
13
- .split(/(%[0-9A-Fa-f]{2})/g)
14
- .map((part) => (!/%[0-9A-Fa-f]/.test(part) ? encodeURI(part) : part))
15
- .join("");
5
+ return str.split(/(%[0-9A-Fa-f]{2})/g).map((part) => !/%[0-9A-Fa-f]/.test(part) ? encodeURI(part) : part).join("");
16
6
  }
17
7
  function encodeRFC3986URIComponent(str) {
18
- return encodeURIComponent(str).replace(/[!'()*]/g, (c) => `%${c.charCodeAt(0).toString(16).toUpperCase()}`);
8
+ return encodeURIComponent(str).replace(
9
+ /[!'()*]/g,
10
+ (c) => `%${c.charCodeAt(0).toString(16).toUpperCase()}`
11
+ );
19
12
  }
20
13
  function isDefined(val) {
21
- return val !== undefined && val !== null;
14
+ return val !== void 0 && val !== null;
22
15
  }
23
16
  function getNamedAndIfEmpty(op) {
24
- return [!!op && [";", "?", "&"].includes(op), !!op && ["?", "&"].includes(op) ? "=" : ""];
17
+ return [!!op && [";", "?", "&"].includes(op), !!op && ["?", "&"].includes(op) ? "=" : ""];
25
18
  }
26
19
  function getFirstOrSep(op, isFirst = false) {
27
- if (isFirst) {
28
- return !op || op === "+" ? "" : op;
29
- }
30
- else if (!op || op === "+" || op === "#") {
31
- return ",";
32
- }
33
- else if (op === "?") {
34
- return "&";
35
- }
36
- else {
37
- return op;
38
- }
20
+ if (isFirst) {
21
+ return !op || op === "+" ? "" : op;
22
+ } else if (!op || op === "+" || op === "#") {
23
+ return ",";
24
+ } else if (op === "?") {
25
+ return "&";
26
+ } else {
27
+ return op;
28
+ }
39
29
  }
40
30
  function getExpandedValue(option) {
41
- let isFirst = option.isFirst;
42
- const { op, varName, varValue: value, reserved } = option;
43
- const vals = [];
44
- const [named, ifEmpty] = getNamedAndIfEmpty(op);
45
- if (Array.isArray(value)) {
46
- for (const val of value.filter(isDefined)) {
47
- // prepare the following parts: separator, varName, value
48
- vals.push(`${getFirstOrSep(op, isFirst)}`);
49
- if (named && varName) {
50
- vals.push(`${encodeURIComponent(varName)}`);
51
- if (val === "") {
52
- vals.push(ifEmpty);
53
- }
54
- else {
55
- vals.push("=");
56
- }
57
- }
58
- vals.push(encodeComponent(val, reserved, op));
59
- isFirst = false;
31
+ let isFirst = option.isFirst;
32
+ const { op, varName, varValue: value, reserved } = option;
33
+ const vals = [];
34
+ const [named, ifEmpty] = getNamedAndIfEmpty(op);
35
+ if (Array.isArray(value)) {
36
+ for (const val of value.filter(isDefined)) {
37
+ vals.push(`${getFirstOrSep(op, isFirst)}`);
38
+ if (named && varName) {
39
+ vals.push(`${encodeURIComponent(varName)}`);
40
+ if (val === "") {
41
+ vals.push(ifEmpty);
42
+ } else {
43
+ vals.push("=");
60
44
  }
45
+ }
46
+ vals.push(encodeComponent(val, reserved, op));
47
+ isFirst = false;
61
48
  }
62
- else if (typeof value === "object") {
63
- for (const key of Object.keys(value)) {
64
- const val = value[key];
65
- if (!isDefined(val)) {
66
- continue;
67
- }
68
- // prepare the following parts: separator, key, value
69
- vals.push(`${getFirstOrSep(op, isFirst)}`);
70
- if (key) {
71
- vals.push(`${encodeURIComponent(key)}`);
72
- if (named && val === "") {
73
- vals.push(ifEmpty);
74
- }
75
- else {
76
- vals.push("=");
77
- }
78
- }
79
- vals.push(encodeComponent(val, reserved, op));
80
- isFirst = false;
49
+ } else if (typeof value === "object") {
50
+ for (const key of Object.keys(value)) {
51
+ const val = value[key];
52
+ if (!isDefined(val)) {
53
+ continue;
54
+ }
55
+ vals.push(`${getFirstOrSep(op, isFirst)}`);
56
+ if (key) {
57
+ vals.push(`${encodeURIComponent(key)}`);
58
+ if (named && val === "") {
59
+ vals.push(ifEmpty);
60
+ } else {
61
+ vals.push("=");
81
62
  }
63
+ }
64
+ vals.push(encodeComponent(val, reserved, op));
65
+ isFirst = false;
82
66
  }
83
- return vals.join("");
67
+ }
68
+ return vals.join("");
84
69
  }
85
70
  function getNonExpandedValue(option) {
86
- const { op, varName, varValue: value, isFirst, reserved } = option;
87
- const vals = [];
88
- const first = getFirstOrSep(op, isFirst);
89
- const [named, ifEmpty] = getNamedAndIfEmpty(op);
90
- if (named && varName) {
91
- vals.push(encodeComponent(varName, reserved, op));
92
- if (value === "") {
93
- if (!ifEmpty) {
94
- vals.push(ifEmpty);
95
- }
96
- return !vals.join("") ? undefined : `${first}${vals.join("")}`;
97
- }
98
- vals.push("=");
71
+ const { op, varName, varValue: value, isFirst, reserved } = option;
72
+ const vals = [];
73
+ const first = getFirstOrSep(op, isFirst);
74
+ const [named, ifEmpty] = getNamedAndIfEmpty(op);
75
+ if (named && varName) {
76
+ vals.push(encodeComponent(varName, reserved, op));
77
+ if (value === "") {
78
+ if (!ifEmpty) {
79
+ vals.push(ifEmpty);
80
+ }
81
+ return !vals.join("") ? void 0 : `${first}${vals.join("")}`;
99
82
  }
100
- const items = [];
101
- if (Array.isArray(value)) {
102
- for (const val of value.filter(isDefined)) {
103
- items.push(encodeComponent(val, reserved, op));
104
- }
83
+ vals.push("=");
84
+ }
85
+ const items = [];
86
+ if (Array.isArray(value)) {
87
+ for (const val of value.filter(isDefined)) {
88
+ items.push(encodeComponent(val, reserved, op));
105
89
  }
106
- else if (typeof value === "object") {
107
- for (const key of Object.keys(value)) {
108
- if (!isDefined(value[key])) {
109
- continue;
110
- }
111
- items.push(encodeRFC3986URIComponent(key));
112
- items.push(encodeComponent(value[key], reserved, op));
113
- }
90
+ } else if (typeof value === "object") {
91
+ for (const key of Object.keys(value)) {
92
+ if (!isDefined(value[key])) {
93
+ continue;
94
+ }
95
+ items.push(encodeRFC3986URIComponent(key));
96
+ items.push(encodeComponent(value[key], reserved, op));
114
97
  }
115
- vals.push(items.join(","));
116
- return !vals.join(",") ? undefined : `${first}${vals.join("")}`;
98
+ }
99
+ vals.push(items.join(","));
100
+ return !vals.join(",") ? void 0 : `${first}${vals.join("")}`;
117
101
  }
118
102
  function getVarValue(option) {
119
- const { op, varName, modifier, isFirst, reserved, varValue: value } = option;
120
- if (!isDefined(value)) {
121
- return undefined;
103
+ const { op, varName, modifier, isFirst, reserved, varValue: value } = option;
104
+ if (!isDefined(value)) {
105
+ return void 0;
106
+ } else if (["string", "number", "boolean"].includes(typeof value)) {
107
+ let val = value.toString();
108
+ const [named, ifEmpty] = getNamedAndIfEmpty(op);
109
+ const vals = [getFirstOrSep(op, isFirst)];
110
+ if (named && varName) {
111
+ vals.push(varName);
112
+ if (val === "") {
113
+ vals.push(ifEmpty);
114
+ } else {
115
+ vals.push("=");
116
+ }
122
117
  }
123
- else if (["string", "number", "boolean"].includes(typeof value)) {
124
- let val = value.toString();
125
- const [named, ifEmpty] = getNamedAndIfEmpty(op);
126
- const vals = [getFirstOrSep(op, isFirst)];
127
- if (named && varName) {
128
- // No need to encode varName considering it is already encoded
129
- vals.push(varName);
130
- if (val === "") {
131
- vals.push(ifEmpty);
132
- }
133
- else {
134
- vals.push("=");
135
- }
136
- }
137
- if (modifier && modifier !== "*") {
138
- val = val.substring(0, parseInt(modifier, 10));
139
- }
140
- vals.push(encodeComponent(val, reserved, op));
141
- return vals.join("");
118
+ if (modifier && modifier !== "*") {
119
+ val = val.substring(0, parseInt(modifier, 10));
120
+ }
121
+ vals.push(encodeComponent(val, reserved, op));
122
+ return vals.join("");
123
+ } else if (modifier === "*") {
124
+ return getExpandedValue(option);
125
+ } else {
126
+ return getNonExpandedValue(option);
127
+ }
128
+ }
129
+ function expandUrlTemplate(template, context, option) {
130
+ const result = template.replace(/\{([^{}]+)\}|([^{}]+)/g, (_, expr, text) => {
131
+ if (!expr) {
132
+ return encodeReservedComponent(text);
142
133
  }
143
- else if (modifier === "*") {
144
- return getExpandedValue(option);
134
+ let op;
135
+ if (["+", "#", ".", "/", ";", "?", "&"].includes(expr[0])) {
136
+ op = expr[0];
137
+ expr = expr.slice(1);
145
138
  }
146
- else {
147
- return getNonExpandedValue(option);
139
+ const varList = expr.split(/,/g);
140
+ const innerResult = [];
141
+ for (const varSpec of varList) {
142
+ const varMatch = /([^:*]*)(?::(\d+)|(\*))?/.exec(varSpec);
143
+ if (!varMatch || !varMatch[1]) {
144
+ continue;
145
+ }
146
+ const varValue = getVarValue({
147
+ isFirst: innerResult.length === 0,
148
+ op,
149
+ varValue: context[varMatch[1]],
150
+ varName: varMatch[1],
151
+ modifier: varMatch[2] || varMatch[3],
152
+ reserved: option?.allowReserved
153
+ });
154
+ if (varValue) {
155
+ innerResult.push(varValue);
156
+ }
148
157
  }
158
+ return innerResult.join("");
159
+ });
160
+ return normalizeUnreserved(result);
149
161
  }
150
- // ---------------------------------------------------------------------------------------------------
151
- // This is an implementation of RFC 6570 URI Template: https://datatracker.ietf.org/doc/html/rfc6570.
152
- // ---------------------------------------------------------------------------------------------------
153
- export function expandUrlTemplate(template, context, option) {
154
- return template.replace(/\{([^{}]+)\}|([^{}]+)/g, (_, expr, text) => {
155
- if (!expr) {
156
- return encodeReservedComponent(text);
157
- }
158
- let op;
159
- if (["+", "#", ".", "/", ";", "?", "&"].includes(expr[0])) {
160
- op = expr[0];
161
- expr = expr.slice(1);
162
- }
163
- const varList = expr.split(/,/g);
164
- const result = [];
165
- for (const varSpec of varList) {
166
- const varMatch = /([^:*]*)(?::(\d+)|(\*))?/.exec(varSpec);
167
- if (!varMatch || !varMatch[1]) {
168
- continue;
169
- }
170
- const varValue = getVarValue({
171
- isFirst: result.length === 0,
172
- op,
173
- varValue: context[varMatch[1]],
174
- varName: varMatch[1],
175
- modifier: varMatch[2] || varMatch[3],
176
- reserved: option?.allowReserved,
177
- });
178
- if (varValue) {
179
- result.push(varValue);
180
- }
181
- }
182
- return result.join("");
183
- });
162
+ function normalizeUnreserved(uri) {
163
+ return uri.replace(/%([0-9A-Fa-f]{2})/g, (match, hex) => {
164
+ const char = String.fromCharCode(parseInt(hex, 16));
165
+ if (/[.~-]/.test(char)) {
166
+ return char;
167
+ }
168
+ return match;
169
+ });
184
170
  }
185
- //# sourceMappingURL=urlTemplate.js.map
171
+ export {
172
+ expandUrlTemplate
173
+ };
@@ -1 +1,7 @@
1
- {"version":3,"file":"urlTemplate.js","sourceRoot":"","sources":["../../../src/static-helpers/urlTemplate.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n// ---------------------\n// interfaces\n// ---------------------\ninterface ValueOptions {\n isFirst: boolean; // is first value in the expression\n op?: string; // operator\n varValue?: any; // variable value\n varName?: string; // variable name\n modifier?: string; // modifier e.g *\n reserved?: boolean; // if true we'll keep reserved words with not encoding\n}\n\nexport interface UrlTemplateOptions {\n // if set to true, reserved characters will not be encoded\n allowReserved?: boolean;\n}\n\n// ---------------------\n// helpers\n// ---------------------\nfunction encodeComponent(val: string, reserved?: boolean, op?: string): string {\n return (reserved ?? op === \"+\") || op === \"#\"\n ? encodeReservedComponent(val)\n : encodeRFC3986URIComponent(val);\n}\n\nfunction encodeReservedComponent(str: string): string {\n return str\n .split(/(%[0-9A-Fa-f]{2})/g)\n .map((part) => (!/%[0-9A-Fa-f]/.test(part) ? encodeURI(part) : part))\n .join(\"\");\n}\n\nfunction encodeRFC3986URIComponent(str: string): string {\n return encodeURIComponent(str).replace(\n /[!'()*]/g,\n (c) => `%${c.charCodeAt(0).toString(16).toUpperCase()}`,\n );\n}\n\nfunction isDefined(val: any): boolean {\n return val !== undefined && val !== null;\n}\n\nfunction getNamedAndIfEmpty(op?: string): [boolean, string] {\n return [!!op && [\";\", \"?\", \"&\"].includes(op), !!op && [\"?\", \"&\"].includes(op) ? \"=\" : \"\"];\n}\n\nfunction getFirstOrSep(op?: string, isFirst = false): string {\n if (isFirst) {\n return !op || op === \"+\" ? \"\" : op;\n } else if (!op || op === \"+\" || op === \"#\") {\n return \",\";\n } else if (op === \"?\") {\n return \"&\";\n } else {\n return op;\n }\n}\n\nfunction getExpandedValue(option: ValueOptions): string {\n let isFirst = option.isFirst;\n const { op, varName, varValue: value, reserved } = option;\n const vals: string[] = [];\n const [named, ifEmpty] = getNamedAndIfEmpty(op);\n\n if (Array.isArray(value)) {\n for (const val of value.filter(isDefined)) {\n // prepare the following parts: separator, varName, value\n vals.push(`${getFirstOrSep(op, isFirst)}`);\n if (named && varName) {\n vals.push(`${encodeURIComponent(varName)}`);\n if (val === \"\") {\n vals.push(ifEmpty);\n } else {\n vals.push(\"=\");\n }\n }\n vals.push(encodeComponent(val, reserved, op));\n isFirst = false;\n }\n } else if (typeof value === \"object\") {\n for (const key of Object.keys(value)) {\n const val = value[key];\n if (!isDefined(val)) {\n continue;\n }\n // prepare the following parts: separator, key, value\n vals.push(`${getFirstOrSep(op, isFirst)}`);\n if (key) {\n vals.push(`${encodeURIComponent(key)}`);\n if (named && val === \"\") {\n vals.push(ifEmpty);\n } else {\n vals.push(\"=\");\n }\n }\n vals.push(encodeComponent(val, reserved, op));\n isFirst = false;\n }\n }\n return vals.join(\"\");\n}\n\nfunction getNonExpandedValue(option: ValueOptions): string | undefined {\n const { op, varName, varValue: value, isFirst, reserved } = option;\n const vals: string[] = [];\n const first = getFirstOrSep(op, isFirst);\n const [named, ifEmpty] = getNamedAndIfEmpty(op);\n if (named && varName) {\n vals.push(encodeComponent(varName, reserved, op));\n if (value === \"\") {\n if (!ifEmpty) {\n vals.push(ifEmpty);\n }\n return !vals.join(\"\") ? undefined : `${first}${vals.join(\"\")}`;\n }\n vals.push(\"=\");\n }\n\n const items = [];\n if (Array.isArray(value)) {\n for (const val of value.filter(isDefined)) {\n items.push(encodeComponent(val, reserved, op));\n }\n } else if (typeof value === \"object\") {\n for (const key of Object.keys(value)) {\n if (!isDefined(value[key])) {\n continue;\n }\n items.push(encodeRFC3986URIComponent(key));\n items.push(encodeComponent(value[key], reserved, op));\n }\n }\n vals.push(items.join(\",\"));\n return !vals.join(\",\") ? undefined : `${first}${vals.join(\"\")}`;\n}\n\nfunction getVarValue(option: ValueOptions): string | undefined {\n const { op, varName, modifier, isFirst, reserved, varValue: value } = option;\n\n if (!isDefined(value)) {\n return undefined;\n } else if ([\"string\", \"number\", \"boolean\"].includes(typeof value)) {\n let val = value.toString();\n const [named, ifEmpty] = getNamedAndIfEmpty(op);\n const vals: string[] = [getFirstOrSep(op, isFirst)];\n if (named && varName) {\n // No need to encode varName considering it is already encoded\n vals.push(varName);\n if (val === \"\") {\n vals.push(ifEmpty);\n } else {\n vals.push(\"=\");\n }\n }\n if (modifier && modifier !== \"*\") {\n val = val.substring(0, parseInt(modifier, 10));\n }\n vals.push(encodeComponent(val, reserved, op));\n return vals.join(\"\");\n } else if (modifier === \"*\") {\n return getExpandedValue(option);\n } else {\n return getNonExpandedValue(option);\n }\n}\n\n// ---------------------------------------------------------------------------------------------------\n// This is an implementation of RFC 6570 URI Template: https://datatracker.ietf.org/doc/html/rfc6570.\n// ---------------------------------------------------------------------------------------------------\nexport function expandUrlTemplate(\n template: string,\n context: Record<string, any>,\n option?: UrlTemplateOptions,\n): string {\n return template.replace(/\\{([^{}]+)\\}|([^{}]+)/g, (_, expr, text) => {\n if (!expr) {\n return encodeReservedComponent(text);\n }\n let op;\n if ([\"+\", \"#\", \".\", \"/\", \";\", \"?\", \"&\"].includes(expr[0])) {\n op = expr[0];\n expr = expr.slice(1);\n }\n const varList = expr.split(/,/g);\n const result = [];\n for (const varSpec of varList) {\n const varMatch = /([^:*]*)(?::(\\d+)|(\\*))?/.exec(varSpec);\n if (!varMatch || !varMatch[1]) {\n continue;\n }\n const varValue = getVarValue({\n isFirst: result.length === 0,\n op,\n varValue: context[varMatch[1]],\n varName: varMatch[1],\n modifier: varMatch[2] || varMatch[3],\n reserved: option?.allowReserved,\n });\n if (varValue) {\n result.push(varValue);\n }\n }\n return result.join(\"\");\n });\n}\n"]}
1
+ {
2
+ "version": 3,
3
+ "sources": ["/mnt/vss/_work/1/s/sdk/servicefabricmanagedclusters/arm-servicefabricmanagedclusters/src/static-helpers/urlTemplate.ts"],
4
+ "sourcesContent": ["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n// ---------------------\n// interfaces\n// ---------------------\ninterface ValueOptions {\n isFirst: boolean; // is first value in the expression\n op?: string; // operator\n varValue?: any; // variable value\n varName?: string; // variable name\n modifier?: string; // modifier e.g *\n reserved?: boolean; // if true we'll keep reserved words with not encoding\n}\n\nexport interface UrlTemplateOptions {\n // if set to true, reserved characters will not be encoded\n allowReserved?: boolean;\n}\n\n// ---------------------\n// helpers\n// ---------------------\nfunction encodeComponent(val: string, reserved?: boolean, op?: string): string {\n return (reserved ?? op === \"+\") || op === \"#\"\n ? encodeReservedComponent(val)\n : encodeRFC3986URIComponent(val);\n}\n\nfunction encodeReservedComponent(str: string): string {\n return str\n .split(/(%[0-9A-Fa-f]{2})/g)\n .map((part) => (!/%[0-9A-Fa-f]/.test(part) ? encodeURI(part) : part))\n .join(\"\");\n}\n\nfunction encodeRFC3986URIComponent(str: string): string {\n return encodeURIComponent(str).replace(\n /[!'()*]/g,\n (c) => `%${c.charCodeAt(0).toString(16).toUpperCase()}`,\n );\n}\n\nfunction isDefined(val: any): boolean {\n return val !== undefined && val !== null;\n}\n\nfunction getNamedAndIfEmpty(op?: string): [boolean, string] {\n return [!!op && [\";\", \"?\", \"&\"].includes(op), !!op && [\"?\", \"&\"].includes(op) ? \"=\" : \"\"];\n}\n\nfunction getFirstOrSep(op?: string, isFirst = false): string {\n if (isFirst) {\n return !op || op === \"+\" ? \"\" : op;\n } else if (!op || op === \"+\" || op === \"#\") {\n return \",\";\n } else if (op === \"?\") {\n return \"&\";\n } else {\n return op;\n }\n}\n\nfunction getExpandedValue(option: ValueOptions): string {\n let isFirst = option.isFirst;\n const { op, varName, varValue: value, reserved } = option;\n const vals: string[] = [];\n const [named, ifEmpty] = getNamedAndIfEmpty(op);\n\n if (Array.isArray(value)) {\n for (const val of value.filter(isDefined)) {\n // prepare the following parts: separator, varName, value\n vals.push(`${getFirstOrSep(op, isFirst)}`);\n if (named && varName) {\n vals.push(`${encodeURIComponent(varName)}`);\n if (val === \"\") {\n vals.push(ifEmpty);\n } else {\n vals.push(\"=\");\n }\n }\n vals.push(encodeComponent(val, reserved, op));\n isFirst = false;\n }\n } else if (typeof value === \"object\") {\n for (const key of Object.keys(value)) {\n const val = value[key];\n if (!isDefined(val)) {\n continue;\n }\n // prepare the following parts: separator, key, value\n vals.push(`${getFirstOrSep(op, isFirst)}`);\n if (key) {\n vals.push(`${encodeURIComponent(key)}`);\n if (named && val === \"\") {\n vals.push(ifEmpty);\n } else {\n vals.push(\"=\");\n }\n }\n vals.push(encodeComponent(val, reserved, op));\n isFirst = false;\n }\n }\n return vals.join(\"\");\n}\n\nfunction getNonExpandedValue(option: ValueOptions): string | undefined {\n const { op, varName, varValue: value, isFirst, reserved } = option;\n const vals: string[] = [];\n const first = getFirstOrSep(op, isFirst);\n const [named, ifEmpty] = getNamedAndIfEmpty(op);\n if (named && varName) {\n vals.push(encodeComponent(varName, reserved, op));\n if (value === \"\") {\n if (!ifEmpty) {\n vals.push(ifEmpty);\n }\n return !vals.join(\"\") ? undefined : `${first}${vals.join(\"\")}`;\n }\n vals.push(\"=\");\n }\n\n const items = [];\n if (Array.isArray(value)) {\n for (const val of value.filter(isDefined)) {\n items.push(encodeComponent(val, reserved, op));\n }\n } else if (typeof value === \"object\") {\n for (const key of Object.keys(value)) {\n if (!isDefined(value[key])) {\n continue;\n }\n items.push(encodeRFC3986URIComponent(key));\n items.push(encodeComponent(value[key], reserved, op));\n }\n }\n vals.push(items.join(\",\"));\n return !vals.join(\",\") ? undefined : `${first}${vals.join(\"\")}`;\n}\n\nfunction getVarValue(option: ValueOptions): string | undefined {\n const { op, varName, modifier, isFirst, reserved, varValue: value } = option;\n\n if (!isDefined(value)) {\n return undefined;\n } else if ([\"string\", \"number\", \"boolean\"].includes(typeof value)) {\n let val = value.toString();\n const [named, ifEmpty] = getNamedAndIfEmpty(op);\n const vals: string[] = [getFirstOrSep(op, isFirst)];\n if (named && varName) {\n // No need to encode varName considering it is already encoded\n vals.push(varName);\n if (val === \"\") {\n vals.push(ifEmpty);\n } else {\n vals.push(\"=\");\n }\n }\n if (modifier && modifier !== \"*\") {\n val = val.substring(0, parseInt(modifier, 10));\n }\n vals.push(encodeComponent(val, reserved, op));\n return vals.join(\"\");\n } else if (modifier === \"*\") {\n return getExpandedValue(option);\n } else {\n return getNonExpandedValue(option);\n }\n}\n\n// ---------------------------------------------------------------------------------------------------\n// This is an implementation of RFC 6570 URI Template: https://datatracker.ietf.org/doc/html/rfc6570.\n// ---------------------------------------------------------------------------------------------------\nexport function expandUrlTemplate(\n template: string,\n context: Record<string, any>,\n option?: UrlTemplateOptions,\n): string {\n const result = template.replace(/\\{([^{}]+)\\}|([^{}]+)/g, (_, expr, text) => {\n if (!expr) {\n return encodeReservedComponent(text);\n }\n let op;\n if ([\"+\", \"#\", \".\", \"/\", \";\", \"?\", \"&\"].includes(expr[0])) {\n op = expr[0];\n expr = expr.slice(1);\n }\n const varList = expr.split(/,/g);\n const innerResult = [];\n for (const varSpec of varList) {\n const varMatch = /([^:*]*)(?::(\\d+)|(\\*))?/.exec(varSpec);\n if (!varMatch || !varMatch[1]) {\n continue;\n }\n const varValue = getVarValue({\n isFirst: innerResult.length === 0,\n op,\n varValue: context[varMatch[1]],\n varName: varMatch[1],\n modifier: varMatch[2] || varMatch[3],\n reserved: option?.allowReserved,\n });\n if (varValue) {\n innerResult.push(varValue);\n }\n }\n return innerResult.join(\"\");\n });\n\n return normalizeUnreserved(result);\n}\n\n/**\n * Normalize an expanded URI by decoding percent-encoded unreserved characters.\n * RFC 3986 unreserved: \"-\" / \".\" / \"~\"\n */\nfunction normalizeUnreserved(uri: string): string {\n return uri.replace(/%([0-9A-Fa-f]{2})/g, (match, hex) => {\n const char = String.fromCharCode(parseInt(hex, 16));\n // Decode only if it's unreserved\n if (/[.~-]/.test(char)) {\n return char;\n }\n return match; // leave other encodings intact\n });\n}\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }