@alauda-fe/dynamic-plugin-shared 0.0.1-alpha.8 → 0.0.3-alpha.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 (395) hide show
  1. package/assets/i18n/en/dynamic-plugin-shared.json +3 -0
  2. package/assets/images/overview-banner.svg +1 -0
  3. package/fesm2022/alauda-fe-dynamic-plugin-shared.mjs +3038 -1828
  4. package/fesm2022/alauda-fe-dynamic-plugin-shared.mjs.map +1 -1
  5. package/package.json +15 -17
  6. package/styles/lib.scss +1 -1
  7. package/styles/mixins.scss +1 -210
  8. package/styles/var.scss +1 -26
  9. package/types/alauda-fe-dynamic-plugin-shared.d.ts +5692 -0
  10. package/array-form-table/base-string-map-form.component.d.ts +0 -22
  11. package/array-form-table/form/component.d.ts +0 -106
  12. package/array-form-table/form/index.d.ts +0 -3
  13. package/array-form-table/index.d.ts +0 -10
  14. package/array-form-table/key-value-form/component.d.ts +0 -38
  15. package/array-form-table/key-value-table/component.d.ts +0 -9
  16. package/array-form-table/string-array-form/component.d.ts +0 -41
  17. package/async-data/async-data-loader.d.ts +0 -31
  18. package/async-data/error-page/component.d.ts +0 -30
  19. package/async-data/index.d.ts +0 -13
  20. package/async-data/page-state/component.d.ts +0 -21
  21. package/async-data/types.d.ts +0 -29
  22. package/code-editor/code-display-dialog/component.d.ts +0 -17
  23. package/code-editor/code-editor-configs.d.ts +0 -19
  24. package/code-editor/index.d.ts +0 -10
  25. package/code-editor/k8s-yaml-display-dialog/component.d.ts +0 -16
  26. package/code-editor/resource-yaml-display/component.d.ts +0 -21
  27. package/components/card-section/card-section.component.d.ts +0 -9
  28. package/components/confirm-delete/confirm-delete.component.d.ts +0 -57
  29. package/components/confirm-delete/utils.d.ts +0 -25
  30. package/components/current-time/component.d.ts +0 -14
  31. package/components/custom-columns-setting/component.d.ts +0 -16
  32. package/components/custom-columns-setting/index.d.ts +0 -1
  33. package/components/date-range-picker/component.d.ts +0 -55
  34. package/components/date-range-picker/index.d.ts +0 -3
  35. package/components/date-range-picker/type.d.ts +0 -36
  36. package/components/date-range-picker/util.d.ts +0 -11
  37. package/components/disabled-container/disabled-container.component.d.ts +0 -21
  38. package/components/disabled-container/index.d.ts +0 -7
  39. package/components/field-set/column/component.d.ts +0 -10
  40. package/components/field-set/group/component.d.ts +0 -6
  41. package/components/field-set/index.d.ts +0 -7
  42. package/components/field-set/item/component.d.ts +0 -13
  43. package/components/foldable-block/component.d.ts +0 -17
  44. package/components/foldable-item-in-table/component.d.ts +0 -21
  45. package/components/help-document/component.d.ts +0 -29
  46. package/components/help-document/directive.d.ts +0 -20
  47. package/components/help-document/index.d.ts +0 -8
  48. package/components/help-document/service.d.ts +0 -20
  49. package/components/index.d.ts +0 -32
  50. package/components/loading-mask/loading-mask.component.d.ts +0 -13
  51. package/components/page-guard/component/component.d.ts +0 -40
  52. package/components/page-guard/component/helper-directives.d.ts +0 -17
  53. package/components/page-guard/component/page-guard.type.d.ts +0 -86
  54. package/components/page-guard/index.d.ts +0 -12
  55. package/components/password-input/component.d.ts +0 -39
  56. package/components/pod-status/component.d.ts +0 -25
  57. package/components/pod-status/index.d.ts +0 -3
  58. package/components/pod-status/status.d.ts +0 -4
  59. package/components/pod-status/typings.d.ts +0 -16
  60. package/components/relative-time/component.d.ts +0 -15
  61. package/components/resource-label/component.d.ts +0 -25
  62. package/components/resource-multi-select/component.d.ts +0 -41
  63. package/components/resource-multi-select/util.d.ts +0 -10
  64. package/components/search-panel/component.d.ts +0 -16
  65. package/components/search-panel/helper.directive.d.ts +0 -5
  66. package/components/search-panel/search-item/component.d.ts +0 -7
  67. package/components/select-prefix-label/directive.d.ts +0 -17
  68. package/components/status-icon/status-icon.component.d.ts +0 -16
  69. package/components/tags-label/component.d.ts +0 -56
  70. package/components/terminating-tag/component.d.ts +0 -7
  71. package/components/text-ellipsis/component.d.ts +0 -9
  72. package/components/text-tooltip/directive.d.ts +0 -21
  73. package/components/text-with-url/component.d.ts +0 -12
  74. package/components/upload-file/component.d.ts +0 -32
  75. package/components/workload-status/component.d.ts +0 -37
  76. package/components/workload-status/index.d.ts +0 -1
  77. package/components/zero-state/zero-state.component.d.ts +0 -17
  78. package/constants/common.d.ts +0 -64
  79. package/constants/index.d.ts +0 -6
  80. package/constants/k8s.d.ts +0 -12
  81. package/constants/patterns.d.ts +0 -124
  82. package/constants/resource-definitions.d.ts +0 -414
  83. package/constants/status-icons.d.ts +0 -34
  84. package/constants/timezones.d.ts +0 -6
  85. package/directives/aui-code-editor.directive.d.ts +0 -13
  86. package/directives/click-outside.directive.d.ts +0 -12
  87. package/directives/declare.directive.d.ts +0 -8
  88. package/directives/disabled.directive.d.ts +0 -28
  89. package/directives/effect-directive/coerce-number.directive.d.ts +0 -8
  90. package/directives/effect-directive/e2e-attribute-binding.directive.d.ts +0 -10
  91. package/directives/effect-directive/event.directive.d.ts +0 -47
  92. package/directives/effect-directive/index.d.ts +0 -12
  93. package/directives/effect-directive/min-max.directive.d.ts +0 -30
  94. package/directives/effect-directive/trim.directive.d.ts +0 -7
  95. package/directives/effect-directive/validators.directive.d.ts +0 -12
  96. package/directives/feature-gate.directive.d.ts +0 -31
  97. package/directives/index.d.ts +0 -12
  98. package/directives/last-form-item.directive.d.ts +0 -8
  99. package/directives/readonly-field.directive.d.ts +0 -39
  100. package/directives/resize.directive.d.ts +0 -17
  101. package/directives/scroll-border-observer.directive.d.ts +0 -23
  102. package/directives/scroll-to-first-invalid.directive.d.ts +0 -24
  103. package/directives/value-trace.directive.d.ts +0 -27
  104. package/esm2022/alauda-fe-dynamic-plugin-shared.mjs +0 -5
  105. package/esm2022/array-form-table/base-string-map-form.component.mjs +0 -92
  106. package/esm2022/array-form-table/form/component.mjs +0 -266
  107. package/esm2022/array-form-table/form/index.mjs +0 -13
  108. package/esm2022/array-form-table/index.mjs +0 -11
  109. package/esm2022/array-form-table/key-value-form/component.mjs +0 -135
  110. package/esm2022/array-form-table/key-value-table/component.mjs +0 -24
  111. package/esm2022/array-form-table/string-array-form/component.mjs +0 -168
  112. package/esm2022/async-data/async-data-loader.mjs +0 -63
  113. package/esm2022/async-data/error-page/component.mjs +0 -54
  114. package/esm2022/async-data/index.mjs +0 -18
  115. package/esm2022/async-data/page-state/component.mjs +0 -62
  116. package/esm2022/async-data/types.mjs +0 -6
  117. package/esm2022/code-editor/code-display-dialog/component.mjs +0 -35
  118. package/esm2022/code-editor/code-editor-configs.mjs +0 -66
  119. package/esm2022/code-editor/index.mjs +0 -11
  120. package/esm2022/code-editor/k8s-yaml-display-dialog/component.mjs +0 -26
  121. package/esm2022/code-editor/resource-yaml-display/component.mjs +0 -67
  122. package/esm2022/components/card-section/card-section.component.mjs +0 -24
  123. package/esm2022/components/confirm-delete/confirm-delete.component.mjs +0 -192
  124. package/esm2022/components/confirm-delete/utils.mjs +0 -8
  125. package/esm2022/components/current-time/component.mjs +0 -39
  126. package/esm2022/components/custom-columns-setting/component.mjs +0 -75
  127. package/esm2022/components/custom-columns-setting/index.mjs +0 -2
  128. package/esm2022/components/date-range-picker/component.mjs +0 -215
  129. package/esm2022/components/date-range-picker/index.mjs +0 -4
  130. package/esm2022/components/date-range-picker/type.mjs +0 -2
  131. package/esm2022/components/date-range-picker/util.mjs +0 -57
  132. package/esm2022/components/disabled-container/disabled-container.component.mjs +0 -81
  133. package/esm2022/components/disabled-container/index.mjs +0 -8
  134. package/esm2022/components/field-set/column/component.mjs +0 -25
  135. package/esm2022/components/field-set/group/component.mjs +0 -16
  136. package/esm2022/components/field-set/index.mjs +0 -14
  137. package/esm2022/components/field-set/item/component.mjs +0 -41
  138. package/esm2022/components/foldable-block/component.mjs +0 -60
  139. package/esm2022/components/foldable-item-in-table/component.mjs +0 -56
  140. package/esm2022/components/help-document/component.mjs +0 -69
  141. package/esm2022/components/help-document/directive.mjs +0 -70
  142. package/esm2022/components/help-document/index.mjs +0 -9
  143. package/esm2022/components/help-document/service.mjs +0 -43
  144. package/esm2022/components/index.mjs +0 -33
  145. package/esm2022/components/loading-mask/loading-mask.component.mjs +0 -35
  146. package/esm2022/components/page-guard/component/component.mjs +0 -101
  147. package/esm2022/components/page-guard/component/helper-directives.mjs +0 -51
  148. package/esm2022/components/page-guard/component/page-guard.type.mjs +0 -82
  149. package/esm2022/components/page-guard/index.mjs +0 -19
  150. package/esm2022/components/password-input/component.mjs +0 -143
  151. package/esm2022/components/pod-status/component.mjs +0 -49
  152. package/esm2022/components/pod-status/index.mjs +0 -4
  153. package/esm2022/components/pod-status/status.mjs +0 -84
  154. package/esm2022/components/pod-status/typings.mjs +0 -19
  155. package/esm2022/components/relative-time/component.mjs +0 -58
  156. package/esm2022/components/resource-label/component.mjs +0 -100
  157. package/esm2022/components/resource-multi-select/component.mjs +0 -152
  158. package/esm2022/components/resource-multi-select/util.mjs +0 -24
  159. package/esm2022/components/search-panel/component.mjs +0 -51
  160. package/esm2022/components/search-panel/helper.directive.mjs +0 -14
  161. package/esm2022/components/search-panel/search-item/component.mjs +0 -15
  162. package/esm2022/components/select-prefix-label/directive.mjs +0 -89
  163. package/esm2022/components/status-icon/status-icon.component.mjs +0 -56
  164. package/esm2022/components/tags-label/component.mjs +0 -224
  165. package/esm2022/components/terminating-tag/component.mjs +0 -16
  166. package/esm2022/components/text-ellipsis/component.mjs +0 -28
  167. package/esm2022/components/text-tooltip/directive.mjs +0 -71
  168. package/esm2022/components/text-with-url/component.mjs +0 -40
  169. package/esm2022/components/upload-file/component.mjs +0 -95
  170. package/esm2022/components/workload-status/component.mjs +0 -33
  171. package/esm2022/components/workload-status/index.mjs +0 -2
  172. package/esm2022/components/zero-state/zero-state.component.mjs +0 -56
  173. package/esm2022/constants/common.mjs +0 -86
  174. package/esm2022/constants/index.mjs +0 -7
  175. package/esm2022/constants/k8s.mjs +0 -13
  176. package/esm2022/constants/patterns.mjs +0 -142
  177. package/esm2022/constants/resource-definitions.mjs +0 -424
  178. package/esm2022/constants/status-icons.mjs +0 -65
  179. package/esm2022/constants/timezones.mjs +0 -234
  180. package/esm2022/directives/aui-code-editor.directive.mjs +0 -30
  181. package/esm2022/directives/click-outside.directive.mjs +0 -49
  182. package/esm2022/directives/declare.directive.mjs +0 -27
  183. package/esm2022/directives/disabled.directive.mjs +0 -76
  184. package/esm2022/directives/effect-directive/coerce-number.directive.mjs +0 -54
  185. package/esm2022/directives/effect-directive/e2e-attribute-binding.directive.mjs +0 -57
  186. package/esm2022/directives/effect-directive/event.directive.mjs +0 -129
  187. package/esm2022/directives/effect-directive/index.mjs +0 -21
  188. package/esm2022/directives/effect-directive/min-max.directive.mjs +0 -107
  189. package/esm2022/directives/effect-directive/trim.directive.mjs +0 -40
  190. package/esm2022/directives/effect-directive/validators.directive.mjs +0 -43
  191. package/esm2022/directives/feature-gate.directive.mjs +0 -90
  192. package/esm2022/directives/index.mjs +0 -13
  193. package/esm2022/directives/last-form-item.directive.mjs +0 -18
  194. package/esm2022/directives/readonly-field.directive.mjs +0 -145
  195. package/esm2022/directives/resize.directive.mjs +0 -39
  196. package/esm2022/directives/scroll-border-observer.directive.mjs +0 -77
  197. package/esm2022/directives/scroll-to-first-invalid.directive.mjs +0 -126
  198. package/esm2022/directives/value-trace.directive.mjs +0 -61
  199. package/esm2022/form/base-form-container.mjs +0 -126
  200. package/esm2022/form/base-nested-form-control.mjs +0 -190
  201. package/esm2022/form/errors-mapper/base-errors-mapper.mjs +0 -41
  202. package/esm2022/form/errors-mapper/default-errors-mapper.service.mjs +0 -65
  203. package/esm2022/form/errors-mapper/errors-mapper-component/component.mjs +0 -53
  204. package/esm2022/form/errors-mapper/errors-mapper.directive.mjs +0 -109
  205. package/esm2022/form/errors-mapper/index.mjs +0 -10
  206. package/esm2022/form/errors-mapper/types.mjs +0 -2
  207. package/esm2022/form/index.mjs +0 -6
  208. package/esm2022/form/utils.mjs +0 -61
  209. package/esm2022/form/validators/async-function-validator.directive.mjs +0 -49
  210. package/esm2022/form/validators/dns1123-subdomain.mjs +0 -42
  211. package/esm2022/form/validators/function-validator.directive.mjs +0 -49
  212. package/esm2022/form/validators/index.mjs +0 -10
  213. package/esm2022/form/validators/maxlength-minlength-validator.directive.mjs +0 -71
  214. package/esm2022/form/validators/not-be-validator.directive.mjs +0 -56
  215. package/esm2022/form/validators/one-of-validator.directive.mjs +0 -57
  216. package/esm2022/form/validators/resource-limit.mjs +0 -79
  217. package/esm2022/form/validators/strong-password/index.mjs +0 -4
  218. package/esm2022/form/validators/strong-password/strong-password-tooltip/component.mjs +0 -15
  219. package/esm2022/form/validators/strong-password/strong-password-validator.directive.mjs +0 -171
  220. package/esm2022/form/validators/strong-password/strong-password-validator.module.mjs +0 -36
  221. package/esm2022/form/validators/utils.mjs +0 -155
  222. package/esm2022/index.mjs +0 -15
  223. package/esm2022/k8s-resource-list/footer/component.mjs +0 -161
  224. package/esm2022/k8s-resource-list/index.mjs +0 -18
  225. package/esm2022/k8s-resource-list/k8s-resource-list.mjs +0 -224
  226. package/esm2022/k8s-resource-list/k8s-resource-paged-list.mjs +0 -174
  227. package/esm2022/k8s-resource-list/types.mjs +0 -11
  228. package/esm2022/k8s-resource-list/utils.mjs +0 -84
  229. package/esm2022/k8s-shared/constants.mjs +0 -53
  230. package/esm2022/k8s-shared/index.mjs +0 -12
  231. package/esm2022/k8s-shared/k8s-resource-translate-key.pipe.mjs +0 -31
  232. package/esm2022/k8s-shared/k8s-shared-util.service.mjs +0 -152
  233. package/esm2022/k8s-shared/resource-mark/component.mjs +0 -54
  234. package/esm2022/k8s-shared/resource-mark/util.mjs +0 -137
  235. package/esm2022/k8s-shared/update-description-dialog/component.mjs +0 -66
  236. package/esm2022/k8s-shared/update-display-name-dialog/component.mjs +0 -59
  237. package/esm2022/k8s-shared/update-key-value-dialog/component.mjs +0 -76
  238. package/esm2022/page-deactivate/deactivate.directive.mjs +0 -50
  239. package/esm2022/page-deactivate/deactivate.guard.mjs +0 -41
  240. package/esm2022/page-deactivate/deactivate.service.mjs +0 -78
  241. package/esm2022/page-deactivate/index.mjs +0 -4
  242. package/esm2022/pipes/calc.pipe.mjs +0 -21
  243. package/esm2022/pipes/cron-human-readable.pipe.mjs +0 -30
  244. package/esm2022/pipes/crontab-next.pipe.mjs +0 -67
  245. package/esm2022/pipes/duration.pipe.mjs +0 -51
  246. package/esm2022/pipes/field-not-available.pipe.mjs +0 -25
  247. package/esm2022/pipes/img-header.pipe.mjs +0 -18
  248. package/esm2022/pipes/img-theme.pipe.mjs +0 -38
  249. package/esm2022/pipes/index.mjs +0 -19
  250. package/esm2022/pipes/keyvalue.pipe.mjs +0 -20
  251. package/esm2022/pipes/marked.pipe.mjs +0 -18
  252. package/esm2022/pipes/minimum-format.pipe.mjs +0 -25
  253. package/esm2022/pipes/page-env.pipe.mjs +0 -69
  254. package/esm2022/pipes/parse-json-translate.pipe.mjs +0 -28
  255. package/esm2022/pipes/parse-json.pipe.mjs +0 -22
  256. package/esm2022/pipes/pure.pipe.mjs +0 -26
  257. package/esm2022/pipes/safe.pipe.mjs +0 -49
  258. package/esm2022/pipes/sanitize.pipe.mjs +0 -31
  259. package/esm2022/pipes/time.pipe.mjs +0 -113
  260. package/esm2022/pipes/timezone-display.pipe.mjs +0 -21
  261. package/esm2022/services/form-row-duplicate/form-row-duplicate.service.mjs +0 -280
  262. package/esm2022/services/index.mjs +0 -4
  263. package/esm2022/services/on-resize.service.mjs +0 -52
  264. package/esm2022/services/yaml-util.service.mjs +0 -99
  265. package/esm2022/types/common.mjs +0 -6
  266. package/esm2022/types/helpers.mjs +0 -12
  267. package/esm2022/types/index.mjs +0 -9
  268. package/esm2022/types/k8s/core.mjs +0 -2
  269. package/esm2022/types/k8s/crd.mjs +0 -57
  270. package/esm2022/types/k8s/index.mjs +0 -4
  271. package/esm2022/types/k8s/raw.mjs +0 -77
  272. package/esm2022/types/schema.mjs +0 -2
  273. package/esm2022/utils/browser.mjs +0 -21
  274. package/esm2022/utils/cache-store.mjs +0 -83
  275. package/esm2022/utils/color-helpers.mjs +0 -6
  276. package/esm2022/utils/common.mjs +0 -315
  277. package/esm2022/utils/cron-util.mjs +0 -44
  278. package/esm2022/utils/decorators.mjs +0 -137
  279. package/esm2022/utils/disabled-state.mjs +0 -47
  280. package/esm2022/utils/format-number.mjs +0 -227
  281. package/esm2022/utils/index.mjs +0 -24
  282. package/esm2022/utils/local-storage-constants.mjs +0 -2
  283. package/esm2022/utils/node.mjs +0 -18
  284. package/esm2022/utils/observable.mjs +0 -32
  285. package/esm2022/utils/operators.mjs +0 -38
  286. package/esm2022/utils/request-pool.mjs +0 -37
  287. package/esm2022/utils/resources.mjs +0 -66
  288. package/esm2022/utils/router.mjs +0 -20
  289. package/esm2022/utils/sort-fn.mjs +0 -7
  290. package/esm2022/utils/tree.mjs +0 -79
  291. package/esm2022/utils/unit.mjs +0 -191
  292. package/esm2022/utils/version.mjs +0 -76
  293. package/esm2022/utils/with-load-state.mjs +0 -21
  294. package/esm2022/utils/workload.mjs +0 -183
  295. package/esm2022/utils/workspace.mjs +0 -59
  296. package/esm2022/utils/yaml.mjs +0 -54
  297. package/form/base-form-container.d.ts +0 -41
  298. package/form/base-nested-form-control.d.ts +0 -58
  299. package/form/errors-mapper/base-errors-mapper.d.ts +0 -13
  300. package/form/errors-mapper/default-errors-mapper.service.d.ts +0 -10
  301. package/form/errors-mapper/errors-mapper-component/component.d.ts +0 -19
  302. package/form/errors-mapper/errors-mapper.directive.d.ts +0 -39
  303. package/form/errors-mapper/index.d.ts +0 -6
  304. package/form/errors-mapper/types.d.ts +0 -16
  305. package/form/index.d.ts +0 -5
  306. package/form/utils.d.ts +0 -40
  307. package/form/validators/async-function-validator.directive.d.ts +0 -11
  308. package/form/validators/dns1123-subdomain.d.ts +0 -28
  309. package/form/validators/function-validator.directive.d.ts +0 -11
  310. package/form/validators/index.d.ts +0 -9
  311. package/form/validators/maxlength-minlength-validator.directive.d.ts +0 -20
  312. package/form/validators/not-be-validator.directive.d.ts +0 -12
  313. package/form/validators/one-of-validator.directive.d.ts +0 -12
  314. package/form/validators/resource-limit.d.ts +0 -17
  315. package/form/validators/strong-password/index.d.ts +0 -3
  316. package/form/validators/strong-password/strong-password-tooltip/component.d.ts +0 -6
  317. package/form/validators/strong-password/strong-password-validator.directive.d.ts +0 -34
  318. package/form/validators/strong-password/strong-password-validator.module.d.ts +0 -12
  319. package/form/validators/utils.d.ts +0 -67
  320. package/index.d.ts +0 -14
  321. package/k8s-resource-list/footer/component.d.ts +0 -43
  322. package/k8s-resource-list/index.d.ts +0 -13
  323. package/k8s-resource-list/k8s-resource-list.d.ts +0 -42
  324. package/k8s-resource-list/k8s-resource-paged-list.d.ts +0 -61
  325. package/k8s-resource-list/types.d.ts +0 -70
  326. package/k8s-resource-list/utils.d.ts +0 -19
  327. package/k8s-shared/constants.d.ts +0 -7
  328. package/k8s-shared/index.d.ts +0 -11
  329. package/k8s-shared/k8s-resource-translate-key.pipe.d.ts +0 -9
  330. package/k8s-shared/k8s-shared-util.service.d.ts +0 -48
  331. package/k8s-shared/resource-mark/component.d.ts +0 -16
  332. package/k8s-shared/resource-mark/util.d.ts +0 -2
  333. package/k8s-shared/update-description-dialog/component.d.ts +0 -33
  334. package/k8s-shared/update-display-name-dialog/component.d.ts +0 -27
  335. package/k8s-shared/update-key-value-dialog/component.d.ts +0 -38
  336. package/page-deactivate/deactivate.directive.d.ts +0 -18
  337. package/page-deactivate/deactivate.guard.d.ts +0 -13
  338. package/page-deactivate/deactivate.service.d.ts +0 -28
  339. package/page-deactivate/index.d.ts +0 -3
  340. package/pipes/calc.pipe.d.ts +0 -11
  341. package/pipes/cron-human-readable.pipe.d.ts +0 -9
  342. package/pipes/crontab-next.pipe.d.ts +0 -18
  343. package/pipes/duration.pipe.d.ts +0 -10
  344. package/pipes/field-not-available.pipe.d.ts +0 -13
  345. package/pipes/img-header.pipe.d.ts +0 -7
  346. package/pipes/img-theme.pipe.d.ts +0 -13
  347. package/pipes/index.d.ts +0 -18
  348. package/pipes/keyvalue.pipe.d.ts +0 -9
  349. package/pipes/marked.pipe.d.ts +0 -8
  350. package/pipes/minimum-format.pipe.d.ts +0 -10
  351. package/pipes/page-env.pipe.d.ts +0 -34
  352. package/pipes/parse-json-translate.pipe.d.ts +0 -8
  353. package/pipes/parse-json.pipe.d.ts +0 -7
  354. package/pipes/pure.pipe.d.ts +0 -17
  355. package/pipes/safe.pipe.d.ts +0 -10
  356. package/pipes/sanitize.pipe.d.ts +0 -10
  357. package/pipes/time.pipe.d.ts +0 -40
  358. package/pipes/timezone-display.pipe.d.ts +0 -10
  359. package/services/form-row-duplicate/form-row-duplicate.service.d.ts +0 -45
  360. package/services/index.d.ts +0 -3
  361. package/services/on-resize.service.d.ts +0 -20
  362. package/services/yaml-util.service.d.ts +0 -20
  363. package/styles/global.scss +0 -904
  364. package/types/common.d.ts +0 -42
  365. package/types/helpers.d.ts +0 -35
  366. package/types/index.d.ts +0 -8
  367. package/types/k8s/core.d.ts +0 -100
  368. package/types/k8s/crd.d.ts +0 -497
  369. package/types/k8s/index.d.ts +0 -3
  370. package/types/k8s/raw.d.ts +0 -860
  371. package/types/schema.d.ts +0 -14
  372. package/utils/browser.d.ts +0 -4
  373. package/utils/cache-store.d.ts +0 -35
  374. package/utils/color-helpers.d.ts +0 -4
  375. package/utils/common.d.ts +0 -64
  376. package/utils/cron-util.d.ts +0 -8
  377. package/utils/decorators.d.ts +0 -14
  378. package/utils/disabled-state.d.ts +0 -20
  379. package/utils/format-number.d.ts +0 -11
  380. package/utils/index.d.ts +0 -23
  381. package/utils/local-storage-constants.d.ts +0 -1
  382. package/utils/node.d.ts +0 -8
  383. package/utils/observable.d.ts +0 -5
  384. package/utils/operators.d.ts +0 -22
  385. package/utils/request-pool.d.ts +0 -12
  386. package/utils/resources.d.ts +0 -19
  387. package/utils/router.d.ts +0 -3
  388. package/utils/sort-fn.d.ts +0 -2
  389. package/utils/tree.d.ts +0 -16
  390. package/utils/unit.d.ts +0 -21
  391. package/utils/version.d.ts +0 -39
  392. package/utils/with-load-state.d.ts +0 -11
  393. package/utils/workload.d.ts +0 -66
  394. package/utils/workspace.d.ts +0 -28
  395. package/utils/yaml.d.ts +0 -11
@@ -1,79 +0,0 @@
1
- /**
2
- * @packageDocumentation
3
- * @module utils
4
- */
5
- // reduceTree :: String -> (a -> Tree -> [Tree] -> [Number] -> a) -> a -> [Tree] -> a
6
- export const reduceTrees = (subtreeKey) => (fn) => (seed) => (trees) => {
7
- const reducer = (nodes, parents, path, acc) => nodes.reduce((prev, curr, index) => {
8
- const result = fn(prev, curr, parents, [...path, index]);
9
- return curr[subtreeKey]
10
- ? reducer(curr[subtreeKey], [...parents, curr], [...path, index], result)
11
- : result;
12
- }, acc);
13
- return reducer(trees, [], [], seed);
14
- };
15
- // mapTree :: String -> (Tree -> [Tree] -> [Number] -> Tree) -> [Tree] -> [Tree]
16
- export const mapTrees = (subtreeKey) => (fn) => (trees) => {
17
- const mapper = (acc, curr, parents, path) => {
18
- const mapped = fn(curr, parents, path);
19
- return setNode(subtreeKey, path, acc, mapped);
20
- };
21
- return reduceTrees(subtreeKey)(mapper)([])(trees);
22
- };
23
- export const filterTrees = (subtreeKey) => (fn) => (trees) => {
24
- const filter = (nodes, parents, path) => nodes
25
- ?.filter(node => fn(node, parents, path))
26
- .map((node, index) => node[subtreeKey]
27
- ? {
28
- ...node,
29
- [subtreeKey]: filter(node[subtreeKey], [...parents, node], [...path, index]),
30
- }
31
- : node);
32
- return filter(trees, [], []);
33
- };
34
- export const findPath = (subtreeKey) => (fn) => (trees) => {
35
- const endPoint = [];
36
- const finder = (nodes, parents, path) => {
37
- const result = nodes.find((node, index) => {
38
- if (fn(node, parents, path)) {
39
- return true;
40
- }
41
- if (node[subtreeKey]) {
42
- return finder(node[subtreeKey], [...parents, node], [...path, index]);
43
- }
44
- return false;
45
- });
46
- if (result) {
47
- endPoint.unshift(result);
48
- }
49
- return !!result;
50
- };
51
- finder(trees, [], []);
52
- return endPoint;
53
- };
54
- export const firstPath = (subtreeKey) => (trees) => {
55
- const head = trees[0];
56
- if (head) {
57
- return head.children
58
- ? [head, ...firstPath(subtreeKey)(head[subtreeKey])]
59
- : [head];
60
- }
61
- return [];
62
- };
63
- export function setNode(subtreeKey, path, source, target) {
64
- const iterator = ([head, ...tail], trees) => {
65
- if (tail.length > 0) {
66
- const point = trees[head] || {};
67
- const tree = {
68
- ...point,
69
- [subtreeKey]: iterator(tail, (point[subtreeKey] || [])),
70
- };
71
- trees[head] = tree;
72
- return trees;
73
- }
74
- trees[head] = target;
75
- return trees;
76
- };
77
- return iterator(path, source);
78
- }
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvZHluYW1pYy1wbHVnaW4tc2hhcmVkL3NyYy91dGlscy90cmVlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRztBQUVILHFGQUFxRjtBQUNyRixNQUFNLENBQUMsTUFBTSxXQUFXLEdBQ3RCLENBQUMsVUFBa0IsRUFBRSxFQUFFLENBQ3ZCLENBQW9CLEVBQXFCLEVBQUUsRUFBRSxDQUM3QyxDQUFDLElBQU8sRUFBRSxFQUFFLENBQ1osQ0FBQyxLQUFVLEVBQUUsRUFBRTtJQUNiLE1BQU0sT0FBTyxHQUFHLENBQUMsS0FBVSxFQUFFLE9BQVksRUFBRSxJQUFjLEVBQUUsR0FBTSxFQUFLLEVBQUUsQ0FDdEUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUU7UUFDakMsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsR0FBRyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUN6RCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7WUFDckIsQ0FBQyxDQUFDLE9BQU8sQ0FDTCxJQUFJLENBQUMsVUFBVSxDQUFRLEVBQ3ZCLENBQUMsR0FBRyxPQUFPLEVBQUUsSUFBSSxDQUFDLEVBQ2xCLENBQUMsR0FBRyxJQUFJLEVBQUUsS0FBSyxDQUFDLEVBQ2hCLE1BQU0sQ0FDUDtZQUNILENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDYixDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDVixPQUFPLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztBQUN0QyxDQUFDLENBQUM7QUFFSixnRkFBZ0Y7QUFDaEYsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUNuQixDQUFDLFVBQWtCLEVBQUUsRUFBRSxDQUN2QixDQUFpQyxFQUFvQixFQUFFLEVBQUUsQ0FDekQsQ0FBQyxLQUFVLEVBQUUsRUFBRTtJQUNiLE1BQU0sTUFBTSxHQUFHLENBQUMsR0FBUSxFQUFFLElBQU8sRUFBRSxPQUFZLEVBQUUsSUFBYyxFQUFFLEVBQUU7UUFDakUsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDdkMsT0FBTyxPQUFPLENBQUksVUFBVSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDbkQsQ0FBQyxDQUFDO0lBQ0YsT0FBTyxXQUFXLENBQUMsVUFBVSxDQUFDLENBQVMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDNUQsQ0FBQyxDQUFDO0FBRUosTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUN0QixDQUFDLFVBQWtCLEVBQUUsRUFBRSxDQUN2QixDQUFpQixFQUFpQixFQUFFLEVBQUUsQ0FDdEMsQ0FBQyxLQUFVLEVBQUUsRUFBRTtJQUNiLE1BQU0sTUFBTSxHQUFHLENBQUMsS0FBVSxFQUFFLE9BQVksRUFBRSxJQUFjLEVBQU8sRUFBRSxDQUMvRCxLQUFLO1FBQ0gsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQztTQUN4QyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FDbkIsSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUNkLENBQUMsQ0FBQztZQUNFLEdBQUcsSUFBSTtZQUNQLENBQUMsVUFBVSxDQUFDLEVBQUUsTUFBTSxDQUNsQixJQUFJLENBQUMsVUFBVSxDQUFRLEVBQ3ZCLENBQUMsR0FBRyxPQUFPLEVBQUUsSUFBSSxDQUFDLEVBQ2xCLENBQUMsR0FBRyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQ2pCO1NBQ0Y7UUFDSCxDQUFDLENBQUMsSUFBSSxDQUNULENBQUM7SUFDTixPQUFPLE1BQU0sQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQy9CLENBQUMsQ0FBQztBQUVKLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FDbkIsQ0FBQyxVQUFrQixFQUFFLEVBQUUsQ0FDdkIsQ0FBaUIsRUFBaUIsRUFBRSxFQUFFLENBQ3RDLENBQUMsS0FBVSxFQUFFLEVBQUU7SUFDYixNQUFNLFFBQVEsR0FBUSxFQUFFLENBQUM7SUFDekIsTUFBTSxNQUFNLEdBQUcsQ0FBQyxLQUFVLEVBQUUsT0FBWSxFQUFFLElBQWMsRUFBVyxFQUFFO1FBQ25FLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUU7WUFDeEMsSUFBSSxFQUFFLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDO2dCQUM1QixPQUFPLElBQUksQ0FBQztZQUNkLENBQUM7WUFDRCxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO2dCQUNyQixPQUFPLE1BQU0sQ0FDWCxJQUFJLENBQUMsVUFBVSxDQUFRLEVBQ3ZCLENBQUMsR0FBRyxPQUFPLEVBQUUsSUFBSSxDQUFDLEVBQ2xCLENBQUMsR0FBRyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQ2pCLENBQUM7WUFDSixDQUFDO1lBQ0QsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDLENBQUMsQ0FBQztRQUNILElBQUksTUFBTSxFQUFFLENBQUM7WUFDWCxRQUFRLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzNCLENBQUM7UUFDRCxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDbEIsQ0FBQyxDQUFDO0lBRUYsTUFBTSxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDdEIsT0FBTyxRQUFRLENBQUM7QUFDbEIsQ0FBQyxDQUFDO0FBRUosTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUNwQixDQUFDLFVBQWtCLEVBQUUsRUFBRSxDQUN2QixDQUFpQixLQUFVLEVBQU8sRUFBRTtJQUNsQyxNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdEIsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVE7WUFDbEIsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLEdBQUcsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFJLElBQUksQ0FBQyxVQUFVLENBQVEsQ0FBQyxDQUFDO1lBQzlELENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2IsQ0FBQztJQUNELE9BQU8sRUFBRSxDQUFDO0FBQ1osQ0FBQyxDQUFDO0FBRUosTUFBTSxVQUFVLE9BQU8sQ0FDckIsVUFBa0IsRUFDbEIsSUFBYyxFQUNkLE1BQVcsRUFDWCxNQUFTO0lBRVQsTUFBTSxRQUFRLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxHQUFHLElBQUksQ0FBVyxFQUFFLEtBQVUsRUFBRSxFQUFFO1FBQ3pELElBQUksSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNwQixNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUssRUFBUSxDQUFDO1lBQ3ZDLE1BQU0sSUFBSSxHQUFHO2dCQUNYLEdBQUcsS0FBSztnQkFDUixDQUFDLFVBQVUsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFRLENBQUM7YUFDL0QsQ0FBQztZQUNGLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUM7WUFDbkIsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO1FBQ0QsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLE1BQU0sQ0FBQztRQUNyQixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUMsQ0FBQztJQUNGLE9BQU8sUUFBUSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztBQUNoQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb25cbiAqIEBtb2R1bGUgdXRpbHNcbiAqL1xuXG4vLyByZWR1Y2VUcmVlIDo6IFN0cmluZyAtPiAoYSAtPiBUcmVlIC0+IFtUcmVlXSAtPiBbTnVtYmVyXSAtPiBhKSAtPiBhIC0+IFtUcmVlXSAtPiBhXG5leHBvcnQgY29uc3QgcmVkdWNlVHJlZXMgPVxuICAoc3VidHJlZUtleTogc3RyaW5nKSA9PlxuICA8VCBleHRlbmRzIFRyZWUsIFI+KGZuOiBUcmVlUmVkdWNlcjxULCBSPikgPT5cbiAgKHNlZWQ6IFIpID0+XG4gICh0cmVlczogVFtdKSA9PiB7XG4gICAgY29uc3QgcmVkdWNlciA9IChub2RlczogVFtdLCBwYXJlbnRzOiBUW10sIHBhdGg6IG51bWJlcltdLCBhY2M6IFIpOiBSID0+XG4gICAgICBub2Rlcy5yZWR1Y2UoKHByZXYsIGN1cnIsIGluZGV4KSA9PiB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGZuKHByZXYsIGN1cnIsIHBhcmVudHMsIFsuLi5wYXRoLCBpbmRleF0pO1xuICAgICAgICByZXR1cm4gY3VycltzdWJ0cmVlS2V5XVxuICAgICAgICAgID8gcmVkdWNlcihcbiAgICAgICAgICAgICAgY3VycltzdWJ0cmVlS2V5XSBhcyBUW10sXG4gICAgICAgICAgICAgIFsuLi5wYXJlbnRzLCBjdXJyXSxcbiAgICAgICAgICAgICAgWy4uLnBhdGgsIGluZGV4XSxcbiAgICAgICAgICAgICAgcmVzdWx0LFxuICAgICAgICAgICAgKVxuICAgICAgICAgIDogcmVzdWx0O1xuICAgICAgfSwgYWNjKTtcbiAgICByZXR1cm4gcmVkdWNlcih0cmVlcywgW10sIFtdLCBzZWVkKTtcbiAgfTtcblxuLy8gbWFwVHJlZSA6OiBTdHJpbmcgLT4gKFRyZWUgLT4gW1RyZWVdIC0+IFtOdW1iZXJdIC0+IFRyZWUpIC0+IFtUcmVlXSAtPiBbVHJlZV1cbmV4cG9ydCBjb25zdCBtYXBUcmVlcyA9XG4gIChzdWJ0cmVlS2V5OiBzdHJpbmcpID0+XG4gIDxUIGV4dGVuZHMgVHJlZSwgUiBleHRlbmRzIFRyZWU+KGZuOiBUcmVlTWFwcGVyPFQsIFI+KSA9PlxuICAodHJlZXM6IFRbXSkgPT4ge1xuICAgIGNvbnN0IG1hcHBlciA9IChhY2M6IFJbXSwgY3VycjogVCwgcGFyZW50czogVFtdLCBwYXRoOiBudW1iZXJbXSkgPT4ge1xuICAgICAgY29uc3QgbWFwcGVkID0gZm4oY3VyciwgcGFyZW50cywgcGF0aCk7XG4gICAgICByZXR1cm4gc2V0Tm9kZTxSPihzdWJ0cmVlS2V5LCBwYXRoLCBhY2MsIG1hcHBlZCk7XG4gICAgfTtcbiAgICByZXR1cm4gcmVkdWNlVHJlZXMoc3VidHJlZUtleSk8VCwgUltdPihtYXBwZXIpKFtdKSh0cmVlcyk7XG4gIH07XG5cbmV4cG9ydCBjb25zdCBmaWx0ZXJUcmVlcyA9XG4gIChzdWJ0cmVlS2V5OiBzdHJpbmcpID0+XG4gIDxUIGV4dGVuZHMgVHJlZT4oZm46IFRyZWVGaWx0ZXI8VD4pID0+XG4gICh0cmVlczogVFtdKSA9PiB7XG4gICAgY29uc3QgZmlsdGVyID0gKG5vZGVzOiBUW10sIHBhcmVudHM6IFRbXSwgcGF0aDogbnVtYmVyW10pOiBUW10gPT5cbiAgICAgIG5vZGVzXG4gICAgICAgID8uZmlsdGVyKG5vZGUgPT4gZm4obm9kZSwgcGFyZW50cywgcGF0aCkpXG4gICAgICAgIC5tYXAoKG5vZGUsIGluZGV4KSA9PlxuICAgICAgICAgIG5vZGVbc3VidHJlZUtleV1cbiAgICAgICAgICAgID8ge1xuICAgICAgICAgICAgICAgIC4uLm5vZGUsXG4gICAgICAgICAgICAgICAgW3N1YnRyZWVLZXldOiBmaWx0ZXIoXG4gICAgICAgICAgICAgICAgICBub2RlW3N1YnRyZWVLZXldIGFzIFRbXSxcbiAgICAgICAgICAgICAgICAgIFsuLi5wYXJlbnRzLCBub2RlXSxcbiAgICAgICAgICAgICAgICAgIFsuLi5wYXRoLCBpbmRleF0sXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgOiBub2RlLFxuICAgICAgICApO1xuICAgIHJldHVybiBmaWx0ZXIodHJlZXMsIFtdLCBbXSk7XG4gIH07XG5cbmV4cG9ydCBjb25zdCBmaW5kUGF0aCA9XG4gIChzdWJ0cmVlS2V5OiBzdHJpbmcpID0+XG4gIDxUIGV4dGVuZHMgVHJlZT4oZm46IFRyZWVGaWx0ZXI8VD4pID0+XG4gICh0cmVlczogVFtdKSA9PiB7XG4gICAgY29uc3QgZW5kUG9pbnQ6IFRbXSA9IFtdO1xuICAgIGNvbnN0IGZpbmRlciA9IChub2RlczogVFtdLCBwYXJlbnRzOiBUW10sIHBhdGg6IG51bWJlcltdKTogYm9vbGVhbiA9PiB7XG4gICAgICBjb25zdCByZXN1bHQgPSBub2Rlcy5maW5kKChub2RlLCBpbmRleCkgPT4ge1xuICAgICAgICBpZiAoZm4obm9kZSwgcGFyZW50cywgcGF0aCkpIHtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAobm9kZVtzdWJ0cmVlS2V5XSkge1xuICAgICAgICAgIHJldHVybiBmaW5kZXIoXG4gICAgICAgICAgICBub2RlW3N1YnRyZWVLZXldIGFzIFRbXSxcbiAgICAgICAgICAgIFsuLi5wYXJlbnRzLCBub2RlXSxcbiAgICAgICAgICAgIFsuLi5wYXRoLCBpbmRleF0sXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9KTtcbiAgICAgIGlmIChyZXN1bHQpIHtcbiAgICAgICAgZW5kUG9pbnQudW5zaGlmdChyZXN1bHQpO1xuICAgICAgfVxuICAgICAgcmV0dXJuICEhcmVzdWx0O1xuICAgIH07XG5cbiAgICBmaW5kZXIodHJlZXMsIFtdLCBbXSk7XG4gICAgcmV0dXJuIGVuZFBvaW50O1xuICB9O1xuXG5leHBvcnQgY29uc3QgZmlyc3RQYXRoID1cbiAgKHN1YnRyZWVLZXk6IHN0cmluZykgPT5cbiAgPFQgZXh0ZW5kcyBUcmVlPih0cmVlczogVFtdKTogVFtdID0+IHtcbiAgICBjb25zdCBoZWFkID0gdHJlZXNbMF07XG4gICAgaWYgKGhlYWQpIHtcbiAgICAgIHJldHVybiBoZWFkLmNoaWxkcmVuXG4gICAgICAgID8gW2hlYWQsIC4uLmZpcnN0UGF0aChzdWJ0cmVlS2V5KTxUPihoZWFkW3N1YnRyZWVLZXldIGFzIFRbXSldXG4gICAgICAgIDogW2hlYWRdO1xuICAgIH1cbiAgICByZXR1cm4gW107XG4gIH07XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXROb2RlPFQgZXh0ZW5kcyBUcmVlPihcbiAgc3VidHJlZUtleTogc3RyaW5nLFxuICBwYXRoOiBudW1iZXJbXSxcbiAgc291cmNlOiBUW10sXG4gIHRhcmdldDogVCxcbikge1xuICBjb25zdCBpdGVyYXRvciA9IChbaGVhZCwgLi4udGFpbF06IG51bWJlcltdLCB0cmVlczogVFtdKSA9PiB7XG4gICAgaWYgKHRhaWwubGVuZ3RoID4gMCkge1xuICAgICAgY29uc3QgcG9pbnQgPSB0cmVlc1toZWFkXSB8fCAoe30gYXMgVCk7XG4gICAgICBjb25zdCB0cmVlID0ge1xuICAgICAgICAuLi5wb2ludCxcbiAgICAgICAgW3N1YnRyZWVLZXldOiBpdGVyYXRvcih0YWlsLCAocG9pbnRbc3VidHJlZUtleV0gfHwgW10pIGFzIFRbXSksXG4gICAgICB9O1xuICAgICAgdHJlZXNbaGVhZF0gPSB0cmVlO1xuICAgICAgcmV0dXJuIHRyZWVzO1xuICAgIH1cbiAgICB0cmVlc1toZWFkXSA9IHRhcmdldDtcbiAgICByZXR1cm4gdHJlZXM7XG4gIH07XG4gIHJldHVybiBpdGVyYXRvcihwYXRoLCBzb3VyY2UpO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRyZWUge1xuICBba2V5OiBzdHJpbmddOiBUcmVlW107XG59XG5cbmV4cG9ydCB0eXBlIFRyZWVSZWR1Y2VyPFQgZXh0ZW5kcyBUcmVlLCBSPiA9IChcbiAgYWNjOiBSLFxuICBjdXJyZW50Tm9kZTogVCxcbiAgcGFyZW50czogVFtdLFxuICBwYXRoOiBudW1iZXJbXSxcbikgPT4gUjtcblxuZXhwb3J0IHR5cGUgVHJlZU1hcHBlcjxUIGV4dGVuZHMgVHJlZSwgUiBleHRlbmRzIFRyZWU+ID0gKFxuICB0cmVlOiBULFxuICBwYXJlbnRzOiBUW10sXG4gIHBhdGg6IG51bWJlcltdLFxuKSA9PiBSO1xuXG5leHBvcnQgdHlwZSBUcmVlRmlsdGVyPFQgZXh0ZW5kcyBUcmVlPiA9IChcbiAgdHJlZTogVCxcbiAgcGFyZW50czogVFtdLFxuICBwYXRoOiBudW1iZXJbXSxcbikgPT4gYm9vbGVhbjtcbiJdfQ==
@@ -1,191 +0,0 @@
1
- import { isBlank, numToStr } from './common';
2
- const COMMON_UNITS = ['M', 'G', 'T', 'P', 'E'];
3
- export const CORE_UNITS = ['m', '', 'k', ...COMMON_UNITS];
4
- export const CORE_UNIT_REG = new RegExp(`[${CORE_UNITS.join('')}]$`);
5
- const toUnitNumBase = (coreStr, isUnitM = false) => {
6
- if (typeof coreStr === 'number') {
7
- return numToStr(coreStr * Math.pow(1000, +isUnitM));
8
- }
9
- if (isBlank(coreStr)) {
10
- return '';
11
- }
12
- coreStr = coreStr.trim();
13
- const num = +coreStr.replace(CORE_UNIT_REG, '');
14
- if (Number.isNaN(num)) {
15
- return '';
16
- }
17
- if (num <= 0) {
18
- return '0';
19
- }
20
- const lastChar = coreStr.at(-1);
21
- let unitIndex = CORE_UNITS.indexOf(lastChar);
22
- unitIndex = (unitIndex === -1 ? 0 : unitIndex - 1) + +isUnitM;
23
- return numToStr(num * Math.pow(1000, unitIndex));
24
- };
25
- export const toUnitNumM = (coreStr) => toUnitNumBase(coreStr, true);
26
- export const toUnitNum = (coreStr) => toUnitNumBase(coreStr);
27
- export const UNITS = ['', 'K', ...COMMON_UNITS];
28
- export const UNIT_REG = new RegExp(`[${UNITS.join('')}]i?$`);
29
- // TODO: UNITS 临时被其他地方当成了枚举项使用,先临时添加MEMORY_UNITS来处理 toUnitI 中兼容 k、Ki 的问题
30
- const MEMORY_UNITS = ['', ['k', 'K'], ...COMMON_UNITS];
31
- const MEMORY_UNIT_REG = new RegExp(`[${MEMORY_UNITS.join('')}]i?$`);
32
- export const toUnitI = (str, negative = false) => {
33
- if (typeof str === 'number') {
34
- if (str <= 0 && !negative) {
35
- return '0';
36
- }
37
- return numToStr(str);
38
- }
39
- if (isBlank(str)) {
40
- return '';
41
- }
42
- str = str.trim();
43
- const num = +str.replace(MEMORY_UNIT_REG, '');
44
- if (Number.isNaN(num)) {
45
- return '';
46
- }
47
- if (num <= 0 && !negative) {
48
- return '0';
49
- }
50
- let base = 1000;
51
- if (str.endsWith('i')) {
52
- base = 1024;
53
- str = str.replace(/i$/, '');
54
- }
55
- const lastChar = str.at(-1);
56
- const unitIndex = MEMORY_UNITS.findIndex(unit => Array.isArray(unit) ? unit.includes(lastChar) : unit === lastChar);
57
- return numToStr(num * Math.pow(base, unitIndex === -1 ? 0 : unitIndex));
58
- };
59
- export const toUnitMi = (str, negative) => {
60
- const unitI = toUnitI(str, negative);
61
- if (!unitI) {
62
- return '';
63
- }
64
- return numToStr(+unitI / 1024 / 1024);
65
- };
66
- export const toUnitGi = (str, negative) => {
67
- const unitI = toUnitI(str, negative);
68
- if (!unitI) {
69
- return '';
70
- }
71
- return numToStr(+unitI / 1024 / 1024 / 1024);
72
- };
73
- export const addUnitCoreM = (coreStr) => {
74
- if (isBlank(coreStr)) {
75
- return null;
76
- }
77
- return numToStr(+coreStr) + 'm';
78
- };
79
- export const addUnitMi = (miStr) => {
80
- if (isBlank(miStr)) {
81
- return null;
82
- }
83
- return numToStr(+miStr) + 'Mi';
84
- };
85
- export const addUnitGi = (giStr) => {
86
- if (isBlank(giStr)) {
87
- return null;
88
- }
89
- return numToStr(+giStr) + 'Gi';
90
- };
91
- const POWER_MEMORY_UNITS = ['Ki', 'Mi', 'Gi', 'Ti', 'Pi', 'Ei'];
92
- export function getAppropriateMemory(base) {
93
- let unit = -1;
94
- while (base >= 800 || unit >= POWER_MEMORY_UNITS.length - 1) {
95
- base /= 1024;
96
- unit++;
97
- }
98
- return {
99
- value: base,
100
- unit: POWER_MEMORY_UNITS[unit],
101
- };
102
- }
103
- const reg = /^(\d?\.?\d+)(\w+)*$/;
104
- export const parseValueAndUnit = (str) => {
105
- const [_, value, unit] = /^(\d?\.?\d+)(\w+)*$/.exec(str) || [];
106
- return [value, unit];
107
- };
108
- export function formatMemory(mem) {
109
- const base = parseFloat(mem);
110
- const res = reg.exec(mem);
111
- const unit = res?.[2];
112
- return unit ? getMemory(base, unit) : base;
113
- }
114
- export function getMemory(base, unit) {
115
- switch (unit) {
116
- case 'm': {
117
- return base * 1e-3;
118
- }
119
- case 'K': {
120
- return base * 1e3;
121
- }
122
- case 'Ki': {
123
- return base * 1024;
124
- }
125
- case 'M': {
126
- return base * 1e6;
127
- }
128
- case 'Mi': {
129
- return base * 1024 ** 2;
130
- }
131
- case 'G': {
132
- return base * 1e9;
133
- }
134
- case 'Gi': {
135
- return base * 1024 ** 3;
136
- }
137
- case 'T': {
138
- return base * 1e12;
139
- }
140
- case 'Ti': {
141
- return base * 1024 ** 4;
142
- }
143
- case 'P': {
144
- return base * 1e15;
145
- }
146
- case 'Pi': {
147
- return base * 1024 ** 5;
148
- }
149
- case 'E': {
150
- return base * 1e18;
151
- }
152
- case 'Ei': {
153
- return base * 1024 ** 6;
154
- }
155
- default: {
156
- return base;
157
- }
158
- }
159
- }
160
- export function getCpu(base, unit) {
161
- switch (unit) {
162
- case 'm': {
163
- return base;
164
- }
165
- case 'c': {
166
- return base * 1e3;
167
- }
168
- case 'k': {
169
- return base * 1e6;
170
- }
171
- case 'M': {
172
- return base * 1e9;
173
- }
174
- case 'G': {
175
- return base * 1e12;
176
- }
177
- case 'T': {
178
- return base * 1e15;
179
- }
180
- default: {
181
- return base * 1e3;
182
- }
183
- }
184
- }
185
- export function formatCPU(cpu) {
186
- const base = parseFloat(cpu);
187
- const res = reg.exec(cpu);
188
- const unit = res?.[2];
189
- return getCpu(base, unit);
190
- }
191
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5pdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvZHluYW1pYy1wbHVnaW4tc2hhcmVkL3NyYy91dGlscy91bml0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRTdDLE1BQU0sWUFBWSxHQUFHLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0FBRS9DLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxDQUFDLEdBQUcsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsWUFBWSxDQUFDLENBQUM7QUFFMUQsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLElBQUksTUFBTSxDQUFDLElBQUksVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7QUFFckUsTUFBTSxhQUFhLEdBQUcsQ0FBQyxPQUF5QixFQUFFLE9BQU8sR0FBRyxLQUFLLEVBQUUsRUFBRTtJQUNuRSxJQUFJLE9BQU8sT0FBTyxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQ2hDLE9BQU8sUUFBUSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVELElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7UUFDckIsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBQ0QsT0FBTyxHQUFHLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN6QixNQUFNLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ2hELElBQUksTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ3RCLE9BQU8s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Q0QsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQ1QsT0FBTyxJQUFJLEdBQUcsR0FBRyxDQUFDO1FBQ3BCLENBQUM7UUFDRCxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDVCxPQUFPLElBQUksR0FBRyxHQUFHLENBQUM7UUFDcEIsQ0FBQztRQUNELEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQztZQUNULE9BQU8sSUFBSSxHQUFHLElBQUksQ0FBQztRQUNyQixDQUFDO1FBQ0QsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQ1QsT0FBTyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ3JCLENBQUM7UUFDRCxPQUFPLENBQUMsQ0FBQyxDQUFDO1lBQ1IsT0FBTyxJQUFJLEdBQUcsR0FBRyxDQUFDO1FBQ3BCLENBQUM7SUFDSCxDQUFDO0FBQ0gsQ0FBQztBQUVELE1BQU0sVUFBVSxTQUFTLENBQUMsR0FBVztJQUNuQyxNQUFNLElBQUksR0FBRyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDN0IsTUFBTSxHQUFHLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMxQixNQUFNLElBQUksR0FBRyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN0QixPQUFPLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDNUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzQmxhbmssIG51bVRvU3RyIH0gZnJvbSAnLi9jb21tb24nO1xuXG5jb25zdCBDT01NT05fVU5JVFMgPSBbJ00nLCAnRycsICdUJywgJ1AnLCAnRSddO1xuXG5leHBvcnQgY29uc3QgQ09SRV9VTklUUyA9IFsnbScsICcnLCAnaycsIC4uLkNPTU1PTl9VTklUU107XG5cbmV4cG9ydCBjb25zdCBDT1JFX1VOSVRfUkVHID0gbmV3IFJlZ0V4cChgWyR7Q09SRV9VTklUUy5qb2luKCcnKX1dJGApO1xuXG5jb25zdCB0b1VuaXROdW1CYXNlID0gKGNvcmVTdHI/OiBzdHJpbmcgfCBudW1iZXIsIGlzVW5pdE0gPSBmYWxzZSkgPT4ge1xuICBpZiAodHlwZW9mIGNvcmVTdHIgPT09ICdudW1iZXInKSB7XG4gICAgcmV0dXJuIG51bVRvU3RyKGNvcmVTdHIgKiBNYXRoLnBvdygxMDAwLCAraXNVbml0TSkpO1xuICB9XG5cbiAgaWYgKGlzQmxhbmsoY29yZVN0cikpIHtcbiAgICByZXR1cm4gJyc7XG4gIH1cbiAgY29yZVN0ciA9IGNvcmVTdHIudHJpbSgpO1xuICBjb25zdCBudW0gPSArY29yZVN0ci5yZXBsYWNlKENPUkVfVU5JVF9SRUcsICcnKTtcbiAgaWYgKE51bWJlci5pc05hTihudW0pKSB7XG4gICAgcmV0dXJuICcnO1xuICB9XG4gIGlmIChudW0gPD0gMCkge1xuICAgIHJldHVybiAnMCc7XG4gIH1cbiAgY29uc3QgbGFzdENoYXIgPSBjb3JlU3RyLmF0KC0xKTtcbiAgbGV0IHVuaXRJbmRleCA9IENPUkVfVU5JVFMuaW5kZXhPZihsYXN0Q2hhcik7XG4gIHVuaXRJbmRleCA9ICh1bml0SW5kZXggPT09IC0xID8gMCA6IHVuaXRJbmRleCAtIDEpICsgK2lzVW5pdE07XG4gIHJldHVybiBudW1Ub1N0cihudW0gKiBNYXRoLnBvdygxMDAwLCB1bml0SW5kZXgpKTtcbn07XG5cbmV4cG9ydCBjb25zdCB0b1VuaXROdW1NID0gKGNvcmVTdHI/OiBzdHJpbmcgfCBudW1iZXIpID0+XG4gIHRvVW5pdE51bUJhc2UoY29yZVN0ciwgdHJ1ZSk7XG5cbmV4cG9ydCBjb25zdCB0b1VuaXROdW0gPSAoY29yZVN0cj86IHN0cmluZyB8IG51bWJlcikgPT4gdG9Vbml0TnVtQmFzZShjb3JlU3RyKTtcblxuZXhwb3J0IGNvbnN0IFVOSVRTID0gWycnLCAnSycsIC4uLkNPTU1PTl9VTklUU107XG5leHBvcnQgY29uc3QgVU5JVF9SRUcgPSBuZXcgUmVnRXhwKGBbJHtVTklUUy5qb2luKCcnKX1daT8kYCk7XG5cbi8vIFRPRE86IFVOSVRTIOS4tOaXtuiiq+WFtuS7luWcsOaWueW9k+aIkOS6huaemuS4vumhueS9v+eUqO+8jOWFiOS4tOaXtua3u+WKoE1FTU9SWV9VTklUU+adpeWkhOeQhiB0b1VuaXRJIOS4reWFvOWuuSBr44CBS2kg55qE6Zeu6aKYXG5jb25zdCBNRU1PUllfVU5JVFMgPSBbJycsIFsnaycsICdLJ10sIC4uLkNPTU1PTl9VTklUU107XG5jb25zdCBNRU1PUllfVU5JVF9SRUcgPSBuZXcgUmVnRXhwKGBbJHtNRU1PUllfVU5JVFMuam9pbignJyl9XWk/JGApO1xuXG5leHBvcnQgY29uc3QgdG9Vbml0SSA9IChzdHI/OiBzdHJpbmcgfCBudW1iZXIsIG5lZ2F0aXZlID0gZmFsc2UpID0+IHtcbiAgaWYgKHR5cGVvZiBzdHIgPT09ICdudW1iZXInKSB7XG4gICAgaWYgKHN0ciA8PSAwICYmICFuZWdhdGl2ZSkge1xuICAgICAgcmV0dXJuICcwJztcbiAgICB9XG4gICAgcmV0dXJuIG51bVRvU3RyKHN0cik7XG4gIH1cblxuICBpZiAoaXNCbGFuayhzdHIpKSB7XG4gICAgcmV0dXJuICcnO1xuICB9XG4gIHN0ciA9IHN0ci50cmltKCk7XG4gIGNvbnN0IG51bSA9ICtzdHIucmVwbGFjZShNRU1PUllfVU5JVF9SRUcsICcnKTtcbiAgaWYgKE51bWJlci5pc05hTihudW0pKSB7XG4gICAgcmV0dXJuICcnO1xuICB9XG4gIGlmIChudW0gPD0gMCAmJiAhbmVnYXRpdmUpIHtcbiAgICByZXR1cm4gJzAnO1xuICB9XG5cbiAgbGV0IGJhc2UgPSAxMDAwO1xuXG4gIGlmIChzdHIuZW5kc1dpdGgoJ2knKSkge1xuICAgIGJhc2UgPSAxMDI0O1xuICAgIHN0ciA9IHN0ci5yZXBsYWNlKC9pJC8sICcnKTtcbiAgfVxuXG4gIGNvbnN0IGxhc3RDaGFyID0gc3RyLmF0KC0xKTtcbiAgY29uc3QgdW5pdEluZGV4ID0gTUVNT1JZX1VOSVRTLmZpbmRJbmRleCh1bml0ID0+XG4gICAgQXJyYXkuaXNBcnJheSh1bml0KSA/IHVuaXQuaW5jbHVkZXMobGFzdENoYXIpIDogdW5pdCA9PT0gbGFzdENoYXIsXG4gICk7XG4gIHJldHVybiBudW1Ub1N0cihudW0gKiBNYXRoLnBvdyhiYXNlLCB1bml0SW5kZXggPT09IC0xID8gMCA6IHVuaXRJbmRleCkpO1xufTtcblxuZXhwb3J0IGNvbnN0IHRvVW5pdE1pID0gKHN0cj86IHN0cmluZyB8IG51bWJlciwgbmVnYXRpdmU/OiBib29sZWFuKSA9PiB7XG4gIGNvbnN0IHVuaXRJID0gdG9Vbml0SShzdHIsIG5lZ2F0aXZlKTtcbiAgaWYgKCF1bml0SSkge1xuICAgIHJldHVybiAnJztcbiAgfVxuICByZXR1cm4gbnVtVG9TdHIoK3VuaXRJIC8gMTAyNCAvIDEwMjQpO1xufTtcblxuZXhwb3J0IGNvbnN0IHRvVW5pdEdpID0gKHN0cj86IHN0cmluZyB8IG51bWJlciwgbmVnYXRpdmU/OiBib29sZWFuKSA9PiB7XG4gIGNvbnN0IHVuaXRJID0gdG9Vbml0SShzdHIsIG5lZ2F0aXZlKTtcbiAgaWYgKCF1bml0SSkge1xuICAgIHJldHVybiAnJztcbiAgfVxuICByZXR1cm4gbnVtVG9TdHIoK3VuaXRJIC8gMTAyNCAvIDEwMjQgLyAxMDI0KTtcbn07XG5cbmV4cG9ydCBjb25zdCBhZGRVbml0Q29yZU0gPSAoY29yZVN0cj86IHN0cmluZyB8IG51bWJlcikgPT4ge1xuICBpZiAoaXNCbGFuayhjb3JlU3RyKSkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIHJldHVybiBudW1Ub1N0cigrY29yZVN0cikgKyAnbSc7XG59O1xuXG5leHBvcnQgY29uc3QgYWRkVW5pdE1pID0gKG1pU3RyPzogc3RyaW5nIHwgbnVtYmVyKSA9PiB7XG4gIGlmIChpc0JsYW5rKG1pU3RyKSkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIHJldHVybiBudW1Ub1N0cigrbWlTdHIpICsgJ01pJztcbn07XG5cbmV4cG9ydCBjb25zdCBhZGRVbml0R2kgPSAoZ2lTdHI/OiBzdHJpbmcgfCBudW1iZXIpID0+IHtcbiAgaWYgKGlzQmxhbmsoZ2lTdHIpKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbiAgcmV0dXJuIG51bVRvU3RyKCtnaVN0cikgKyAnR2knO1xufTtcblxuY29uc3QgUE9XRVJfTUVNT1JZX1VOSVRTID0gWydLaScsICdNaScsICdHaScsICdUaScsICdQaScsICdFaSddO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0QXBwcm9wcmlhdGVNZW1vcnkoYmFzZTogbnVtYmVyKSB7XG4gIGxldCB1bml0ID0gLTE7XG4gIHdoaWxlIChiYXNlID49IDgwMCB8fCB1bml0ID49IFBPV0VSX01FTU9SWV9VTklUUy5sZW5ndGggLSAxKSB7XG4gICAgYmFzZSAvPSAxMDI0O1xuICAgIHVuaXQrKztcbiAgfVxuICByZXR1cm4ge1xuICAgIHZhbHVlOiBiYXNlLFxuICAgIHVuaXQ6IFBPV0VSX01FTU9SWV9VTklUU1t1bml0XSxcbiAgfTtcbn1cblxuY29uc3QgcmVnID0gL14oXFxkP1xcLj9cXGQrKShcXHcrKSokLztcblxuZXhwb3J0IGNvbnN0IHBhcnNlVmFsdWVBbmRVbml0ID0gKHN0cjogc3RyaW5nKSA9PiB7XG4gIGNvbnN0IFtfLCB2YWx1ZSwgdW5pdF0gPSAvXihcXGQ/XFwuP1xcZCspKFxcdyspKiQvLmV4ZWMoc3RyKSB8fCBbXTtcbiAgcmV0dXJuIFt2YWx1ZSwgdW5pdF07XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0TWVtb3J5KG1lbTogc3RyaW5nKSB7XG4gIGNvbnN0IGJhc2UgPSBwYXJzZUZsb2F0KG1lbSk7XG4gIGNvbnN0IHJlcyA9IHJlZy5leGVjKG1lbSk7XG4gIGNvbnN0IHVuaXQgPSByZXM/LlsyXTtcbiAgcmV0dXJuIHVuaXQgPyBnZXRNZW1vcnkoYmFzZSwgdW5pdCkgOiBiYXNlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0TWVtb3J5KGJhc2U6IG51bWJlciwgdW5pdDogc3RyaW5nKSB7XG4gIHN3aXRjaCAodW5pdCkge1xuICAgIGNhc2UgJ20nOiB7XG4gICAgICByZXR1cm4gYmFzZSAqIDFlLTM7XG4gICAgfVxuICAgIGNhc2UgJ0snOiB7XG4gICAgICByZXR1cm4gYmFzZSAqIDFlMztcbiAgICB9XG4gICAgY2FzZSAnS2knOiB7XG4gICAgICByZXR1cm4gYmFzZSAqIDEwMjQ7XG4gICAgfVxuICAgIGNhc2UgJ00nOiB7XG4gICAgICByZXR1cm4gYmFzZSAqIDFlNjtcbiAgICB9XG4gICAgY2FzZSAnTWknOiB7XG4gICAgICByZXR1cm4gYmFzZSAqIDEwMjQgKiogMjtcbiAgICB9XG4gICAgY2FzZSAnRyc6IHtcbiAgICAgIHJldHVybiBiYXNlICogMWU5O1xuICAgIH1cbiAgICBjYXNlICdHaSc6IHtcbiAgICAgIHJldHVybiBiYXNlICogMTAyNCAqKiAzO1xuICAgIH1cbiAgICBjYXNlICdUJzoge1xuICAgICAgcmV0dXJuIGJhc2UgKiAxZTEyO1xuICAgIH1cbiAgICBjYXNlICdUaSc6IHtcbiAgICAgIHJldHVybiBiYXNlICogMTAyNCAqKiA0O1xuICAgIH1cbiAgICBjYXNlICdQJzoge1xuICAgICAgcmV0dXJuIGJhc2UgKiAxZTE1O1xuICAgIH1cbiAgICBjYXNlICdQaSc6IHtcbiAgICAgIHJldHVybiBiYXNlICogMTAyNCAqKiA1O1xuICAgIH1cbiAgICBjYXNlICdFJzoge1xuICAgICAgcmV0dXJuIGJhc2UgKiAxZTE4O1xuICAgIH1cbiAgICBjYXNlICdFaSc6IHtcbiAgICAgIHJldHVybiBiYXNlICogMTAyNCAqKiA2O1xuICAgIH1cbiAgICBkZWZhdWx0OiB7XG4gICAgICByZXR1cm4gYmFzZTtcbiAgICB9XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldENwdShiYXNlOiBudW1iZXIsIHVuaXQ6IHN0cmluZykge1xuICBzd2l0Y2ggKHVuaXQpIHtcbiAgICBjYXNlICdtJzoge1xuICAgICAgcmV0dXJuIGJhc2U7XG4gICAgfVxuICAgIGNhc2UgJ2MnOiB7XG4gICAgICByZXR1cm4gYmFzZSAqIDFlMztcbiAgICB9XG4gICAgY2FzZSAnayc6IHtcbiAgICAgIHJldHVybiBiYXNlICogMWU2O1xuICAgIH1cbiAgICBjYXNlICdNJzoge1xuICAgICAgcmV0dXJuIGJhc2UgKiAxZTk7XG4gICAgfVxuICAgIGNhc2UgJ0cnOiB7XG4gICAgICByZXR1cm4gYmFzZSAqIDFlMTI7XG4gICAgfVxuICAgIGNhc2UgJ1QnOiB7XG4gICAgICByZXR1cm4gYmFzZSAqIDFlMTU7XG4gICAgfVxuICAgIGRlZmF1bHQ6IHtcbiAgICAgIHJldHVybiBiYXNlICogMWUzO1xuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0Q1BVKGNwdTogc3RyaW5nKSB7XG4gIGNvbnN0IGJhc2UgPSBwYXJzZUZsb2F0KGNwdSk7XG4gIGNvbnN0IHJlcyA9IHJlZy5leGVjKGNwdSk7XG4gIGNvbnN0IHVuaXQgPSByZXM/LlsyXTtcbiAgcmV0dXJuIGdldENwdShiYXNlLCB1bml0KTtcbn1cbiJdfQ==
@@ -1,76 +0,0 @@
1
- /**
2
- * 基于相对严格的版本号规则,规范可以参考https://semver.org/
3
- * 但在比较版本号时使用相对宽松的规则,具体可以查看compare-versions库的实现
4
- * 自测用例:https://stackblitz.com/edit/typescript-jqszbj
5
- */
6
- import { compare } from 'compare-versions';
7
- export { compareVersions as compareVersionToNum, satisfies as satisfiesVersion, } from 'compare-versions';
8
- export const versionRegex = /^(\d+)\.(\d+)\.(\d+)(?:-([\da-z-]+(?:\.[\da-z-]+)*))?$/;
9
- const removeFirstV = (version) => {
10
- version = version.trim();
11
- if (/^v\d/.test(version)) {
12
- version = version.slice(1);
13
- }
14
- return version;
15
- };
16
- /**
17
- * 获取有效的版本号,如果符合规范则返回,否则返回null
18
- * eg: getValidVersion('v1.2.3') // '1.2.3'
19
- */
20
- export const getValidVersion = (version) => {
21
- version = removeFirstV(version);
22
- return versionRegex.test(version) ? version : null;
23
- };
24
- /**
25
- * 解析版本号,如果符合规范则返回一个包含版本信息的对象
26
- */
27
- export const parseVersion = (version) => {
28
- version = removeFirstV(version);
29
- const match = version.match(versionRegex);
30
- if (match?.length) {
31
- return {
32
- version: match[0],
33
- major: +match[1],
34
- minor: +match[2],
35
- patch: +match[3],
36
- prerelease: match[4]?.split('.').map(str => {
37
- if (/^\d*$/.test(str)) {
38
- return +str;
39
- }
40
- return str;
41
- }) || [],
42
- };
43
- }
44
- };
45
- const _getCompare = (operator) => (v1, v2) => compare(v1, v2, operator);
46
- /**
47
- * 使用给定规则比较两个版本
48
- * lt: v1小于v2; gt: v1大于v2; lte: v1小于等于v2; gte: v1大于等于v2;
49
- * eg: compareVersion.lt('1.2.3', '9.8.7') // true
50
- * compareVersion.cmp('1.2.3', '9.8.7', '<') // true
51
- */
52
- export const compareVersion = {
53
- lt: _getCompare('<'),
54
- gt: _getCompare('>'),
55
- eq: _getCompare('='),
56
- lte: _getCompare('<='),
57
- gte: _getCompare('>='),
58
- cmp: compare,
59
- };
60
- // 允许使用宽松的版本号进行 minor 版本比较
61
- export const compareMinorVersion = (v1, v2) => {
62
- const v1Arr = v1.split('.').map(v => parseInt(v));
63
- const v2Arr = v2.split('.').map(v => parseInt(v));
64
- for (let i = 0; i < 2; i++) {
65
- const v1Part = v1Arr[i] || 0;
66
- const v2Part = v2Arr[i] || 0;
67
- if (v1Part > v2Part) {
68
- return 1;
69
- }
70
- if (v1Part < v2Part) {
71
- return -1;
72
- }
73
- }
74
- return 0;
75
- };
76
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvZHluYW1pYy1wbHVnaW4tc2hhcmVkL3NyYy91dGlscy92ZXJzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFFSCxPQUFPLEVBQUUsT0FBTyxFQUFtQixNQUFNLGtCQUFrQixDQUFDO0FBRTVELE9BQU8sRUFFTCxlQUFlLElBQUksbUJBQW1CLEVBQ3RDLFNBQVMsSUFBSSxnQkFBZ0IsR0FDOUIsTUFBTSxrQkFBa0IsQ0FBQztBQVUxQixNQUFNLENBQUMsTUFBTSxZQUFZLEdBQ3ZCLHdEQUF3RCxDQUFDO0FBRTNELE1BQU0sWUFBWSxHQUFHLENBQUMsT0FBZSxFQUFFLEVBQUU7SUFDdkMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN6QixJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUN6QixPQUFPLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBQ0QsT0FBTyxPQUFPLENBQUM7QUFDakIsQ0FBQyxDQUFDO0FBQ0Y7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLENBQUMsT0FBZSxFQUFVLEVBQUU7SUFDekQsT0FBTyxHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNoQyxPQUFPLFlBQVksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0FBQ3JELENBQUMsQ0FBQztBQUVGOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLENBQUMsT0FBZSxFQUFpQixFQUFFO0lBQzdELE9BQU8sR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDaEMsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUMxQyxJQUFJLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQztRQUNsQixPQUFPO1lBQ0wsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDakIsS0FBSyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUNoQixLQUFLLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBQ2hCLEtBQUssRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDaEIsVUFBVSxFQUNSLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFO2dCQUM3QixJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztvQkFDdEIsT0FBTyxDQUFDLEdBQUcsQ0FBQztnQkFDZCxDQUFDO2dCQUNELE9BQU8sR0FBRyxDQUFDO1lBQ2IsQ0FBQyxDQUFDLElBQUksRUFBRTtTQUNYLENBQUM7SUFDSixDQUFDO0FBQ0gsQ0FBQyxDQUFDO0FBRUYsTUFBTSxXQUFXLEdBQ2YsQ0FBQyxRQUF5QixFQUFFLEVBQUUsQ0FDOUIsQ0FBQyxFQUFVLEVBQUUsRUFBVSxFQUFXLEVBQUUsQ0FDbEMsT0FBTyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsUUFBUSxDQUFDLENBQUM7QUFDOUI7Ozs7O0dBS0c7QUFDSCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUc7SUFDNUIsRUFBRSxFQUFFLFdBQVcsQ0FBQyxHQUFHLENBQUM7SUFDcEIsRUFBRSxFQUFFLFdBQVcsQ0FBQyxHQUFHLENBQUM7SUFDcEIsRUFBRSxFQUFFLFdBQVcsQ0FBQyxHQUFHLENBQUM7SUFDcEIsR0FBRyxFQUFFLFdBQVcsQ0FBQyxJQUFJLENBQUM7SUFDdEIsR0FBRyxFQUFFLFdBQVcsQ0FBQyxJQUFJLENBQUM7SUFDdEIsR0FBRyxFQUFFLE9BQU87Q0FDYixDQUFDO0FBRUYsMEJBQTBCO0FBQzFCLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLENBQUMsRUFBVSxFQUFFLEVBQVUsRUFBRSxFQUFFO0lBQzVELE1BQU0sS0FBSyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbEQsTUFBTSxLQUFLLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNsRCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDM0IsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM3QixNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzdCLElBQUksTUFBTSxHQUFHLE1BQU0sRUFBRSxDQUFDO1lBQ3BCLE9BQU8sQ0FBQyxDQUFDO1FBQ1gsQ0FBQztRQUNELElBQUksTUFBTSxHQUFHLE1BQU0sRUFBRSxDQUFDO1lBQ3BCLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFDWixDQUFDO0lBQ0gsQ0FBQztJQUNELE9BQU8sQ0FBQyxDQUFDO0FBQ1gsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiDln7rkuo7nm7jlr7nkuKXmoLznmoTniYjmnKzlj7fop4TliJnvvIzop4TojIPlj6/ku6Xlj4LogINodHRwczovL3NlbXZlci5vcmcvXG4gKiDkvYblnKjmr5TovoPniYjmnKzlj7fml7bkvb/nlKjnm7jlr7nlrr3mnb7nmoTop4TliJnvvIzlhbfkvZPlj6/ku6Xmn6XnnItjb21wYXJlLXZlcnNpb25z5bqT55qE5a6e546wXG4gKiDoh6rmtYvnlKjkvovvvJpodHRwczovL3N0YWNrYmxpdHouY29tL2VkaXQvdHlwZXNjcmlwdC1qcXN6YmpcbiAqL1xuXG5pbXBvcnQgeyBjb21wYXJlLCBDb21wYXJlT3BlcmF0b3IgfSBmcm9tICdjb21wYXJlLXZlcnNpb25zJztcblxuZXhwb3J0IHtcbiAgQ29tcGFyZU9wZXJhdG9yIGFzIFZlcnNpb25Db21wYXJlT3BlcmF0b3IsXG4gIGNvbXBhcmVWZXJzaW9ucyBhcyBjb21wYXJlVmVyc2lvblRvTnVtLFxuICBzYXRpc2ZpZXMgYXMgc2F0aXNmaWVzVmVyc2lvbixcbn0gZnJvbSAnY29tcGFyZS12ZXJzaW9ucyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVmVyc2lvbk9iamVjdCB7XG4gIHZlcnNpb246IHN0cmluZztcbiAgbWFqb3I6IG51bWJlcjtcbiAgbWlub3I6IG51bWJlcjtcbiAgcGF0Y2g6IG51bWJlcjtcbiAgcHJlcmVsZWFzZT86IEFycmF5PG51bWJlciB8IHN0cmluZz47XG59XG5cbmV4cG9ydCBjb25zdCB2ZXJzaW9uUmVnZXggPVxuICAvXihcXGQrKVxcLihcXGQrKVxcLihcXGQrKSg/Oi0oW1xcZGEtei1dKyg/OlxcLltcXGRhLXotXSspKikpPyQvO1xuXG5jb25zdCByZW1vdmVGaXJzdFYgPSAodmVyc2lvbjogc3RyaW5nKSA9PiB7XG4gIHZlcnNpb24gPSB2ZXJzaW9uLnRyaW0oKTtcbiAgaWYgKC9edlxcZC8udGVzdCh2ZXJzaW9uKSkge1xuICAgIHZlcnNpb24gPSB2ZXJzaW9uLnNsaWNlKDEpO1xuICB9XG4gIHJldHVybiB2ZXJzaW9uO1xufTtcbi8qKlxuICog6I635Y+W5pyJ5pWI55qE54mI5pys5Y+377yM5aaC5p6c56ym5ZCI6KeE6IyD5YiZ6L+U5Zue77yM5ZCm5YiZ6L+U5ZuebnVsbFxuICogZWc6IGdldFZhbGlkVmVyc2lvbigndjEuMi4zJykgLy8gJzEuMi4zJ1xuICovXG5leHBvcnQgY29uc3QgZ2V0VmFsaWRWZXJzaW9uID0gKHZlcnNpb246IHN0cmluZyk6IHN0cmluZyA9PiB7XG4gIHZlcnNpb24gPSByZW1vdmVGaXJzdFYodmVyc2lvbik7XG4gIHJldHVybiB2ZXJzaW9uUmVnZXgudGVzdCh2ZXJzaW9uKSA/IHZlcnNpb24gOiBudWxsO1xufTtcblxuLyoqXG4gKiDop6PmnpDniYjmnKzlj7fvvIzlpoLmnpznrKblkIjop4TojIPliJnov5Tlm57kuIDkuKrljIXlkKvniYjmnKzkv6Hmga/nmoTlr7nosaFcbiAqL1xuZXhwb3J0IGNvbnN0IHBhcnNlVmVyc2lvbiA9ICh2ZXJzaW9uOiBzdHJpbmcpOiBWZXJzaW9uT2JqZWN0ID0+IHtcbiAgdmVyc2lvbiA9IHJlbW92ZUZpcnN0Vih2ZXJzaW9uKTtcbiAgY29uc3QgbWF0Y2ggPSB2ZXJzaW9uLm1hdGNoKHZlcnNpb25SZWdleCk7XG4gIGlmIChtYXRjaD8ubGVuZ3RoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHZlcnNpb246IG1hdGNoWzBdLFxuICAgICAgbWFqb3I6ICttYXRjaFsxXSxcbiAgICAgIG1pbm9yOiArbWF0Y2hbMl0sXG4gICAgICBwYXRjaDogK21hdGNoWzNdLFxuICAgICAgcHJlcmVsZWFzZTpcbiAgICAgICAgbWF0Y2hbNF0/LnNwbGl0KCcuJykubWFwKHN0ciA9PiB7XG4gICAgICAgICAgaWYgKC9eXFxkKiQvLnRlc3Qoc3RyKSkge1xuICAgICAgICAgICAgcmV0dXJuICtzdHI7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBzdHI7XG4gICAgICAgIH0pIHx8IFtdLFxuICAgIH07XG4gIH1cbn07XG5cbmNvbnN0IF9nZXRDb21wYXJlID1cbiAgKG9wZXJhdG9yOiBDb21wYXJlT3BlcmF0b3IpID0+XG4gICh2MTogc3RyaW5nLCB2Mjogc3RyaW5nKTogYm9vbGVhbiA9PlxuICAgIGNvbXBhcmUodjEsIHYyLCBvcGVyYXRvcik7XG4vKipcbiAqIOS9v+eUqOe7meWumuinhOWImeavlOi+g+S4pOS4queJiOacrFxuICogbHQ6IHYx5bCP5LqOdjI7ICBndDogdjHlpKfkuo52MjsgIGx0ZTogdjHlsI/kuo7nrYnkuo52MjsgIGd0ZTogdjHlpKfkuo7nrYnkuo52MjtcbiAqIGVnOiBjb21wYXJlVmVyc2lvbi5sdCgnMS4yLjMnLCAnOS44LjcnKSAvLyB0cnVlXG4gKiAgICAgY29tcGFyZVZlcnNpb24uY21wKCcxLjIuMycsICc5LjguNycsICc8JykgLy8gdHJ1ZVxuICovXG5leHBvcnQgY29uc3QgY29tcGFyZVZlcnNpb24gPSB7XG4gIGx0OiBfZ2V0Q29tcGFyZSgnPCcpLFxuICBndDogX2dldENvbXBhcmUoJz4nKSxcbiAgZXE6IF9nZXRDb21wYXJlKCc9JyksXG4gIGx0ZTogX2dldENvbXBhcmUoJzw9JyksXG4gIGd0ZTogX2dldENvbXBhcmUoJz49JyksXG4gIGNtcDogY29tcGFyZSxcbn07XG5cbi8vIOWFgeiuuOS9v+eUqOWuveadvueahOeJiOacrOWPt+i/m+ihjCBtaW5vciDniYjmnKzmr5TovoNcbmV4cG9ydCBjb25zdCBjb21wYXJlTWlub3JWZXJzaW9uID0gKHYxOiBzdHJpbmcsIHYyOiBzdHJpbmcpID0+IHtcbiAgY29uc3QgdjFBcnIgPSB2MS5zcGxpdCgnLicpLm1hcCh2ID0+IHBhcnNlSW50KHYpKTtcbiAgY29uc3QgdjJBcnIgPSB2Mi5zcGxpdCgnLicpLm1hcCh2ID0+IHBhcnNlSW50KHYpKTtcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCAyOyBpKyspIHtcbiAgICBjb25zdCB2MVBhcnQgPSB2MUFycltpXSB8fCAwO1xuICAgIGNvbnN0IHYyUGFydCA9IHYyQXJyW2ldIHx8IDA7XG4gICAgaWYgKHYxUGFydCA+IHYyUGFydCkge1xuICAgICAgcmV0dXJuIDE7XG4gICAgfVxuICAgIGlmICh2MVBhcnQgPCB2MlBhcnQpIHtcbiAgICAgIHJldHVybiAtMTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIDA7XG59O1xuIl19
@@ -1,21 +0,0 @@
1
- /**
2
- * @packageDocumentation
3
- * @module utils
4
- */
5
- import { of, catchError, map, startWith } from 'rxjs';
6
- export function withLoadState(input, defaultValue = null) {
7
- return input.pipe(map(data => ({
8
- loading: false,
9
- data,
10
- error: null,
11
- })), startWith({
12
- loading: true,
13
- data: defaultValue,
14
- error: null,
15
- }), catchError(error => of({
16
- loading: false,
17
- data: defaultValue,
18
- error,
19
- })));
20
- }
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1sb2FkLXN0YXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9keW5hbWljLXBsdWdpbi1zaGFyZWQvc3JjL3V0aWxzL3dpdGgtbG9hZC1zdGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFFSCxPQUFPLEVBQWMsRUFBRSxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBUWxFLE1BQU0sVUFBVSxhQUFhLENBQzNCLEtBQW9CLEVBQ3BCLGVBQWtCLElBQUk7SUFFdEIsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUNmLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDWCxPQUFPLEVBQUUsS0FBSztRQUNkLElBQUk7UUFDSixLQUFLLEVBQUUsSUFBSTtLQUNaLENBQUMsQ0FBQyxFQUNILFNBQVMsQ0FBQztRQUNSLE9BQU8sRUFBRSxJQUFJO1FBQ2IsSUFBSSxFQUFFLFlBQVk7UUFDbEIsS0FBSyxFQUFFLElBQUk7S0FDWixDQUFDLEVBQ0YsVUFBVSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQ2pCLEVBQUUsQ0FBQztRQUNELE9BQU8sRUFBRSxLQUFLO1FBQ2QsSUFBSSxFQUFFLFlBQVk7UUFDbEIsS0FBSztLQUNOLENBQUMsQ0FDSCxDQUNGLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb25cbiAqIEBtb2R1bGUgdXRpbHNcbiAqL1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiwgY2F0Y2hFcnJvciwgbWFwLCBzdGFydFdpdGggfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IGludGVyZmFjZSBXaXRoTG9hZFN0YXRlPFQsIEUgPSB1bmtub3duPiB7XG4gIGxvYWRpbmc6IGJvb2xlYW47XG4gIGRhdGE6IFQ7XG4gIGVycm9yOiBFO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gd2l0aExvYWRTdGF0ZTxUPihcbiAgaW5wdXQ6IE9ic2VydmFibGU8VD4sXG4gIGRlZmF1bHRWYWx1ZTogVCA9IG51bGwsXG4pOiBPYnNlcnZhYmxlPFdpdGhMb2FkU3RhdGU8VD4+IHtcbiAgcmV0dXJuIGlucHV0LnBpcGUoXG4gICAgbWFwKGRhdGEgPT4gKHtcbiAgICAgIGxvYWRpbmc6IGZhbHNlLFxuICAgICAgZGF0YSxcbiAgICAgIGVycm9yOiBudWxsLFxuICAgIH0pKSxcbiAgICBzdGFydFdpdGgoe1xuICAgICAgbG9hZGluZzogdHJ1ZSxcbiAgICAgIGRhdGE6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGVycm9yOiBudWxsLFxuICAgIH0pLFxuICAgIGNhdGNoRXJyb3IoZXJyb3IgPT5cbiAgICAgIG9mKHtcbiAgICAgICAgbG9hZGluZzogZmFsc2UsXG4gICAgICAgIGRhdGE6IGRlZmF1bHRWYWx1ZSxcbiAgICAgICAgZXJyb3IsXG4gICAgICB9KSxcbiAgICApLFxuICApO1xufVxuIl19
@@ -1,183 +0,0 @@
1
- import { get } from 'lodash-es';
2
- import { GenericStatusColor, GenericStatusIcon, } from '../constants/status-icons';
3
- export var WorkloadKind;
4
- (function (WorkloadKind) {
5
- WorkloadKind["Deployment"] = "Deployment";
6
- WorkloadKind["StatefulSet"] = "StatefulSet";
7
- WorkloadKind["DaemonSet"] = "DaemonSet";
8
- })(WorkloadKind || (WorkloadKind = {}));
9
- export var JobStatusEnum;
10
- (function (JobStatusEnum) {
11
- JobStatusEnum["EXECUTING"] = "executing";
12
- JobStatusEnum["EXECUTE_SUCCEEDED"] = "execute_succeeded";
13
- JobStatusEnum["EXECUTE_FAILED"] = "execute_failed";
14
- JobStatusEnum["UNKNOWN"] = "unknown";
15
- })(JobStatusEnum || (JobStatusEnum = {}));
16
- export const JobStatusColorMapper = {
17
- [JobStatusEnum.EXECUTING]: GenericStatusColor.Pending,
18
- [JobStatusEnum.EXECUTE_SUCCEEDED]: GenericStatusColor.Succeeded,
19
- [JobStatusEnum.EXECUTE_FAILED]: GenericStatusColor.Failed,
20
- [JobStatusEnum.UNKNOWN]: GenericStatusColor.Empty,
21
- };
22
- export const JobStatusIconMapper = {
23
- [JobStatusEnum.EXECUTING]: GenericStatusIcon.Pending,
24
- [JobStatusEnum.EXECUTE_SUCCEEDED]: GenericStatusIcon.Check,
25
- [JobStatusEnum.EXECUTE_FAILED]: GenericStatusIcon.Error,
26
- [JobStatusEnum.UNKNOWN]: GenericStatusIcon.Question,
27
- };
28
- export var WorkloadStatusEnum;
29
- (function (WorkloadStatusEnum) {
30
- WorkloadStatusEnum["running"] = "running";
31
- WorkloadStatusEnum["stopped"] = "stopped";
32
- WorkloadStatusEnum["pending"] = "pending";
33
- WorkloadStatusEnum["killed"] = "killed";
34
- })(WorkloadStatusEnum || (WorkloadStatusEnum = {}));
35
- export const WorkloadStatusColorMapper = {
36
- [WorkloadStatusEnum.running]: GenericStatusColor.Running,
37
- [WorkloadStatusEnum.pending]: GenericStatusColor.Pending,
38
- [WorkloadStatusEnum.stopped]: GenericStatusColor.Stopped,
39
- [WorkloadStatusEnum.killed]: GenericStatusColor.Stopped,
40
- };
41
- export const WorkloadStatusIconMapper = {
42
- [WorkloadStatusEnum.running]: GenericStatusIcon.Running,
43
- [WorkloadStatusEnum.pending]: GenericStatusIcon.Pending,
44
- [WorkloadStatusEnum.stopped]: GenericStatusIcon.Stopped,
45
- [WorkloadStatusEnum.killed]: GenericStatusIcon.Stopped,
46
- };
47
- export const STATUS = 'status';
48
- export function parseDeploymentStatus(res) {
49
- const status = res.status;
50
- if (larger(res.spec.replicas, 0) &&
51
- equal(status.updatedReplicas, res.spec.replicas) &&
52
- equal(status.replicas, res.spec.replicas) &&
53
- equal(status.availableReplicas, res.spec.replicas) &&
54
- largerEqual(status.observedGeneration, res.metadata.generation)) {
55
- return WorkloadStatusEnum.running;
56
- }
57
- if (equal(res.spec.replicas, 0) &&
58
- equal(status.replicas, res.spec.replicas) &&
59
- equal(status.updatedReplicas, res.spec.replicas) &&
60
- equal(status.availableReplicas, res.spec.replicas) &&
61
- largerEqual(status.observedGeneration, res.metadata.generation)) {
62
- return WorkloadStatusEnum.stopped;
63
- }
64
- return WorkloadStatusEnum.pending;
65
- }
66
- export function parseDaemonSetStatus(res) {
67
- const status = res.status;
68
- if (larger(status.desiredNumberScheduled, 0) &&
69
- largerEqual(status.observedGeneration, res.metadata.generation) &&
70
- equal(status.desiredNumberScheduled, status.currentNumberScheduled) &&
71
- equal(status.numberReady, status.desiredNumberScheduled) &&
72
- equal(status.numberAvailable, status.desiredNumberScheduled) &&
73
- (res.spec.updateStrategy.type !== 'RollingUpdate' ||
74
- equal(status.updatedNumberScheduled, status.desiredNumberScheduled))) {
75
- return WorkloadStatusEnum.running;
76
- }
77
- if (equal(status.desiredNumberScheduled, 0) &&
78
- largerEqual(status.observedGeneration, res.metadata.generation) &&
79
- equal(status.desiredNumberScheduled, status.desiredNumberScheduled) &&
80
- equal(status.numberReady, status.desiredNumberScheduled) &&
81
- equal(status.numberAvailable, status.desiredNumberScheduled) &&
82
- equal(status.currentNumberScheduled, status.desiredNumberScheduled) &&
83
- (res.spec.updateStrategy.type !== 'RollingUpdate' ||
84
- equal(status.updatedNumberScheduled, status.desiredNumberScheduled))) {
85
- return WorkloadStatusEnum.stopped;
86
- }
87
- return WorkloadStatusEnum.pending;
88
- }
89
- export function parseStatefulSetStatus(res) {
90
- const status = res.status;
91
- if (larger(res.spec.replicas, 0) &&
92
- equal(status.replicas, res.spec.replicas) &&
93
- equal(status.readyReplicas, res.spec.replicas) &&
94
- largerEqual(status.observedGeneration, res.metadata.generation) &&
95
- (res.spec.updateStrategy.type !== 'RollingUpdate' ||
96
- (equal(status.currentRevision, status.updateRevision)
97
- ? equal(status.currentReplicas, res.spec.replicas)
98
- : largerEqual(status?.updatedReplicas, status.replicas - +res.spec.updateStrategy.rollingUpdate?.partition)))) {
99
- return WorkloadStatusEnum.running;
100
- }
101
- if (equal(res.spec.replicas, 0) &&
102
- equal(status.replicas, res.spec.replicas) &&
103
- equal(status.readyReplicas, res.spec.replicas) &&
104
- largerEqual(status.observedGeneration, res.metadata.generation) &&
105
- (res.spec.updateStrategy.type !== 'RollingUpdate' ||
106
- (equal(status.currentRevision, status.updateRevision) &&
107
- equal(status.currentReplicas, res.spec.replicas)))) {
108
- return WorkloadStatusEnum.stopped;
109
- }
110
- return WorkloadStatusEnum.pending;
111
- }
112
- export function parseToWorkloadStatus(data) {
113
- switch (data?.kind) {
114
- case WorkloadKind.Deployment: {
115
- return {
116
- status: parseDeploymentStatus(data),
117
- desired: get(data, ['spec', 'replicas'], 0),
118
- current: get(data, [STATUS, 'availableReplicas'], 0),
119
- };
120
- }
121
- case WorkloadKind.DaemonSet: {
122
- return {
123
- status: parseDaemonSetStatus(data),
124
- desired: get(data, [STATUS, 'desiredNumberScheduled'], 0),
125
- current: get(data, [STATUS, 'numberReady'], 0),
126
- };
127
- }
128
- case WorkloadKind.StatefulSet: {
129
- return {
130
- status: parseStatefulSetStatus(data),
131
- desired: get(data, ['spec', 'replicas'], 0),
132
- current: get(data, [STATUS, 'readyReplicas'], 0),
133
- };
134
- }
135
- default: {
136
- return {
137
- status: WorkloadStatusEnum.stopped,
138
- desired: 0,
139
- current: 0,
140
- };
141
- }
142
- }
143
- }
144
- function equal(x, y) {
145
- return defaultZero(x) === defaultZero(y);
146
- }
147
- function largerEqual(x, y) {
148
- return defaultZero(x) >= defaultZero(y);
149
- }
150
- function larger(x, y) {
151
- return defaultZero(x) > defaultZero(y);
152
- }
153
- function defaultZero(x) {
154
- return x || 0;
155
- }
156
- export function getJobStatus(data) {
157
- const status = data.status;
158
- if (status.conditions?.some(_item => _item.type === 'Failed')) {
159
- return JobStatusEnum.EXECUTE_FAILED;
160
- }
161
- // when Complete and succeeded, judge to execute_succeeded
162
- if (status.conditions?.some(_item => _item.type === 'Complete')) {
163
- if (status.succeeded) {
164
- return JobStatusEnum.EXECUTE_SUCCEEDED;
165
- }
166
- if (status.failed) {
167
- return JobStatusEnum.EXECUTE_FAILED;
168
- }
169
- }
170
- // no condition and no Complete when running
171
- if (status.active) {
172
- return JobStatusEnum.EXECUTING;
173
- }
174
- return JobStatusEnum.UNKNOWN;
175
- }
176
- export function getWorkloadStatus(status) {
177
- return status.status.toLowerCase();
178
- }
179
- export function getPodIPs(pod) {
180
- const podIPs = pod.status.podIPs?.map(({ ip }) => ip);
181
- return podIPs?.length ? podIPs : [pod.status.podIP].filter(Boolean);
182
- }
183
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2xvYWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2R5bmFtaWMtcGx1Z2luLXNoYXJlZC9zcmMvdXRpbHMvd29ya2xvYWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUVoQyxPQUFPLEVBQ0wsa0JBQWtCLEVBQ2xCLGlCQUFpQixHQUNsQixNQUFNLDJCQUEyQixDQUFDO0FBS25DLE1BQU0sQ0FBTixJQUFZLFlBSVg7QUFKRCxXQUFZLFlBQVk7SUFDdEIseUNBQXlCLENBQUE7SUFDekIsMkNBQTJCLENBQUE7SUFDM0IsdUNBQXVCLENBQUE7QUFDekIsQ0FBQyxFQUpXLFlBQVksS0FBWixZQUFZLFFBSXZCO0FBRUQsTUFBTSxDQUFOLElBQVksYUFLWDtBQUxELFdBQVksYUFBYTtJQUN2Qix3Q0FBdUIsQ0FBQTtJQUN2Qix3REFBdUMsQ0FBQTtJQUN2QyxrREFBaUMsQ0FBQTtJQUNqQyxvQ0FBbUIsQ0FBQTtBQUNyQixDQUFDLEVBTFcsYUFBYSxLQUFiLGFBQWEsUUFLeEI7QUFFRCxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRztJQUNsQyxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsRUFBRSxrQkFBa0IsQ0FBQyxPQUFPO0lBQ3JELENBQUMsYUFBYSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsa0JBQWtCLENBQUMsU0FBUztJQUMvRCxDQUFDLGFBQWEsQ0FBQyxjQUFjLENBQUMsRUFBRSxrQkFBa0IsQ0FBQyxNQUFNO0lBQ3pELENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxFQUFFLGtCQUFrQixDQUFDLEtBQUs7Q0FDbEQsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHO0lBQ2pDLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxFQUFFLGlCQUFpQixDQUFDLE9BQU87SUFDcEQsQ0FBQyxhQUFhLENBQUMsaUJBQWlC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TSxNQUFNLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDdEQsT0FBTyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDdEUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGdldCB9IGZyb20gJ2xvZGFzaC1lcyc7XG5cbmltcG9ydCB7XG4gIEdlbmVyaWNTdGF0dXNDb2xvcixcbiAgR2VuZXJpY1N0YXR1c0ljb24sXG59IGZyb20gJy4uL2NvbnN0YW50cy9zdGF0dXMtaWNvbnMnO1xuaW1wb3J0IHsgRGFlbW9uU2V0LCBEZXBsb3ltZW50LCBKb2IsIFBvZCwgU3RhdGVmdWxTZXQgfSBmcm9tICcuLi90eXBlcyc7XG5cbmV4cG9ydCB0eXBlIFdvcmtsb2FkID0gRGVwbG95bWVudCB8IFN0YXRlZnVsU2V0IHwgRGFlbW9uU2V0O1xuXG5leHBvcnQgZW51bSBXb3JrbG9hZEtpbmQge1xuICBEZXBsb3ltZW50ID0gJ0RlcGxveW1lbnQnLFxuICBTdGF0ZWZ1bFNldCA9ICdTdGF0ZWZ1bFNldCcsXG4gIERhZW1vblNldCA9ICdEYWVtb25TZXQnLFxufVxuXG5leHBvcnQgZW51bSBKb2JTdGF0dXNFbnVtIHtcbiAgRVhFQ1VUSU5HID0gJ2V4ZWN1dGluZycsXG4gIEVYRUNVVEVfU1VDQ0VFREVEID0gJ2V4ZWN1dGVfc3VjY2VlZGVkJyxcbiAgRVhFQ1VURV9GQUlMRUQgPSAnZXhlY3V0ZV9mYWlsZWQnLFxuICBVTktOT1dOID0gJ3Vua25vd24nLCAvLyDmr5TlpoIgbmFtZXNwYWNlIHBvZCDmlbDph4/ovr7liLDpmZDpop3kuIrpmZDvvIzku7vliqHlsLHkvJrlj6rop6blj5HvvIzkvYbmmK/msqHmnInnirbmgIFcbn1cblxuZXhwb3J0IGNvbnN0IEpvYlN0YXR1c0NvbG9yTWFwcGVyID0ge1xuICBbSm9iU3RhdHVzRW51bS5FWEVDVVRJTkddOiBHZW5lcmljU3RhdHVzQ29sb3IuUGVuZGluZyxcbiAgW0pvYlN0YXR1c0VudW0uRVhFQ1VURV9TVUNDRUVERURdOiBHZW5lcmljU3RhdHVzQ29sb3IuU3VjY2VlZGVkLFxuICBbSm9iU3RhdHVzRW51bS5FWEVDVVRFX0ZBSUxFRF06IEdlbmVyaWNTdGF0dXNDb2xvci5GYWlsZWQsXG4gIFtKb2JTdGF0dXNFbnVtLlVOS05PV05dOiBHZW5lcmljU3RhdHVzQ29sb3IuRW1wdHksXG59O1xuXG5leHBvcnQgY29uc3QgSm9iU3RhdHVzSWNvbk1hcHBlciA9IHtcbiAgW0pvYlN0YXR1c0VudW0uRVhFQ1VUSU5HXTogR2VuZXJpY1N0YXR1c0ljb24uUGVuZGluZyxcbiAgW0pvYlN0YXR1c0VudW0uRVhFQ1VURV9TVUNDRUVERURdOiBHZW5lcmljU3RhdHVzSWNvbi5DaGVjayxcbiAgW0pvYlN0YXR1c0VudW0uRVhFQ1VURV9GQUlMRURdOiBHZW5lcmljU3RhdHVzSWNvbi5FcnJvcixcbiAgW0pvYlN0YXR1c0VudW0uVU5LTk9XTl06IEdlbmVyaWNTdGF0dXNJY29uLlF1ZXN0aW9uLFxufTtcblxuZXhwb3J0IGVudW0gV29ya2xvYWRTdGF0dXNFbnVtIHtcbiAgcnVubmluZyA9ICdydW5uaW5nJyxcbiAgc3RvcHBlZCA9ICdzdG9wcGVkJyxcbiAgcGVuZGluZyA9ICdwZW5kaW5nJyxcbiAga2lsbGVkID0gJ2tpbGxlZCcsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2VuZXJpY1dvcmtsb2FkU3RhdHVzIHtcbiAgc3RhdHVzPzogV29ya2xvYWRTdGF0dXNFbnVtO1xuICBkZXNpcmVkPzogbnVtYmVyO1xuICBjdXJyZW50PzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFdvcmtsb2FkU3RhdHVzIGV4dGVuZHMgR2VuZXJpY1dvcmtsb2FkU3RhdHVzIHtcbiAgbmFtZT86IHN0cmluZztcbiAgZ3JvdXA/OiBzdHJpbmc7XG4gIGtpbmQ/OiBzdHJpbmc7XG4gIG1lc3NhZ2VzPzogQXJyYXk8e1xuICAgIG1lc3NhZ2U6IHN0cmluZztcbiAgICByZWFzb24/OiBzdHJpbmc7XG4gIH0+O1xufVxuXG5leHBvcnQgY29uc3QgV29ya2xvYWRTdGF0dXNDb2xvck1hcHBlciA9IHtcbiAgW1dvcmtsb2FkU3RhdHVzRW51bS5ydW5uaW5nXTogR2VuZXJpY1N0YXR1c0NvbG9yLlJ1bm5pbmcsXG4gIFtXb3JrbG9hZFN0YXR1c0VudW0ucGVuZGluZ106IEdlbmVyaWNTdGF0dXNDb2xvci5QZW5kaW5nLFxuICBbV29ya2xvYWRTdGF0dXNFbnVtLnN0b3BwZWRdOiBHZW5lcmljU3RhdHVzQ29sb3IuU3RvcHBlZCxcbiAgW1dvcmtsb2FkU3RhdHVzRW51bS5raWxsZWRdOiBHZW5lcmljU3RhdHVzQ29sb3IuU3RvcHBlZCxcbn07XG5cbmV4cG9ydCBjb25zdCBXb3JrbG9hZFN0YXR1c0ljb25NYXBwZXIgPSB7XG4gIFtXb3JrbG9hZFN0YXR1c0VudW0ucnVubmluZ106IEdlbmVyaWNTdGF0dXNJY29uLlJ1bm5pbmcsXG4gIFtXb3JrbG9hZFN0YXR1c0VudW0ucGVuZGluZ106IEdlbmVyaWNTdGF0dXNJY29uLlBlbmRpbmcsXG4gIFtXb3JrbG9hZFN0YXR1c0VudW0uc3RvcHBlZF06IEdlbmVyaWNTdGF0dXNJY29uLlN0b3BwZWQsXG4gIFtXb3JrbG9hZFN0YXR1c0VudW0ua2lsbGVkXTogR2VuZXJpY1N0YXR1c0ljb24uU3RvcHBlZCxcbn07XG5cbmV4cG9ydCBjb25zdCBTVEFUVVMgPSAnc3RhdHVzJztcblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlRGVwbG95bWVudFN0YXR1cyhyZXM6IERlcGxveW1lbnQpIHtcbiAgY29uc3Qgc3RhdHVzID0gcmVzLnN0YXR1cztcbiAgaWYgKFxuICAgIGxhcmdlcihyZXMuc3BlYy5yZXBsaWNhcywgMCkgJiZcbiAgICBlcXVhbChzdGF0dXMudXBkYXRlZFJlcGxpY2FzLCByZXMuc3BlYy5yZXBsaWNhcykgJiZcbiAgICBlcXVhbChzdGF0dXMucmVwbGljYXMsIHJlcy5zcGVjLnJlcGxpY2FzKSAmJlxuICAgIGVxdWFsKHN0YXR1cy5hdmFpbGFibGVSZXBsaWNhcywgcmVzLnNwZWMucmVwbGljYXMpICYmXG4gICAgbGFyZ2VyRXF1YWwoc3RhdHVzLm9ic2VydmVkR2VuZXJhdGlvbiwgcmVzLm1ldGFkYXRhLmdlbmVyYXRpb24pXG4gICkge1xuICAgIHJldHVybiBXb3JrbG9hZFN0YXR1c0VudW0ucnVubmluZztcbiAgfVxuICBpZiAoXG4gICAgZXF1YWwocmVzLnNwZWMucmVwbGljYXMsIDApICYmXG4gICAgZXF1YWwoc3RhdHVzLnJlcGxpY2FzLCByZXMuc3BlYy5yZXBsaWNhcykgJiZcbiAgICBlcXVhbChzdGF0dXMudXBkYXRlZFJlcGxpY2FzLCByZXMuc3BlYy5yZXBsaWNhcykgJiZcbiAgICBlcXVhbChzdGF0dXMuYXZhaWxhYmxlUmVwbGljYXMsIHJlcy5zcGVjLnJlcGxpY2FzKSAmJlxuICAgIGxhcmdlckVxdWFsKHN0YXR1cy5vYnNlcnZlZEdlbmVyYXRpb24sIHJlcy5tZXRhZGF0YS5nZW5lcmF0aW9uKVxuICApIHtcbiAgICByZXR1cm4gV29ya2xvYWRTdGF0dXNFbnVtLnN0b3BwZWQ7XG4gIH1cbiAgcmV0dXJuIFdvcmtsb2FkU3RhdHVzRW51bS5wZW5kaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VEYWVtb25TZXRTdGF0dXMocmVzOiBEYWVtb25TZXQpIHtcbiAgY29uc3Qgc3RhdHVzID0gcmVzLnN0YXR1cztcbiAgaWYgKFxuICAgIGxhcmdlcihzdGF0dXMuZGVzaXJlZE51bWJlclNjaGVkdWxlZCwgMCkgJiZcbiAgICBsYXJnZXJFcXVhbChzdGF0dXMub2JzZXJ2ZWRHZW5lcmF0aW9uLCByZXMubWV0YWRhdGEuZ2VuZXJhdGlvbikgJiZcbiAgICBlcXVhbChzdGF0dXMuZGVzaXJlZE51bWJlclNjaGVkdWxlZCwgc3RhdHVzLmN1cnJlbnROdW1iZXJTY2hlZHVsZWQpICYmXG4gICAgZXF1YWwoc3RhdHVzLm51bWJlclJlYWR5LCBzdGF0dXMuZGVzaXJlZE51bWJlclNjaGVkdWxlZCkgJiZcbiAgICBlcXVhbChzdGF0dXMubnVtYmVyQXZhaWxhYmxlLCBzdGF0dXMuZGVzaXJlZE51bWJlclNjaGVkdWxlZCkgJiZcbiAgICAocmVzLnNwZWMudXBkYXRlU3RyYXRlZ3kudHlwZSAhPT0gJ1JvbGxpbmdVcGRhdGUnIHx8XG4gICAgICBlcXVhbChzdGF0dXMudXBkYXRlZE51bWJlclNjaGVkdWxlZCwgc3RhdHVzLmRlc2lyZWROdW1iZXJTY2hlZHVsZWQpKVxuICApIHtcbiAgICByZXR1cm4gV29ya2xvYWRTdGF0dXNFbnVtLnJ1bm5pbmc7XG4gIH1cbiAgaWYgKFxuICAgIGVxdWFsKHN0YXR1cy5kZXNpcmVkTnVtYmVyU2NoZWR1bGVkLCAwKSAmJlxuICAgIGxhcmdlckVxdWFsKHN0YXR1cy5vYnNlcnZlZEdlbmVyYXRpb24sIHJlcy5tZXRhZGF0YS5nZW5lcmF0aW9uKSAmJlxuICAgIGVxdWFsKHN0YXR1cy5kZXNpcmVkTnVtYmVyU2NoZWR1bGVkLCBzdGF0dXMuZGVzaXJlZE51bWJlclNjaGVkdWxlZCkgJiZcbiAgICBlcXVhbChzdGF0dXMubnVtYmVyUmVhZHksIHN0YXR1cy5kZXNpcmVkTnVtYmVyU2NoZWR1bGVkKSAmJlxuICAgIGVxdWFsKHN0YXR1cy5udW1iZXJBdmFpbGFibGUsIHN0YXR1cy5kZXNpcmVkTnVtYmVyU2NoZWR1bGVkKSAmJlxuICAgIGVxdWFsKHN0YXR1cy5jdXJyZW50TnVtYmVyU2NoZWR1bGVkLCBzdGF0dXMuZGVzaXJlZE51bWJlclNjaGVkdWxlZCkgJiZcbiAgICAocmVzLnNwZWMudXBkYXRlU3RyYXRlZ3kudHlwZSAhPT0gJ1JvbGxpbmdVcGRhdGUnIHx8XG4gICAgICBlcXVhbChzdGF0dXMudXBkYXRlZE51bWJlclNjaGVkdWxlZCwgc3RhdHVzLmRlc2lyZWROdW1iZXJTY2hlZHVsZWQpKVxuICApIHtcbiAgICByZXR1cm4gV29ya2xvYWRTdGF0dXNFbnVtLnN0b3BwZWQ7XG4gIH1cbiAgcmV0dXJuIFdvcmtsb2FkU3RhdHVzRW51bS5wZW5kaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VTdGF0ZWZ1bFNldFN0YXR1cyhyZXM6IFN0YXRlZnVsU2V0KSB7XG4gIGNvbnN0IHN0YXR1cyA9IHJlcy5zdGF0dXM7XG4gIGlmIChcbiAgICBsYXJnZXIocmVzLnNwZWMucmVwbGljYXMsIDApICYmXG4gICAgZXF1YWwoc3RhdHVzLnJlcGxpY2FzLCByZXMuc3BlYy5yZXBsaWNhcykgJiZcbiAgICBlcXVhbChzdGF0dXMucmVhZHlSZXBsaWNhcywgcmVzLnNwZWMucmVwbGljYXMpICYmXG4gICAgbGFyZ2VyRXF1YWwoc3RhdHVzLm9ic2VydmVkR2VuZXJhdGlvbiwgcmVzLm1ldGFkYXRhLmdlbmVyYXRpb24pICYmXG4gICAgKHJlcy5zcGVjLnVwZGF0ZVN0cmF0ZWd5LnR5cGUgIT09ICdSb2xsaW5nVXBkYXRlJyB8fFxuICAgICAgKGVxdWFsKHN0YXR1cy5jdXJyZW50UmV2aXNpb24sIHN0YXR1cy51cGRhdGVSZXZpc2lvbilcbiAgICAgICAgPyBlcXVhbChzdGF0dXMuY3VycmVudFJlcGxpY2FzLCByZXMuc3BlYy5yZXBsaWNhcylcbiAgICAgICAgOiBsYXJnZXJFcXVhbChcbiAgICAgICAgICAgIHN0YXR1cz8udXBkYXRlZFJlcGxpY2FzLFxuICAgICAgICAgICAgc3RhdHVzLnJlcGxpY2FzIC0gK3Jlcy5zcGVjLnVwZGF0ZVN0cmF0ZWd5LnJvbGxpbmdVcGRhdGU/LnBhcnRpdGlvbixcbiAgICAgICAgICApKSlcbiAgKSB7XG4gICAgcmV0dXJuIFdvcmtsb2FkU3RhdHVzRW51bS5ydW5uaW5nO1xuICB9XG4gIGlmIChcbiAgICBlcXVhbChyZXMuc3BlYy5yZXBsaWNhcywgMCkgJiZcbiAgICBlcXVhbChzdGF0dXMucmVwbGljYXMsIHJlcy5zcGVjLnJlcGxpY2FzKSAmJlxuICAgIGVxdWFsKHN0YXR1cy5yZWFkeVJlcGxpY2FzLCByZXMuc3BlYy5yZXBsaWNhcykgJiZcbiAgICBsYXJnZXJFcXVhbChzdGF0dXMub2JzZXJ2ZWRHZW5lcmF0aW9uLCByZXMubWV0YWRhdGEuZ2VuZXJhdGlvbikgJiZcbiAgICAocmVzLnNwZWMudXBkYXRlU3RyYXRlZ3kudHlwZSAhPT0gJ1JvbGxpbmdVcGRhdGUnIHx8XG4gICAgICAoZXF1YWwoc3RhdHVzLmN1cnJlbnRSZXZpc2lvbiwgc3RhdHVzLnVwZGF0ZVJldmlzaW9uKSAmJlxuICAgICAgICBlcXVhbChzdGF0dXMuY3VycmVudFJlcGxpY2FzLCByZXMuc3BlYy5yZXBsaWNhcykpKVxuICApIHtcbiAgICByZXR1cm4gV29ya2xvYWRTdGF0dXNFbnVtLnN0b3BwZWQ7XG4gIH1cbiAgcmV0dXJuIFdvcmtsb2FkU3RhdHVzRW51bS5wZW5kaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VUb1dvcmtsb2FkU3RhdHVzKGRhdGE6IERlcGxveW1lbnQpOiBHZW5lcmljV29ya2xvYWRTdGF0dXMge1xuICBzd2l0Y2ggKGRhdGE/LmtpbmQpIHtcbiAgICBjYXNlIFdvcmtsb2FkS2luZC5EZXBsb3ltZW50OiB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBzdGF0dXM6IHBhcnNlRGVwbG95bWVudFN0YXR1cyhkYXRhKSxcbiAgICAgICAgZGVzaXJlZDogZ2V0KGRhdGEsIFsnc3BlYycsICdyZXBsaWNhcyddLCAwKSxcbiAgICAgICAgY3VycmVudDogZ2V0KGRhdGEsIFtTVEFUVVMsICdhdmFpbGFibGVSZXBsaWNhcyddLCAwKSxcbiAgICAgIH07XG4gICAgfVxuICAgIGNhc2UgV29ya2xvYWRLaW5kLkRhZW1vblNldDoge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgc3RhdHVzOiBwYXJzZURhZW1vblNldFN0YXR1cyhkYXRhKSxcbiAgICAgICAgZGVzaXJlZDogZ2V0KGRhdGEsIFtTVEFUVVMsICdkZXNpcmVkTnVtYmVyU2NoZWR1bGVkJ10sIDApLFxuICAgICAgICBjdXJyZW50OiBnZXQoZGF0YSwgW1NUQVRVUywgJ251bWJlclJlYWR5J10sIDApLFxuICAgICAgfTtcbiAgICB9XG4gICAgY2FzZSBXb3JrbG9hZEtpbmQuU3RhdGVmdWxTZXQ6IHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHN0YXR1czogcGFyc2VTdGF0ZWZ1bFNldFN0YXR1cyhkYXRhKSxcbiAgICAgICAgZGVzaXJlZDogZ2V0KGRhdGEsIFsnc3BlYycsICdyZXBsaWNhcyddLCAwKSxcbiAgICAgICAgY3VycmVudDogZ2V0KGRhdGEsIFtTVEFUVVMsICdyZWFkeVJlcGxpY2FzJ10sIDApLFxuICAgICAgfTtcbiAgICB9XG4gICAgZGVmYXVsdDoge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgc3RhdHVzOiBXb3JrbG9hZFN0YXR1c0VudW0uc3RvcHBlZCxcbiAgICAgICAgZGVzaXJlZDogMCxcbiAgICAgICAgY3VycmVudDogMCxcbiAgICAgIH07XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGVxdWFsKHg6IG51bWJlciB8IHN0cmluZywgeTogbnVtYmVyIHwgc3RyaW5nKSB7XG4gIHJldHVybiBkZWZhdWx0WmVybyh4KSA9PT0gZGVmYXVsdFplcm8oeSk7XG59XG5cbmZ1bmN0aW9uIGxhcmdlckVxdWFsKHg6IG51bWJlciwgeTogbnVtYmVyKSB7XG4gIHJldHVybiBkZWZhdWx0WmVybyh4KSA+PSBkZWZhdWx0WmVybyh5KTtcbn1cblxuZnVuY3Rpb24gbGFyZ2VyKHg6IG51bWJlciwgeTogbnVtYmVyKSB7XG4gIHJldHVybiBkZWZhdWx0WmVybyh4KSA+IGRlZmF1bHRaZXJvKHkpO1xufVxuXG5mdW5jdGlvbiBkZWZhdWx0WmVybyh4OiBudW1iZXIgfCBzdHJpbmcpIHtcbiAgcmV0dXJuIHggfHwgMDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEpvYlN0YXR1cyhkYXRhOiBKb2IpOiBKb2JTdGF0dXNFbnVtIHtcbiAgY29uc3Qgc3RhdHVzID0gZGF0YS5zdGF0dXM7XG4gIGlmIChzdGF0dXMuY29uZGl0aW9ucz8uc29tZShfaXRlbSA9PiBfaXRlbS50eXBlID09PSAnRmFpbGVkJykpIHtcbiAgICByZXR1cm4gSm9iU3RhdHVzRW51bS5FWEVDVVRFX0ZBSUxFRDtcbiAgfVxuICAvLyB3aGVuIENvbXBsZXRlIGFuZCBzdWNjZWVkZWQsIGp1ZGdlIHRvIGV4ZWN1dGVfc3VjY2VlZGVkXG4gIGlmIChzdGF0dXMuY29uZGl0aW9ucz8uc29tZShfaXRlbSA9PiBfaXRlbS50eXBlID09PSAnQ29tcGxldGUnKSkge1xuICAgIGlmIChzdGF0dXMuc3VjY2VlZGVkKSB7XG4gICAgICByZXR1cm4gSm9iU3RhdHVzRW51bS5FWEVDVVRFX1NVQ0NFRURFRDtcbiAgICB9XG4gICAgaWYgKHN0YXR1cy5mYWlsZWQpIHtcbiAgICAgIHJldHVybiBKb2JTdGF0dXNFbnVtLkVYRUNVVEVfRkFJTEVEO1xuICAgIH1cbiAgfVxuICAvLyBubyBjb25kaXRpb24gYW5kIG5vIENvbXBsZXRlIHdoZW4gcnVubmluZ1xuICBpZiAoc3RhdHVzLmFjdGl2ZSkge1xuICAgIHJldHVybiBKb2JTdGF0dXNFbnVtLkVYRUNVVElORztcbiAgfVxuICByZXR1cm4gSm9iU3RhdHVzRW51bS5VTktOT1dOO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0V29ya2xvYWRTdGF0dXMoc3RhdHVzOiBHZW5lcmljV29ya2xvYWRTdGF0dXMpIHtcbiAgcmV0dXJuIHN0YXR1cy5zdGF0dXMudG9Mb3dlckNhc2UoKSBhcyBXb3JrbG9hZFN0YXR1c0VudW07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRQb2RJUHMocG9kOiBQb2QpIHtcbiAgY29uc3QgcG9kSVBzID0gcG9kLnN0YXR1cy5wb2RJUHM/Lm1hcCgoeyBpcCB9KSA9PiBpcCk7XG4gIHJldHVybiBwb2RJUHM/Lmxlbmd0aCA/IHBvZElQcyA6IFtwb2Quc3RhdHVzLnBvZElQXS5maWx0ZXIoQm9vbGVhbik7XG59XG4iXX0=