@ytsaurus/ui 1.14.1 → 1.14.2

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 (244) hide show
  1. package/build/cjs/@types/types.d.ts +1 -0
  2. package/build/cjs/shared/utils/index.js +3 -3
  3. package/build/cjs/shared/utils/index.js.map +1 -1
  4. package/build/cjs/ui/components/AttributesModal/AttributesModal.d.ts +1 -1
  5. package/build/cjs/ui/containers/RetryBatchModal/RetryBatchModal.js +1 -2
  6. package/build/cjs/ui/containers/RetryBatchModal/RetryBatchModal.js.map +1 -1
  7. package/build/cjs/ui/pages/navigation/content/Table/TableMeta/TableMeta.d.ts +1 -1
  8. package/build/cjs/ui/pages/operations/selectors.d.ts +1 -1
  9. package/build/cjs/ui/pages/query-tracker/module/api.js +1 -1
  10. package/build/cjs/ui/pages/query-tracker/module/api.js.map +1 -1
  11. package/build/cjs/ui/pages/query-tracker/module/queries_list/selectors.d.ts +4 -4
  12. package/build/cjs/ui/pages/query-tracker/module/query/selectors.d.ts +1 -1
  13. package/build/cjs/ui/pages/query-tracker/module/settings/selector.d.ts +1 -1
  14. package/build/cjs/ui/rum/constants.d.ts +2 -0
  15. package/build/cjs/ui/rum/constants.js +4 -1
  16. package/build/cjs/ui/rum/constants.js.map +1 -1
  17. package/build/cjs/ui/rum/rum-counter.js +28 -1
  18. package/build/cjs/ui/rum/rum-counter.js.map +1 -1
  19. package/build/cjs/ui/store/actions/chaos_cell_bundles/tablet-cell-bundle-editor.js +2 -1
  20. package/build/cjs/ui/store/actions/chaos_cell_bundles/tablet-cell-bundle-editor.js.map +1 -1
  21. package/build/cjs/ui/store/actions/components/nodes/nodes.js +1 -1
  22. package/build/cjs/ui/store/actions/components/nodes/nodes.js.map +1 -1
  23. package/build/cjs/ui/store/actions/execute-batch.d.ts +2 -1
  24. package/build/cjs/ui/store/actions/execute-batch.js +3 -3
  25. package/build/cjs/ui/store/actions/execute-batch.js.map +1 -1
  26. package/build/cjs/ui/store/actions/navigation/content/map-node.js +1 -1
  27. package/build/cjs/ui/store/actions/navigation/content/map-node.js.map +1 -1
  28. package/build/cjs/ui/store/actions/navigation/index.js +1 -1
  29. package/build/cjs/ui/store/actions/navigation/index.js.map +1 -1
  30. package/build/cjs/ui/store/actions/navigation/modals/attributes-editor.js +9 -3
  31. package/build/cjs/ui/store/actions/navigation/modals/attributes-editor.js.map +1 -1
  32. package/build/cjs/ui/store/actions/navigation/modals/copy-object.js +3 -10
  33. package/build/cjs/ui/store/actions/navigation/modals/copy-object.js.map +1 -1
  34. package/build/cjs/ui/store/actions/navigation/modals/delete-object.js +13 -14
  35. package/build/cjs/ui/store/actions/navigation/modals/delete-object.js.map +1 -1
  36. package/build/cjs/ui/store/actions/navigation/modals/dyn-tables-state-modal.js +9 -5
  37. package/build/cjs/ui/store/actions/navigation/modals/dyn-tables-state-modal.js.map +1 -1
  38. package/build/cjs/ui/store/actions/navigation/modals/move-object.js +3 -10
  39. package/build/cjs/ui/store/actions/navigation/modals/move-object.js.map +1 -1
  40. package/build/cjs/ui/store/actions/navigation/modals/restore-object.js +3 -11
  41. package/build/cjs/ui/store/actions/navigation/modals/restore-object.js.map +1 -1
  42. package/build/cjs/ui/store/actions/navigation/tabs/locks.js +1 -1
  43. package/build/cjs/ui/store/actions/navigation/tabs/locks.js.map +1 -1
  44. package/build/cjs/ui/store/actions/scheduling/expanded-pools.js +2 -3
  45. package/build/cjs/ui/store/actions/scheduling/expanded-pools.js.map +1 -1
  46. package/build/cjs/ui/store/actions/scheduling/scheduling-ts.js +3 -3
  47. package/build/cjs/ui/store/actions/scheduling/scheduling-ts.js.map +1 -1
  48. package/build/cjs/ui/store/actions/scheduling/scheduling.js +1 -1
  49. package/build/cjs/ui/store/actions/scheduling/scheduling.js.map +1 -1
  50. package/build/cjs/ui/store/actions/system/nodes.js +1 -1
  51. package/build/cjs/ui/store/actions/system/nodes.js.map +1 -1
  52. package/build/cjs/ui/store/actions/system/schedulers.js +2 -2
  53. package/build/cjs/ui/store/actions/system/schedulers.js.map +1 -1
  54. package/build/cjs/ui/store/actions/tablet/stores.js +1 -1
  55. package/build/cjs/ui/store/actions/tablet/stores.js.map +1 -1
  56. package/build/cjs/ui/store/actions/tablet_cell_bundles/index.js +1 -1
  57. package/build/cjs/ui/store/actions/tablet_cell_bundles/index.js.map +1 -1
  58. package/build/cjs/ui/store/actions/tablet_cell_bundles/tablet-cell-bundle-editor.js +5 -5
  59. package/build/cjs/ui/store/actions/tablet_cell_bundles/tablet-cell-bundle-editor.js.map +1 -1
  60. package/build/cjs/ui/store/actions/users.js +1 -1
  61. package/build/cjs/ui/store/actions/users.js.map +1 -1
  62. package/build/cjs/ui/store/reducers/execute-batch.d.ts +1 -1
  63. package/build/cjs/ui/store/reducers/execute-batch.js.map +1 -1
  64. package/build/cjs/ui/store/reducers/index.d.ts +1 -1
  65. package/build/cjs/ui/store/reducers/navigation/index.d.ts +1 -1
  66. package/build/cjs/ui/store/selectors/accounts/account-usage.d.ts +8 -8
  67. package/build/cjs/ui/store/selectors/accounts/accounts-ts.d.ts +8 -8
  68. package/build/cjs/ui/store/selectors/chaos_cell_bundles/index.d.ts +11 -11
  69. package/build/cjs/ui/store/selectors/chyt/index.d.ts +7 -7
  70. package/build/cjs/ui/store/selectors/components/node/memory.d.ts +7 -7
  71. package/build/cjs/ui/store/selectors/components/node-maintenance-modal.d.ts +3 -3
  72. package/build/cjs/ui/store/selectors/components/nodes/node-card.d.ts +1 -1
  73. package/build/cjs/ui/store/selectors/components/nodes/nodes/data.d.ts +2 -2
  74. package/build/cjs/ui/store/selectors/components/nodes/nodes/predicates.d.ts +6 -6
  75. package/build/cjs/ui/store/selectors/components/versions/versions_v2-ts.d.ts +2 -2
  76. package/build/cjs/ui/store/selectors/components/versions/versions_v2.d.ts +5 -5
  77. package/build/cjs/ui/store/selectors/global/index.d.ts +14 -14
  78. package/build/cjs/ui/store/selectors/global/supported-features.d.ts +6 -6
  79. package/build/cjs/ui/store/selectors/modals/errors.d.ts +1 -1
  80. package/build/cjs/ui/store/selectors/navigation/content/document.d.ts +1 -1
  81. package/build/cjs/ui/store/selectors/navigation/content/replicated-table.d.ts +3 -3
  82. package/build/cjs/ui/store/selectors/navigation/content/table-mount-config.d.ts +1 -1
  83. package/build/cjs/ui/store/selectors/navigation/content/table-ts.d.ts +4 -4
  84. package/build/cjs/ui/store/selectors/navigation/content/table.d.ts +7 -7
  85. package/build/cjs/ui/store/selectors/navigation/modals/attributes-editor.d.ts +3 -3
  86. package/build/cjs/ui/store/selectors/navigation/modals/remote-copy-modal.d.ts +1 -1
  87. package/build/cjs/ui/store/selectors/navigation/navigation.d.ts +4 -4
  88. package/build/cjs/ui/store/selectors/navigation/tabs/access-log.d.ts +1 -1
  89. package/build/cjs/ui/store/selectors/navigation/tabs/annotation.d.ts +1 -1
  90. package/build/cjs/ui/store/selectors/navigation/tabs/consumer.d.ts +1 -1
  91. package/build/cjs/ui/store/selectors/navigation/tabs/locks.d.ts +2 -2
  92. package/build/cjs/ui/store/selectors/navigation/tabs/queue.d.ts +2 -2
  93. package/build/cjs/ui/store/selectors/navigation/tabs/tablet-errors.d.ts +1 -1
  94. package/build/cjs/ui/store/selectors/operations/index.d.ts +12 -12
  95. package/build/cjs/ui/store/selectors/operations/jobs-monitor.d.ts +4 -4
  96. package/build/cjs/ui/store/selectors/operations/operation.d.ts +12 -12
  97. package/build/cjs/ui/store/selectors/operations/operations-list.d.ts +3 -3
  98. package/build/cjs/ui/store/selectors/operations/statistics-v2.d.ts +8 -8
  99. package/build/cjs/ui/store/selectors/scheduling/attributes-to-filter.d.ts +1 -1
  100. package/build/cjs/ui/store/selectors/scheduling/create-pool-dialog.d.ts +1 -1
  101. package/build/cjs/ui/store/selectors/scheduling/expanded-pools.d.ts +1 -1
  102. package/build/cjs/ui/store/selectors/scheduling/index.d.ts +1 -1
  103. package/build/cjs/ui/store/selectors/scheduling/scheduling-pools.d.ts +3 -3
  104. package/build/cjs/ui/store/selectors/scheduling/scheduling-ts.d.ts +6 -6
  105. package/build/cjs/ui/store/selectors/scheduling/scheduling.d.ts +20 -20
  106. package/build/cjs/ui/store/selectors/tablet_cell_bundles/index.d.ts +15 -15
  107. package/build/cjs/ui/store/selectors/thor/support.d.ts +5 -5
  108. package/build/cjs/ui/utils/acl/acl-api.js +4 -4
  109. package/build/cjs/ui/utils/acl/acl-api.js.map +1 -1
  110. package/build/cjs/ui/utils/batch.d.ts +2 -2
  111. package/build/cjs/ui/utils/cypress-attributes.js +1 -1
  112. package/build/cjs/ui/utils/cypress-attributes.js.map +1 -1
  113. package/build/cjs/ui/utils/errors/ui-error.d.ts +14 -0
  114. package/build/cjs/ui/utils/errors/ui-error.js +24 -0
  115. package/build/cjs/ui/utils/errors/ui-error.js.map +1 -0
  116. package/build/cjs/ui/utils/utils.d.ts +14 -8
  117. package/build/cjs/ui/utils/utils.js +9 -14
  118. package/build/cjs/ui/utils/utils.js.map +1 -1
  119. package/build/esm/@types/types.d.ts +1 -0
  120. package/build/esm/shared/utils/index.js +4 -8
  121. package/build/esm/shared/utils/index.js.map +1 -1
  122. package/build/esm/ui/components/AttributesModal/AttributesModal.d.ts +1 -1
  123. package/build/esm/ui/containers/RetryBatchModal/RetryBatchModal.js +1 -2
  124. package/build/esm/ui/containers/RetryBatchModal/RetryBatchModal.js.map +1 -1
  125. package/build/esm/ui/pages/navigation/content/Table/TableMeta/TableMeta.d.ts +1 -1
  126. package/build/esm/ui/pages/operations/selectors.d.ts +1 -1
  127. package/build/esm/ui/pages/query-tracker/module/api.js +1 -1
  128. package/build/esm/ui/pages/query-tracker/module/api.js.map +1 -1
  129. package/build/esm/ui/pages/query-tracker/module/queries_list/selectors.d.ts +4 -4
  130. package/build/esm/ui/pages/query-tracker/module/query/selectors.d.ts +1 -1
  131. package/build/esm/ui/pages/query-tracker/module/settings/selector.d.ts +1 -1
  132. package/build/esm/ui/rum/constants.d.ts +2 -0
  133. package/build/esm/ui/rum/constants.js +4 -1
  134. package/build/esm/ui/rum/constants.js.map +1 -1
  135. package/build/esm/ui/rum/rum-counter.js +28 -1
  136. package/build/esm/ui/rum/rum-counter.js.map +1 -1
  137. package/build/esm/ui/store/actions/chaos_cell_bundles/tablet-cell-bundle-editor.js +2 -1
  138. package/build/esm/ui/store/actions/chaos_cell_bundles/tablet-cell-bundle-editor.js.map +1 -1
  139. package/build/esm/ui/store/actions/components/nodes/nodes.js +1 -1
  140. package/build/esm/ui/store/actions/components/nodes/nodes.js.map +1 -1
  141. package/build/esm/ui/store/actions/execute-batch.d.ts +2 -1
  142. package/build/esm/ui/store/actions/execute-batch.js +3 -3
  143. package/build/esm/ui/store/actions/execute-batch.js.map +1 -1
  144. package/build/esm/ui/store/actions/navigation/content/map-node.js +1 -1
  145. package/build/esm/ui/store/actions/navigation/content/map-node.js.map +1 -1
  146. package/build/esm/ui/store/actions/navigation/index.js +1 -1
  147. package/build/esm/ui/store/actions/navigation/index.js.map +1 -1
  148. package/build/esm/ui/store/actions/navigation/modals/attributes-editor.js +9 -3
  149. package/build/esm/ui/store/actions/navigation/modals/attributes-editor.js.map +1 -1
  150. package/build/esm/ui/store/actions/navigation/modals/copy-object.js +4 -11
  151. package/build/esm/ui/store/actions/navigation/modals/copy-object.js.map +1 -1
  152. package/build/esm/ui/store/actions/navigation/modals/delete-object.js +14 -15
  153. package/build/esm/ui/store/actions/navigation/modals/delete-object.js.map +1 -1
  154. package/build/esm/ui/store/actions/navigation/modals/dyn-tables-state-modal.js +9 -5
  155. package/build/esm/ui/store/actions/navigation/modals/dyn-tables-state-modal.js.map +1 -1
  156. package/build/esm/ui/store/actions/navigation/modals/move-object.js +4 -11
  157. package/build/esm/ui/store/actions/navigation/modals/move-object.js.map +1 -1
  158. package/build/esm/ui/store/actions/navigation/modals/restore-object.js +4 -12
  159. package/build/esm/ui/store/actions/navigation/modals/restore-object.js.map +1 -1
  160. package/build/esm/ui/store/actions/navigation/tabs/locks.js +1 -1
  161. package/build/esm/ui/store/actions/navigation/tabs/locks.js.map +1 -1
  162. package/build/esm/ui/store/actions/scheduling/expanded-pools.js +2 -3
  163. package/build/esm/ui/store/actions/scheduling/expanded-pools.js.map +1 -1
  164. package/build/esm/ui/store/actions/scheduling/scheduling-ts.js +3 -3
  165. package/build/esm/ui/store/actions/scheduling/scheduling-ts.js.map +1 -1
  166. package/build/esm/ui/store/actions/scheduling/scheduling.js +1 -1
  167. package/build/esm/ui/store/actions/scheduling/scheduling.js.map +1 -1
  168. package/build/esm/ui/store/actions/system/nodes.js +1 -1
  169. package/build/esm/ui/store/actions/system/nodes.js.map +1 -1
  170. package/build/esm/ui/store/actions/system/schedulers.js +2 -2
  171. package/build/esm/ui/store/actions/system/schedulers.js.map +1 -1
  172. package/build/esm/ui/store/actions/tablet/stores.js +1 -1
  173. package/build/esm/ui/store/actions/tablet/stores.js.map +1 -1
  174. package/build/esm/ui/store/actions/tablet_cell_bundles/index.js +1 -1
  175. package/build/esm/ui/store/actions/tablet_cell_bundles/index.js.map +1 -1
  176. package/build/esm/ui/store/actions/tablet_cell_bundles/tablet-cell-bundle-editor.js +5 -5
  177. package/build/esm/ui/store/actions/tablet_cell_bundles/tablet-cell-bundle-editor.js.map +1 -1
  178. package/build/esm/ui/store/actions/users.js +1 -1
  179. package/build/esm/ui/store/actions/users.js.map +1 -1
  180. package/build/esm/ui/store/reducers/execute-batch.d.ts +1 -1
  181. package/build/esm/ui/store/reducers/execute-batch.js.map +1 -1
  182. package/build/esm/ui/store/reducers/index.d.ts +1 -1
  183. package/build/esm/ui/store/reducers/navigation/index.d.ts +1 -1
  184. package/build/esm/ui/store/selectors/accounts/account-usage.d.ts +8 -8
  185. package/build/esm/ui/store/selectors/accounts/accounts-ts.d.ts +8 -8
  186. package/build/esm/ui/store/selectors/chaos_cell_bundles/index.d.ts +11 -11
  187. package/build/esm/ui/store/selectors/chyt/index.d.ts +7 -7
  188. package/build/esm/ui/store/selectors/components/node/memory.d.ts +7 -7
  189. package/build/esm/ui/store/selectors/components/node-maintenance-modal.d.ts +3 -3
  190. package/build/esm/ui/store/selectors/components/nodes/node-card.d.ts +1 -1
  191. package/build/esm/ui/store/selectors/components/nodes/nodes/data.d.ts +2 -2
  192. package/build/esm/ui/store/selectors/components/nodes/nodes/predicates.d.ts +6 -6
  193. package/build/esm/ui/store/selectors/components/versions/versions_v2-ts.d.ts +2 -2
  194. package/build/esm/ui/store/selectors/components/versions/versions_v2.d.ts +5 -5
  195. package/build/esm/ui/store/selectors/global/index.d.ts +14 -14
  196. package/build/esm/ui/store/selectors/global/supported-features.d.ts +6 -6
  197. package/build/esm/ui/store/selectors/modals/errors.d.ts +1 -1
  198. package/build/esm/ui/store/selectors/navigation/content/document.d.ts +1 -1
  199. package/build/esm/ui/store/selectors/navigation/content/replicated-table.d.ts +3 -3
  200. package/build/esm/ui/store/selectors/navigation/content/table-mount-config.d.ts +1 -1
  201. package/build/esm/ui/store/selectors/navigation/content/table-ts.d.ts +4 -4
  202. package/build/esm/ui/store/selectors/navigation/content/table.d.ts +7 -7
  203. package/build/esm/ui/store/selectors/navigation/modals/attributes-editor.d.ts +3 -3
  204. package/build/esm/ui/store/selectors/navigation/modals/remote-copy-modal.d.ts +1 -1
  205. package/build/esm/ui/store/selectors/navigation/navigation.d.ts +4 -4
  206. package/build/esm/ui/store/selectors/navigation/tabs/access-log.d.ts +1 -1
  207. package/build/esm/ui/store/selectors/navigation/tabs/annotation.d.ts +1 -1
  208. package/build/esm/ui/store/selectors/navigation/tabs/consumer.d.ts +1 -1
  209. package/build/esm/ui/store/selectors/navigation/tabs/locks.d.ts +2 -2
  210. package/build/esm/ui/store/selectors/navigation/tabs/queue.d.ts +2 -2
  211. package/build/esm/ui/store/selectors/navigation/tabs/tablet-errors.d.ts +1 -1
  212. package/build/esm/ui/store/selectors/operations/index.d.ts +12 -12
  213. package/build/esm/ui/store/selectors/operations/jobs-monitor.d.ts +4 -4
  214. package/build/esm/ui/store/selectors/operations/operation.d.ts +12 -12
  215. package/build/esm/ui/store/selectors/operations/operations-list.d.ts +3 -3
  216. package/build/esm/ui/store/selectors/operations/statistics-v2.d.ts +8 -8
  217. package/build/esm/ui/store/selectors/scheduling/attributes-to-filter.d.ts +1 -1
  218. package/build/esm/ui/store/selectors/scheduling/create-pool-dialog.d.ts +1 -1
  219. package/build/esm/ui/store/selectors/scheduling/expanded-pools.d.ts +1 -1
  220. package/build/esm/ui/store/selectors/scheduling/index.d.ts +1 -1
  221. package/build/esm/ui/store/selectors/scheduling/scheduling-pools.d.ts +3 -3
  222. package/build/esm/ui/store/selectors/scheduling/scheduling-ts.d.ts +6 -6
  223. package/build/esm/ui/store/selectors/scheduling/scheduling.d.ts +20 -20
  224. package/build/esm/ui/store/selectors/tablet_cell_bundles/index.d.ts +15 -15
  225. package/build/esm/ui/store/selectors/thor/support.d.ts +5 -5
  226. package/build/esm/ui/utils/acl/acl-api.js +4 -4
  227. package/build/esm/ui/utils/acl/acl-api.js.map +1 -1
  228. package/build/esm/ui/utils/batch.d.ts +2 -2
  229. package/build/esm/ui/utils/cypress-attributes.js +1 -1
  230. package/build/esm/ui/utils/cypress-attributes.js.map +1 -1
  231. package/build/esm/ui/utils/errors/ui-error.d.ts +14 -0
  232. package/build/esm/ui/utils/errors/ui-error.js +17 -0
  233. package/build/esm/ui/utils/errors/ui-error.js.map +1 -0
  234. package/build/esm/ui/utils/utils.d.ts +14 -8
  235. package/build/esm/ui/utils/utils.js +9 -14
  236. package/build/esm/ui/utils/utils.js.map +1 -1
  237. package/dist/public/build/assets-manifest.json +4 -4
  238. package/dist/public/build/js/main.8e777909.js +3 -0
  239. package/dist/public/build/js/{main.652b0208.js.map → main.8e777909.js.map} +1 -1
  240. package/dist/public/build/manifest.json +2 -2
  241. package/dist/shared/utils/index.js +3 -3
  242. package/package.json +3 -3
  243. package/dist/public/build/js/main.652b0208.js +0 -3
  244. /package/dist/public/build/js/{main.652b0208.js.LICENSE.txt → main.8e777909.js.LICENSE.txt} +0 -0
@@ -1 +1 @@
1
- {"version":3,"names":["cloneDeep_","forEach_","isEqual_","isEmpty_","map_","partition_","yt","SELECT_EMPTY_VALUE","wrapBatchPromise","YTApiId","ytApiV3Id","compressionExtras","labels","items","_toConsumableArray","map","value","content","subItemsMap","zlib_","genComperessionLevelItems","zstd_","brotli_","lzma_","bzip2_","from","to","res","i","push","String","compressionCodecValueFromString","k","startsWith","substr","length","compressionCodecValueToString","join","StorageOptions","REPLICATION","ERASURE","ERASURE_CODECS","title","storageOptionFromErasureCodec","codec","normalizeErasureCodec","erasureCodec","erasureCodecFromStorageOption","type","InMemoryMode","NONE","COMPRESSED","UNCOMPRESSED","makeUiMarker","ui_marker","prepareSetCommandForBatch","path","additionalParameters","undefined","command","parameters","_objectSpread","force","input","CypressNodeTypes","REPLICATED_TABLE","REPLICATION_LOG_TABLE","CHAOS_REPLICATED_TABLE","MAP_NODE","TABLE","createParentsBeforeSet","_x","_x2","_createParentsBeforeSet","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee2","nodePath","attributesToSet","parentPaths","toCreate","_iterator","_step","_loop","wrap","_callee2$","_context3","prev","next","abrupt","Promise","resolve","attr","parents","split","key","slice","Object","keys","sort","_createForOfIteratorHelper","_loop$","_context2","v3","exists","then","isCreated","set","stop","s","n","done","delegateYield","t1","e","f","finish","updateNodeAttributes","changes","requests","oneLevelDiffsParents","oneLevelDiffs","_ref","attrPath","_attrPath$splice","splice","_attrPath$splice2","_slicedToArray","last","parentPath","diff","all","concat","executeBatch","promises","_ref2","_callee","p","_callee$","_context","updateAttributes","_x3","_x4","oneLevelDiff","modifyGuarantee","data","isExists","get","makeBatchSubRequest","setup","prepareAttributes","attributes","_partition_","indexOf","_partition_2","paths"],"sources":["cypress-attributes.ts"],"sourcesContent":["import cloneDeep_ from 'lodash/cloneDeep';\nimport forEach_ from 'lodash/forEach';\nimport isEqual_ from 'lodash/isEqual';\nimport isEmpty_ from 'lodash/isEmpty';\nimport map_ from 'lodash/map';\nimport partition_ from 'lodash/partition';\n\n// @ts-ignore\nimport yt from '@ytsaurus/javascript-wrapper/lib/yt';\n\nimport {SELECT_EMPTY_VALUE} from '../constants/navigation/modals/create-table';\nimport {SelectWithSubItemsProps} from '../components/Dialog/controls/SelectWithSubItems/SelectWithSubItems';\nimport {wrapBatchPromise} from './utils';\nimport {YTApiId, ytApiV3Id} from '../rum/rum-wrap-api';\nimport {BatchSubRequest, GetParams} from '../../shared/yt-types';\nimport {ValueOf} from '../../@types/types';\n\nexport interface WithAttrs<T> {\n $attributes: T;\n}\n\nexport const compressionExtras: Pick<SelectWithSubItemsProps, 'labels' | 'items' | 'subItemsMap'> =\n {\n labels: ['codec:', 'level:'],\n items: [\n ...[\n 'none',\n 'snappy',\n 'zlib_',\n 'lz4',\n 'lz4_high_compression',\n 'quick_lz',\n 'zstd_',\n 'brotli_',\n 'lzma_',\n 'bzip2_',\n ].map((value) => ({value, content: value})),\n ],\n subItemsMap: {\n zlib_: genComperessionLevelItems(1, 9),\n zstd_: genComperessionLevelItems(1, 21),\n brotli_: genComperessionLevelItems(1, 11),\n lzma_: genComperessionLevelItems(0, 9),\n bzip2_: genComperessionLevelItems(1, 9),\n },\n };\n\nfunction genComperessionLevelItems(from: number, to: number) {\n const res = [];\n for (let i = from; i <= to; ++i) {\n res.push({value: String(i), content: String(i)});\n }\n return res;\n}\n\nexport function compressionCodecValueFromString(value: string) {\n if (!value) {\n return [SELECT_EMPTY_VALUE];\n }\n\n for (const k in compressionExtras.subItemsMap) {\n if (value.startsWith(k)) {\n return [k, value.substr(k.length)];\n }\n }\n return [value];\n}\n\nexport function compressionCodecValueToString(value: Array<string>) {\n if (isEqual_(value, [SELECT_EMPTY_VALUE])) {\n return '';\n }\n return value?.join('');\n}\n\ntype StorageOptionsType = 'replication' | 'erasure';\n\nexport const StorageOptions = {\n REPLICATION: 'replication' as StorageOptionsType,\n ERASURE: 'erasure' as StorageOptionsType,\n};\n\nexport const ERASURE_CODECS = [\n {value: 'lrc_12_2_2', title: 'lrc_12_2_2 (recommended)'},\n {value: 'reed_solomon_6_3', title: 'reed_solomon_6_3'},\n];\n\nexport function storageOptionFromErasureCodec(codec: string) {\n return !codec || codec === 'none' ? StorageOptions.REPLICATION : StorageOptions.ERASURE;\n}\n\nexport function normalizeErasureCodec(erasureCodec: string) {\n return !erasureCodec || erasureCodec === 'none' ? ERASURE_CODECS[0].value : erasureCodec;\n}\n\nexport function erasureCodecFromStorageOption(type?: StorageOptionsType, erasureCodec?: string) {\n if (type === StorageOptions.REPLICATION) {\n return 'none';\n }\n return erasureCodec || ERASURE_CODECS[0].value;\n}\n\nexport type InMemoryModeType = ValueOf<typeof InMemoryMode>;\n\nexport const InMemoryMode = {\n NONE: 'none',\n COMPRESSED: 'compressed',\n UNCOMPRESSED: 'uncompressed',\n} as const;\n\nexport function makeUiMarker(ui_marker: string) {\n return {ui_marker};\n}\n\nexport function prepareSetCommandForBatch(path: string, value: any, additionalParameters?: object) {\n if (value === undefined || value === null) {\n return {\n command: 'remove' as const,\n parameters: {\n path,\n ...additionalParameters,\n },\n };\n }\n\n return {\n command: 'set' as const,\n parameters: {\n path,\n ...additionalParameters,\n force: true,\n },\n input: value,\n };\n}\n\nexport const CypressNodeTypes = {\n REPLICATED_TABLE: 'replicated_table',\n REPLICATION_LOG_TABLE: 'replication_log_table',\n CHAOS_REPLICATED_TABLE: 'chaos_replicated_table',\n MAP_NODE: 'map_node',\n TABLE: 'table',\n // TODO: add more types\n};\n\nexport async function createParentsBeforeSet(nodePath: string, attributesToSet: Array<string>) {\n if (!attributesToSet.length) {\n return Promise.resolve();\n }\n\n const parentPaths: Record<string, boolean> = {};\n forEach_(attributesToSet, (attr) => {\n const parents = attr.split('/');\n for (let i = 1; i < parents.length; ++i) {\n const key = parents.slice(0, i).join('/');\n if (key) {\n parentPaths[key] = true;\n }\n }\n });\n const toCreate = Object.keys(parentPaths).sort();\n\n for (const attr of toCreate) {\n const path = nodePath + '/@' + attr;\n await yt.v3.exists({path}).then((isCreated: boolean) => {\n if (!isCreated) {\n return yt.v3.set({path}, {});\n }\n });\n }\n}\n\nexport function updateNodeAttributes(\n nodePath: string,\n changes: Array<{attr: string; value: any}>,\n): Promise<unknown> {\n if (isEmpty_(changes)) {\n return Promise.resolve();\n }\n\n const requests: Array<BatchSubRequest> = [];\n\n const oneLevelDiffsParents: Array<string> = [];\n const oneLevelDiffs: Record<string, Record<string, unknown>> = {};\n forEach_(changes, ({attr, value}) => {\n const attrPath = attr.split('/');\n if (attrPath.length === 1) {\n const path = nodePath + '/@' + attrPath.join('/');\n requests.push(prepareSetCommandForBatch(path, value));\n } else {\n const [last] = attrPath.splice(attrPath.length - 1, 1);\n const parentPath = attrPath.join('/');\n oneLevelDiffsParents.push(parentPath);\n const path = nodePath + '/@' + parentPath;\n const diff = (oneLevelDiffs[path] = oneLevelDiffs[path] || {});\n diff[last] = value;\n }\n });\n\n return Promise.all([\n ...(requests.length\n ? [wrapBatchPromise(ytApiV3Id.executeBatch(YTApiId.updateNodeAttributes, {requests}))]\n : []),\n createParentsBeforeSet(nodePath, oneLevelDiffsParents).then(() => {\n if (isEmpty_(oneLevelDiffs)) {\n return Promise.resolve([]);\n }\n\n const promises: Array<Promise<unknown>> = map_(oneLevelDiffs, async (diff, path) => {\n const p = updateAttributes(path, diff);\n await p;\n return p;\n });\n\n return Promise.all(promises);\n }),\n ]);\n}\n\nfunction updateAttributes(path: string, oneLevelDiff: Record<'string', unknown>) {\n if (isEmpty_(oneLevelDiff)) {\n return Promise.resolve();\n }\n\n const modifyGuarantee = (data: any = {}) => {\n const res = cloneDeep_(data);\n forEach_(oneLevelDiff, (value, key) => {\n if (value === undefined) {\n delete res[key];\n } else {\n res[key] = value;\n }\n });\n if (isEqual_(data, res)) {\n return Promise.resolve();\n }\n return yt.v3.set({path}, res);\n };\n\n return yt.v3.exists({path}).then((isExists: boolean) => {\n if (isExists) {\n return ytApiV3Id.get(YTApiId.updateAttributes, {path}).then(modifyGuarantee);\n }\n return modifyGuarantee({});\n });\n}\n\nexport function makeBatchSubRequest<T extends BatchSubRequest>(\n command: T['command'],\n parameters: T['parameters'],\n setup?: T['setup'],\n) {\n return {\n command,\n parameters,\n setup,\n } as BatchSubRequest;\n}\n\nexport function prepareAttributes(attributes: readonly string[]): GetParams['attributes'] {\n const [keys, paths] = partition_(attributes, (k) => -1 === k.indexOf('/'));\n\n if (!paths.length) {\n return keys;\n }\n\n return {keys, paths};\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["cloneDeep_","forEach_","isEqual_","isEmpty_","map_","partition_","yt","SELECT_EMPTY_VALUE","wrapBatchPromise","YTApiId","ytApiV3Id","compressionExtras","labels","items","_toConsumableArray","map","value","content","subItemsMap","zlib_","genComperessionLevelItems","zstd_","brotli_","lzma_","bzip2_","from","to","res","i","push","String","compressionCodecValueFromString","k","startsWith","substr","length","compressionCodecValueToString","join","StorageOptions","REPLICATION","ERASURE","ERASURE_CODECS","title","storageOptionFromErasureCodec","codec","normalizeErasureCodec","erasureCodec","erasureCodecFromStorageOption","type","InMemoryMode","NONE","COMPRESSED","UNCOMPRESSED","makeUiMarker","ui_marker","prepareSetCommandForBatch","path","additionalParameters","undefined","command","parameters","_objectSpread","force","input","CypressNodeTypes","REPLICATED_TABLE","REPLICATION_LOG_TABLE","CHAOS_REPLICATED_TABLE","MAP_NODE","TABLE","createParentsBeforeSet","_x","_x2","_createParentsBeforeSet","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee2","nodePath","attributesToSet","parentPaths","toCreate","_iterator","_step","_loop","wrap","_callee2$","_context3","prev","next","abrupt","Promise","resolve","attr","parents","split","key","slice","Object","keys","sort","_createForOfIteratorHelper","_loop$","_context2","v3","exists","then","isCreated","set","stop","s","n","done","delegateYield","t1","e","f","finish","updateNodeAttributes","changes","requests","oneLevelDiffsParents","oneLevelDiffs","_ref","attrPath","_attrPath$splice","splice","_attrPath$splice2","_slicedToArray","last","parentPath","diff","all","concat","executeBatch","promises","_ref2","_callee","p","_callee$","_context","updateAttributes","_x3","_x4","oneLevelDiff","modifyGuarantee","data","isExists","get","makeBatchSubRequest","setup","prepareAttributes","attributes","_partition_","indexOf","_partition_2","paths"],"sources":["cypress-attributes.ts"],"sourcesContent":["import cloneDeep_ from 'lodash/cloneDeep';\nimport forEach_ from 'lodash/forEach';\nimport isEqual_ from 'lodash/isEqual';\nimport isEmpty_ from 'lodash/isEmpty';\nimport map_ from 'lodash/map';\nimport partition_ from 'lodash/partition';\n\n// @ts-ignore\nimport yt from '@ytsaurus/javascript-wrapper/lib/yt';\n\nimport {SELECT_EMPTY_VALUE} from '../constants/navigation/modals/create-table';\nimport {SelectWithSubItemsProps} from '../components/Dialog/controls/SelectWithSubItems/SelectWithSubItems';\nimport {wrapBatchPromise} from './utils';\nimport {YTApiId, ytApiV3Id} from '../rum/rum-wrap-api';\nimport {BatchSubRequest, GetParams} from '../../shared/yt-types';\nimport {ValueOf} from '../../@types/types';\n\nexport interface WithAttrs<T> {\n $attributes: T;\n}\n\nexport const compressionExtras: Pick<SelectWithSubItemsProps, 'labels' | 'items' | 'subItemsMap'> =\n {\n labels: ['codec:', 'level:'],\n items: [\n ...[\n 'none',\n 'snappy',\n 'zlib_',\n 'lz4',\n 'lz4_high_compression',\n 'quick_lz',\n 'zstd_',\n 'brotli_',\n 'lzma_',\n 'bzip2_',\n ].map((value) => ({value, content: value})),\n ],\n subItemsMap: {\n zlib_: genComperessionLevelItems(1, 9),\n zstd_: genComperessionLevelItems(1, 21),\n brotli_: genComperessionLevelItems(1, 11),\n lzma_: genComperessionLevelItems(0, 9),\n bzip2_: genComperessionLevelItems(1, 9),\n },\n };\n\nfunction genComperessionLevelItems(from: number, to: number) {\n const res = [];\n for (let i = from; i <= to; ++i) {\n res.push({value: String(i), content: String(i)});\n }\n return res;\n}\n\nexport function compressionCodecValueFromString(value: string) {\n if (!value) {\n return [SELECT_EMPTY_VALUE];\n }\n\n for (const k in compressionExtras.subItemsMap) {\n if (value.startsWith(k)) {\n return [k, value.substr(k.length)];\n }\n }\n return [value];\n}\n\nexport function compressionCodecValueToString(value: Array<string>) {\n if (isEqual_(value, [SELECT_EMPTY_VALUE])) {\n return '';\n }\n return value?.join('');\n}\n\ntype StorageOptionsType = 'replication' | 'erasure';\n\nexport const StorageOptions = {\n REPLICATION: 'replication' as StorageOptionsType,\n ERASURE: 'erasure' as StorageOptionsType,\n};\n\nexport const ERASURE_CODECS = [\n {value: 'lrc_12_2_2', title: 'lrc_12_2_2 (recommended)'},\n {value: 'reed_solomon_6_3', title: 'reed_solomon_6_3'},\n];\n\nexport function storageOptionFromErasureCodec(codec: string) {\n return !codec || codec === 'none' ? StorageOptions.REPLICATION : StorageOptions.ERASURE;\n}\n\nexport function normalizeErasureCodec(erasureCodec: string) {\n return !erasureCodec || erasureCodec === 'none' ? ERASURE_CODECS[0].value : erasureCodec;\n}\n\nexport function erasureCodecFromStorageOption(type?: StorageOptionsType, erasureCodec?: string) {\n if (type === StorageOptions.REPLICATION) {\n return 'none';\n }\n return erasureCodec || ERASURE_CODECS[0].value;\n}\n\nexport type InMemoryModeType = ValueOf<typeof InMemoryMode>;\n\nexport const InMemoryMode = {\n NONE: 'none',\n COMPRESSED: 'compressed',\n UNCOMPRESSED: 'uncompressed',\n} as const;\n\nexport function makeUiMarker(ui_marker: string) {\n return {ui_marker};\n}\n\nexport function prepareSetCommandForBatch(path: string, value: any, additionalParameters?: object) {\n if (value === undefined || value === null) {\n return {\n command: 'remove' as const,\n parameters: {\n path,\n ...additionalParameters,\n },\n };\n }\n\n return {\n command: 'set' as const,\n parameters: {\n path,\n ...additionalParameters,\n force: true,\n },\n input: value,\n };\n}\n\nexport const CypressNodeTypes = {\n REPLICATED_TABLE: 'replicated_table',\n REPLICATION_LOG_TABLE: 'replication_log_table',\n CHAOS_REPLICATED_TABLE: 'chaos_replicated_table',\n MAP_NODE: 'map_node',\n TABLE: 'table',\n // TODO: add more types\n};\n\nexport async function createParentsBeforeSet(nodePath: string, attributesToSet: Array<string>) {\n if (!attributesToSet.length) {\n return Promise.resolve();\n }\n\n const parentPaths: Record<string, boolean> = {};\n forEach_(attributesToSet, (attr) => {\n const parents = attr.split('/');\n for (let i = 1; i < parents.length; ++i) {\n const key = parents.slice(0, i).join('/');\n if (key) {\n parentPaths[key] = true;\n }\n }\n });\n const toCreate = Object.keys(parentPaths).sort();\n\n for (const attr of toCreate) {\n const path = nodePath + '/@' + attr;\n await yt.v3.exists({path}).then((isCreated: boolean) => {\n if (!isCreated) {\n return yt.v3.set({path}, {});\n }\n });\n }\n}\n\nexport function updateNodeAttributes(\n nodePath: string,\n changes: Array<{attr: string; value: any}>,\n): Promise<unknown> {\n if (isEmpty_(changes)) {\n return Promise.resolve();\n }\n\n const requests: Array<BatchSubRequest> = [];\n\n const oneLevelDiffsParents: Array<string> = [];\n const oneLevelDiffs: Record<string, Record<string, unknown>> = {};\n forEach_(changes, ({attr, value}) => {\n const attrPath = attr.split('/');\n if (attrPath.length === 1) {\n const path = nodePath + '/@' + attrPath.join('/');\n requests.push(prepareSetCommandForBatch(path, value));\n } else {\n const [last] = attrPath.splice(attrPath.length - 1, 1);\n const parentPath = attrPath.join('/');\n oneLevelDiffsParents.push(parentPath);\n const path = nodePath + '/@' + parentPath;\n const diff = (oneLevelDiffs[path] = oneLevelDiffs[path] || {});\n diff[last] = value;\n }\n });\n\n return Promise.all([\n ...(requests.length\n ? [\n wrapBatchPromise(\n ytApiV3Id.executeBatch(YTApiId.updateNodeAttributes, {requests}),\n 'Failed to update node attributes',\n ),\n ]\n : []),\n createParentsBeforeSet(nodePath, oneLevelDiffsParents).then(() => {\n if (isEmpty_(oneLevelDiffs)) {\n return Promise.resolve([]);\n }\n\n const promises: Array<Promise<unknown>> = map_(oneLevelDiffs, async (diff, path) => {\n const p = updateAttributes(path, diff);\n await p;\n return p;\n });\n\n return Promise.all(promises);\n }),\n ]);\n}\n\nfunction updateAttributes(path: string, oneLevelDiff: Record<'string', unknown>) {\n if (isEmpty_(oneLevelDiff)) {\n return Promise.resolve();\n }\n\n const modifyGuarantee = (data: any = {}) => {\n const res = cloneDeep_(data);\n forEach_(oneLevelDiff, (value, key) => {\n if (value === undefined) {\n delete res[key];\n } else {\n res[key] = value;\n }\n });\n if (isEqual_(data, res)) {\n return Promise.resolve();\n }\n return yt.v3.set({path}, res);\n };\n\n return yt.v3.exists({path}).then((isExists: boolean) => {\n if (isExists) {\n return ytApiV3Id.get(YTApiId.updateAttributes, {path}).then(modifyGuarantee);\n }\n return modifyGuarantee({});\n });\n}\n\nexport function makeBatchSubRequest<T extends BatchSubRequest>(\n command: T['command'],\n parameters: T['parameters'],\n setup?: T['setup'],\n) {\n return {\n command,\n parameters,\n setup,\n } as BatchSubRequest;\n}\n\nexport function prepareAttributes(attributes: readonly string[]): GetParams['attributes'] {\n const [keys, paths] = partition_(attributes, (k) => -1 === k.indexOf('/'));\n\n if (!paths.length) {\n return keys;\n }\n\n return {keys, paths};\n}\n"],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import { YTError } from '../../types';
2
+ export declare class UIBatchError implements YTError {
3
+ message: string;
4
+ code?: number;
5
+ attributes?: any;
6
+ inner_errors?: YTError[];
7
+ /**
8
+ * !!! Do not remove the field!!!
9
+ * The field is required to indicate the difference between the UIBatchError and YTerror interfaces
10
+ * in order to force the use of UIBatchError instead of YTError due to a compiler error.
11
+ */
12
+ __use_UIBatchError_instead_of_YTERROR?: boolean;
13
+ constructor(msg: string);
14
+ }
@@ -0,0 +1,17 @@
1
+ import _createClass from "@babel/runtime/helpers/createClass";
2
+ import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
3
+ export var UIBatchError = /*#__PURE__*/_createClass(function UIBatchError(msg) {
4
+ _classCallCheck(this, UIBatchError);
5
+ this.message = void 0;
6
+ this.code = void 0;
7
+ this.attributes = void 0;
8
+ this.inner_errors = void 0;
9
+ /**
10
+ * !!! Do not remove the field!!!
11
+ * The field is required to indicate the difference between the UIBatchError and YTerror interfaces
12
+ * in order to force the use of UIBatchError instead of YTError due to a compiler error.
13
+ */
14
+ this.__use_UIBatchError_instead_of_YTERROR = void 0;
15
+ this.message = msg;
16
+ });
17
+ // #sourceMappingURL=ui-error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["UIBatchError","_createClass","msg","_classCallCheck","message","code","attributes","inner_errors","__use_UIBatchError_instead_of_YTERROR"],"sources":["ui-error.ts"],"sourcesContent":["import {YTError} from '../../types';\n\nexport class UIBatchError implements YTError {\n message: string;\n\n code?: number;\n attributes?: any;\n inner_errors?: YTError[];\n\n /**\n * !!! Do not remove the field!!!\n * The field is required to indicate the difference between the UIBatchError and YTerror interfaces\n * in order to force the use of UIBatchError instead of YTError due to a compiler error.\n */\n __use_UIBatchError_instead_of_YTERROR?: boolean;\n\n constructor(msg: string) {\n this.message = msg;\n }\n}\n"],"mappings":";;AAEA,WAAaA,YAAY,gBAAAC,YAAA,CAcrB,SAAAD,aAAYE,GAAW,EAAE;EAAAC,eAAA,OAAAH,YAAA;EAAA,KAbzBI,OAAO;EAAA,KAEPC,IAAI;EAAA,KACJC,UAAU;EAAA,KACVC,YAAY;EAEZ;AACJ;AACA;AACA;AACA;EAJI,KAKAC,qCAAqC;EAGjC,IAAI,CAACJ,OAAO,GAAGF,GAAG;AACtB,CAAC"}
@@ -1,11 +1,12 @@
1
1
  import React from 'react';
2
+ import { AxiosError } from 'axios';
2
3
  import { TypedKeys, YTError } from '../types';
3
4
  import { ProgressProps } from '@gravity-ui/uikit';
4
5
  import { ThemeThreshold } from '../utils/progress';
5
6
  import { ErrorInfo } from '../store/reducers/modals/errors';
6
7
  import { BatchResultsItem } from '../../shared/yt-types';
7
- import { AxiosError } from 'axios';
8
- export declare function getBatchError<T = unknown>(batchResults: Array<BatchResultsItem<T>>, message?: string): YTError | undefined;
8
+ import { UIBatchError } from './errors/ui-error';
9
+ export declare function getBatchError<T = unknown>(batchResults: Array<BatchResultsItem<T>>, message: string): YTError | undefined;
9
10
  export declare function extractBatchV4Values<V, T extends {
10
11
  value?: V;
11
12
  }>(data: {
@@ -25,22 +26,27 @@ export interface SplitedBatchResults<T> {
25
26
  errorIndices: Array<number>;
26
27
  resultIndices: Array<number>;
27
28
  }
28
- export declare function splitBatchResults<T = unknown>(batchResults: Array<BatchResultsItem<T>>, dstError?: YTError): SplitedBatchResults<T>;
29
+ export declare function splitBatchResults<T = unknown>(batchResults: Array<BatchResultsItem<T>>, inputError: string | UIBatchError): SplitedBatchResults<T>;
29
30
  export declare function getBatchErrorIndices<T>(results: Array<BatchResultsItem<T>>): number[];
30
- interface WrapApiOptions<T> {
31
+ interface CommonWrapApiOptions<T> {
31
32
  toasterName: string;
32
33
  successContent?: React.ReactNode | ((res: T) => React.ReactNode);
33
34
  skipSuccessToast?: boolean;
34
35
  errorContent?: React.ReactNode | ((e: YTError) => React.ReactNode);
35
36
  skipErrorToast?: boolean;
36
37
  successTitle?: string;
37
- errorTitle?: string;
38
38
  timeout?: number;
39
39
  autoHide?: boolean;
40
- isBatch?: boolean;
41
- batchError?: string;
42
40
  }
43
- export declare function wrapBatchPromise<T>(p: Promise<T>): Promise<T>;
41
+ type BatchWrapApiOption = {
42
+ isBatch?: false;
43
+ errorTitle?: string;
44
+ } | {
45
+ isBatch: true;
46
+ errorTitle: string;
47
+ };
48
+ type WrapApiOptions<T> = CommonWrapApiOptions<T> & BatchWrapApiOption;
49
+ export declare function wrapBatchPromise<T>(p: Promise<T>, errorTitle: string): Promise<T>;
44
50
  export declare function wrapApiPromiseByToaster<T>(p: Promise<T>, options: WrapApiOptions<T>): Promise<T>;
45
51
  export declare function calcProgressProps(usage?: number, limit?: number, format?: 'Number' | 'Bytes', themeThresholds?: ThemeThreshold[]): ProgressProps;
46
52
  export declare function formatNumber(value?: number, format?: 'Number' | 'Bytes'): string;
@@ -9,20 +9,17 @@ var _excluded = ["results"],
9
9
  _excluded2 = ["output"];
10
10
  import _regeneratorRuntime from "@babel/runtime/regenerator";
11
11
  import React from 'react';
12
+ import axios from 'axios';
12
13
  import { Link, Toaster } from '@gravity-ui/uikit';
13
14
  import { computeProgress, defaultThemeThresholds, getProgressTheme } from '../utils/progress';
14
15
  import hammer from '../common/hammer';
15
16
  import { LOADING_STATUS } from '../constants';
16
17
  import { showErrorModal } from '../store/actions/modals/errors';
17
- import axios from 'axios';
18
+ import { UIBatchError } from './errors/ui-error';
18
19
  import { jsxs as _jsxs } from "react/jsx-runtime";
19
20
  import { jsx as _jsx } from "react/jsx-runtime";
20
- var BATCH_ERROR_MESSAGE = 'The following sub-requests are failed:';
21
- export function getBatchError(batchResults) {
22
- var message = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : BATCH_ERROR_MESSAGE;
23
- return splitBatchResults(batchResults, {
24
- message: message
25
- }).error;
21
+ export function getBatchError(batchResults, message) {
22
+ return splitBatchResults(batchResults, new UIBatchError(message)).error;
26
23
  }
27
24
  var COMMANDS_V4_WITH_VALUE = {
28
25
  get: true,
@@ -50,10 +47,8 @@ export function extractBatchV4Values(data, requests) {
50
47
  results: res
51
48
  });
52
49
  }
53
- export function splitBatchResults(batchResults) {
54
- var dstError = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {
55
- message: BATCH_ERROR_MESSAGE
56
- };
50
+ export function splitBatchResults(batchResults, inputError) {
51
+ var dstError = typeof inputError === 'string' ? new UIBatchError(inputError) : inputError;
57
52
  var innerErrors = [];
58
53
  var results = [];
59
54
  var outputs = [];
@@ -95,9 +90,9 @@ export function getBatchErrorIndices(results) {
95
90
  }, []);
96
91
  }
97
92
  var toaster = new Toaster();
98
- export function wrapBatchPromise(p) {
93
+ export function wrapBatchPromise(p, errorTitle) {
99
94
  return p.then(function (res) {
100
- var error = getBatchError(res, 'Batch-request is failed');
95
+ var error = getBatchError(res, errorTitle);
101
96
  if (error) {
102
97
  throw error;
103
98
  }
@@ -109,7 +104,7 @@ export function wrapApiPromiseByToaster(p, options) {
109
104
  successContent = options.successContent;
110
105
  return p.then(function (res) {
111
106
  if (options.isBatch) {
112
- var error = getBatchError(res, options.batchError || 'Batch-request is failed');
107
+ var error = getBatchError(res, options.errorTitle || 'Missing batch error title');
113
108
  if (error) {
114
109
  throw error;
115
110
  }
@@ -1 +1 @@
1
- {"version":3,"names":["React","Link","Toaster","computeProgress","defaultThemeThresholds","getProgressTheme","hammer","LOADING_STATUS","showErrorModal","axios","jsxs","_jsxs","jsx","_jsx","BATCH_ERROR_MESSAGE","getBatchError","batchResults","message","arguments","length","undefined","splitBatchResults","error","COMMANDS_V4_WITH_VALUE","get","list","exists","extractBatchV4Values","data","requests","results","rest","_objectWithoutProperties","_excluded","res","_map","itemData","index","_requests$index","hasValue","command","output","itemRest","_excluded2","_objectSpread","value","dstError","innerErrors","outputs","errorIndices","resultIndices","_forEach","push","_dstError$inner_error","_dstError$inner_error2","inner_errors","apply","getBatchErrorIndices","_reduce","acc","_ref","toaster","wrapBatchPromise","p","then","wrapApiPromiseByToaster","options","errorContent","successContent","isBatch","batchError","skipSuccessToast","_options$timeout","add","name","toasterName","type","title","successTitle","content","autoHiding","autoHide","timeout","_error$response","isCancel","Promise","reject","response","code","skipErrorToast","errorTitle","children","actions","label","onClick","showErrorPopup","calcProgressProps","usage","limit","format","themeThresholds","theme","text","concat","formatNumber","showToasterError","_error$response2","unescapeSlashX","path","decoded","i","len","currentChar","charAt","nextChar","hexEscapeSequence","String","fromCharCode","parseInt","calculateLoadingStatus","loading","loaded","LOADING","ERROR","LOADED","UNINITIALIZED","isFinalLoadingStatus","status","delayed","callBack","rej","setTimeout","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_callee$","_context","prev","next","t0","t1","sent","t2","stop","makeLink","url","href","target","window","store","dispatch","toggleBooleanInPlace","key","obj","tmp","moveArrayElement","arr","oldIndex","newIndex","_arr$splice","splice","_arr$splice2","_slicedToArray","item","nanToUndefined","isNaN","visitTreeItems","treeItem","visitorFn","opts","handledSet","Set","visitTreeItemsImpl","isNeedToSkipChildren","has","child","openInNewTab","Object","assign","document","createElement","click","previousProps","showChangedProps","props","verbose","prevProps","console","log","Date","now","keys","changed","v","k","updateIfChanged","isEqual"],"sources":["utils.tsx"],"sourcesContent":["import React from 'react';\nimport _ from 'lodash';\n\nimport {TypedKeys, YTError} from '../types';\nimport {Link, ProgressProps, Toaster} from '@gravity-ui/uikit';\nimport {\n ThemeThreshold,\n computeProgress,\n defaultThemeThresholds,\n getProgressTheme,\n} from '../utils/progress';\nimport hammer from '../common/hammer';\nimport {LOADING_STATUS} from '../constants';\nimport {ErrorInfo} from '../store/reducers/modals/errors';\nimport {showErrorModal} from '../store/actions/modals/errors';\nimport {BatchResultsItem} from '../../shared/yt-types';\nimport axios, {AxiosError} from 'axios';\n\nconst BATCH_ERROR_MESSAGE = 'The following sub-requests are failed:';\n\nexport function getBatchError<T = unknown>(\n batchResults: Array<BatchResultsItem<T>>,\n message: string = BATCH_ERROR_MESSAGE,\n): YTError | undefined {\n return splitBatchResults(batchResults, {message}).error;\n}\n\nconst COMMANDS_V4_WITH_VALUE: Record<string, boolean> = {\n get: true,\n list: true,\n exists: true,\n};\n\nexport function extractBatchV4Values<V, T extends {value?: V}>(\n data: {\n results?: Array<BatchResultsItem<T | V>>;\n },\n requests: Array<{command: string}>,\n) {\n const {results, ...rest} = data;\n const res = !results\n ? []\n : _.map(results, (itemData, index) => {\n const hasValue = COMMANDS_V4_WITH_VALUE[requests[index]?.command];\n if (!hasValue) {\n return itemData;\n }\n\n const {output, ...itemRest} = itemData;\n return {\n ...itemRest,\n ...(hasValue ? {output: (output as any).value} : {output}),\n };\n });\n\n return {...rest, results: res};\n}\n\nexport interface SplitedBatchResults<T> {\n error: YTError | undefined;\n results: Array<T>;\n outputs: Array<T | undefined>;\n errorIndices: Array<number>;\n resultIndices: Array<number>;\n}\n\nexport function splitBatchResults<T = unknown>(\n batchResults: Array<BatchResultsItem<T>>,\n dstError: YTError = {message: BATCH_ERROR_MESSAGE},\n): SplitedBatchResults<T> {\n const innerErrors: Array<YTError> = [];\n const results: Array<T> = [];\n const outputs: Array<T | undefined> = [];\n const errorIndices: Array<number> = [];\n const resultIndices: Array<number> = [];\n _.forEach(batchResults, (res, index) => {\n const {error, output} = res;\n outputs.push(output);\n if (error) {\n innerErrors.push(error);\n errorIndices.push(index);\n } else {\n results.push(output!);\n resultIndices.push(index);\n }\n });\n\n if (innerErrors.length) {\n dstError.inner_errors = dstError.inner_errors ?? [];\n dstError.inner_errors.push(...innerErrors);\n }\n\n const error = !innerErrors.length ? undefined : dstError;\n return {error, results, outputs, errorIndices, resultIndices};\n}\n\nexport function getBatchErrorIndices<T>(results: Array<BatchResultsItem<T>>) {\n return _.reduce(\n results,\n (acc, {error}, index) => {\n if (error) {\n acc.push(index);\n }\n return acc;\n },\n [] as Array<number>,\n );\n}\n\ninterface WrapApiOptions<T> {\n toasterName: string;\n successContent?: React.ReactNode | ((res: T) => React.ReactNode);\n skipSuccessToast?: boolean;\n errorContent?: React.ReactNode | ((e: YTError) => React.ReactNode);\n skipErrorToast?: boolean;\n successTitle?: string;\n errorTitle?: string;\n timeout?: number;\n autoHide?: boolean;\n\n isBatch?: boolean;\n batchError?: string;\n}\n\nconst toaster = new Toaster();\n\nexport function wrapBatchPromise<T>(p: Promise<T>): Promise<T> {\n return p.then((res) => {\n const error = getBatchError(res as any, 'Batch-request is failed');\n if (error) {\n throw error;\n }\n\n return res;\n });\n}\n\nexport function wrapApiPromiseByToaster<T>(p: Promise<T>, options: WrapApiOptions<T>): Promise<T> {\n const {errorContent, successContent} = options;\n return p\n .then((res) => {\n if (options.isBatch) {\n const error = getBatchError(\n res as any,\n options.batchError || 'Batch-request is failed',\n );\n if (error) {\n throw error;\n }\n }\n\n if (!options.skipSuccessToast) {\n toaster.add({\n name: options.toasterName,\n type: 'success',\n title: options.successTitle || 'Success',\n content:\n 'function' === typeof successContent ? successContent(res) : successContent,\n autoHiding: options.autoHide === false ? false : options.timeout ?? 10000,\n });\n }\n return res;\n })\n .catch((error) => {\n if (axios.isCancel(error)) {\n return Promise.reject(error);\n }\n\n const data = error?.response?.data || error;\n const {code, message} = data;\n\n if (!options.skipErrorToast) {\n toaster.add({\n name: options.toasterName,\n type: 'error',\n title: options.errorTitle || 'Failure',\n content:\n 'function' === typeof errorContent\n ? errorContent(error)\n : errorContent || (\n <span>\n [code {code}] {message}\n </span>\n ),\n actions: [{label: ' Details', onClick: () => showErrorPopup(data)}],\n autoHiding: false,\n });\n }\n return Promise.reject(error);\n });\n}\n\nexport function calcProgressProps(\n usage?: number,\n limit?: number,\n format: 'Number' | 'Bytes' = 'Number',\n themeThresholds: ThemeThreshold[] = defaultThemeThresholds,\n): ProgressProps {\n const value = computeProgress(usage, limit);\n return {\n value,\n theme: getProgressTheme(value, themeThresholds),\n text: `${formatNumber(usage, format)} / ${formatNumber(limit, format)}`,\n };\n}\n\nexport function formatNumber(value?: number, format?: 'Number' | 'Bytes'): string {\n return format === 'Bytes' ? hammer.format['Bytes'](value) : hammer.format['Number'](value);\n}\n\nexport function showToasterError(name: string, error: any) {\n const data = error?.response?.data || error;\n const {code, message} = data;\n\n toaster.add({\n name,\n type: 'error',\n title: `${name} failure`,\n content: (\n <span>\n [code {code}] {message}\n </span>\n ),\n actions: [{label: ' view', onClick: () => showErrorPopup(data)}],\n });\n return Promise.reject(error);\n}\n\nexport function unescapeSlashX(path: string) {\n let decoded = '';\n\n for (let i = 0, len = path.length; i < len; i++) {\n const currentChar = path.charAt(i);\n\n if (currentChar === '\\\\') {\n const nextChar = path.charAt((i += 1));\n\n if (nextChar === 'x') {\n // TODO check that next two characters are hexademical and end of string is not reached\n const hexEscapeSequence = path.charAt((i += 1)) + path.charAt((i += 1));\n\n decoded += String.fromCharCode(parseInt(hexEscapeSequence, 16));\n } else {\n decoded += nextChar;\n }\n } else {\n decoded += currentChar;\n }\n }\n\n return decoded;\n}\n\nexport function calculateLoadingStatus(loading: boolean, loaded: boolean, error: any) {\n if (loading) {\n return LOADING_STATUS.LOADING;\n }\n\n if (error) {\n return LOADING_STATUS.ERROR;\n }\n\n if (loaded) {\n return LOADING_STATUS.LOADED;\n }\n\n return LOADING_STATUS.UNINITIALIZED;\n}\n\nexport function isFinalLoadingStatus(status: string) {\n return status === LOADING_STATUS.LOADED || status === LOADING_STATUS.ERROR;\n}\n\nexport function delayed<T>(callBack: () => Promise<T>, timeout: number): Promise<T> {\n return new Promise((res, rej) => {\n setTimeout(async () => {\n try {\n res(await callBack());\n } catch (e) {\n rej(e);\n }\n }, timeout);\n });\n}\n\nexport function makeLink(url: string, text: string) {\n return !url ? undefined : (\n <Link href={url} target={'_blank'}>\n {text}\n </Link>\n );\n}\n\nexport function showErrorPopup(\n error: YTError | AxiosError,\n options: Omit<ErrorInfo, 'error'> = {},\n) {\n (window as any).store.dispatch(showErrorModal(error, options));\n}\n\nexport function toggleBooleanInPlace<T, K extends TypedKeys<T, boolean>>(key: K, obj: T) {\n const tmp: any = obj;\n if (tmp[key]) {\n delete tmp[key];\n } else {\n tmp[key] = true;\n }\n return obj;\n}\n\nexport function moveArrayElement<T>(arr: Array<T>, oldIndex: number, newIndex: number): [] | [T] {\n if (oldIndex < 0 || oldIndex >= arr.length || newIndex < 0 || newIndex >= arr.length) {\n return [];\n }\n\n const [item] = arr.splice(oldIndex, 1);\n arr.splice(newIndex, 0, item);\n\n return [item];\n}\n\nexport function nanToUndefined(value: any) {\n return isNaN(value) ? undefined : value;\n}\n\ntype Tree<T> = T & {\n children?: Array<Tree<T>>;\n};\n\ninterface VisitTreeItemsOptions<T> {\n handledSet: Set<unknown>;\n isNeedToSkipChildren?: (item: T) => boolean;\n}\n\nexport function visitTreeItems<T>(\n treeItem: Tree<T> | undefined,\n visitorFn: (item: T) => void,\n options?: Partial<VisitTreeItemsOptions<T>>,\n) {\n const opts = {\n ...options,\n handledSet: options?.handledSet || new Set(),\n };\n\n return visitTreeItemsImpl(treeItem, visitorFn, opts);\n}\n\nfunction visitTreeItemsImpl<T>(\n treeItem: Tree<T> | undefined,\n visitorFn: (item: T) => void,\n options: VisitTreeItemsOptions<T>,\n) {\n const {handledSet, isNeedToSkipChildren} = options;\n\n if (!treeItem || handledSet.has(treeItem)) {\n return;\n }\n\n handledSet.add(treeItem);\n visitorFn(treeItem);\n\n if (isNeedToSkipChildren && isNeedToSkipChildren(treeItem)) {\n return;\n }\n\n _.forEach(treeItem.children, (child) => visitTreeItemsImpl(child, visitorFn, options));\n}\n\nexport function openInNewTab(href: string) {\n // Safari specific hack to open new tab (not window)\n Object.assign(document.createElement('a'), {\n target: '_blank',\n href,\n }).click();\n}\n\nconst previousProps: Record<string, any> = {};\n\nexport function showChangedProps(key: string, props: object, verbose?: boolean) {\n const prevProps = previousProps[key];\n if (prevProps === undefined) {\n console.log(key, Date.now(), Object.keys(props));\n } else {\n const changed: Array<string> = [];\n _.forEach(props, (v, k) => {\n if (v !== prevProps[k]) {\n changed.push(k);\n if (verbose) {\n console.log(key, k, {prev: prevProps[k], v});\n }\n }\n });\n console.log(key, Date.now(), changed);\n }\n previousProps[key] = props;\n}\n\nexport function updateIfChanged<T, K extends keyof T>(\n obj: T,\n key: K,\n value: T[K],\n isEqual?: (l: T[K], r: T[K]) => boolean,\n) {\n if (isEqual ? !isEqual(obj[key], value) : obj[key] !== value) {\n obj[key] = value;\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","axios","Link","Toaster","computeProgress","defaultThemeThresholds","getProgressTheme","hammer","LOADING_STATUS","showErrorModal","UIBatchError","jsxs","_jsxs","jsx","_jsx","getBatchError","batchResults","message","splitBatchResults","error","COMMANDS_V4_WITH_VALUE","get","list","exists","extractBatchV4Values","data","requests","results","rest","_objectWithoutProperties","_excluded","res","_map","itemData","index","_requests$index","hasValue","command","output","itemRest","_excluded2","_objectSpread","value","inputError","dstError","innerErrors","outputs","errorIndices","resultIndices","_forEach","push","length","_dstError$inner_error","_dstError$inner_error2","inner_errors","apply","undefined","getBatchErrorIndices","_reduce","acc","_ref","toaster","wrapBatchPromise","p","errorTitle","then","wrapApiPromiseByToaster","options","errorContent","successContent","isBatch","skipSuccessToast","_options$timeout","add","name","toasterName","type","title","successTitle","content","autoHiding","autoHide","timeout","_error$response","isCancel","Promise","reject","response","code","skipErrorToast","children","actions","label","onClick","showErrorPopup","calcProgressProps","usage","limit","format","arguments","themeThresholds","theme","text","concat","formatNumber","showToasterError","_error$response2","unescapeSlashX","path","decoded","i","len","currentChar","charAt","nextChar","hexEscapeSequence","String","fromCharCode","parseInt","calculateLoadingStatus","loading","loaded","LOADING","ERROR","LOADED","UNINITIALIZED","isFinalLoadingStatus","status","delayed","callBack","rej","setTimeout","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_callee$","_context","prev","next","t0","t1","sent","t2","stop","makeLink","url","href","target","window","store","dispatch","toggleBooleanInPlace","key","obj","tmp","moveArrayElement","arr","oldIndex","newIndex","_arr$splice","splice","_arr$splice2","_slicedToArray","item","nanToUndefined","isNaN","visitTreeItems","treeItem","visitorFn","opts","handledSet","Set","visitTreeItemsImpl","isNeedToSkipChildren","has","child","openInNewTab","Object","assign","document","createElement","click","previousProps","showChangedProps","props","verbose","prevProps","console","log","Date","now","keys","changed","v","k","updateIfChanged","isEqual"],"sources":["utils.tsx"],"sourcesContent":["import React from 'react';\nimport axios, {AxiosError} from 'axios';\nimport _ from 'lodash';\n\nimport {TypedKeys, YTError} from '../types';\nimport {Link, ProgressProps, Toaster} from '@gravity-ui/uikit';\nimport {\n ThemeThreshold,\n computeProgress,\n defaultThemeThresholds,\n getProgressTheme,\n} from '../utils/progress';\nimport hammer from '../common/hammer';\nimport {LOADING_STATUS} from '../constants';\nimport {ErrorInfo} from '../store/reducers/modals/errors';\nimport {showErrorModal} from '../store/actions/modals/errors';\nimport {BatchResultsItem} from '../../shared/yt-types';\n\nimport {UIBatchError} from './errors/ui-error';\n\nexport function getBatchError<T = unknown>(\n batchResults: Array<BatchResultsItem<T>>,\n message: string,\n): YTError | undefined {\n return splitBatchResults(batchResults, new UIBatchError(message)).error;\n}\n\nconst COMMANDS_V4_WITH_VALUE: Record<string, boolean> = {\n get: true,\n list: true,\n exists: true,\n};\n\nexport function extractBatchV4Values<V, T extends {value?: V}>(\n data: {\n results?: Array<BatchResultsItem<T | V>>;\n },\n requests: Array<{command: string}>,\n) {\n const {results, ...rest} = data;\n const res = !results\n ? []\n : _.map(results, (itemData, index) => {\n const hasValue = COMMANDS_V4_WITH_VALUE[requests[index]?.command];\n if (!hasValue) {\n return itemData;\n }\n\n const {output, ...itemRest} = itemData;\n return {\n ...itemRest,\n ...(hasValue ? {output: (output as any).value} : {output}),\n };\n });\n\n return {...rest, results: res};\n}\n\nexport interface SplitedBatchResults<T> {\n error: YTError | undefined;\n results: Array<T>;\n outputs: Array<T | undefined>;\n errorIndices: Array<number>;\n resultIndices: Array<number>;\n}\n\nexport function splitBatchResults<T = unknown>(\n batchResults: Array<BatchResultsItem<T>>,\n inputError: string | UIBatchError,\n): SplitedBatchResults<T> {\n const dstError: UIBatchError =\n typeof inputError === 'string' ? new UIBatchError(inputError) : inputError;\n\n const innerErrors: Array<YTError> = [];\n const results: Array<T> = [];\n const outputs: Array<T | undefined> = [];\n const errorIndices: Array<number> = [];\n const resultIndices: Array<number> = [];\n _.forEach(batchResults, (res, index) => {\n const {error, output} = res;\n outputs.push(output);\n if (error) {\n innerErrors.push(error);\n errorIndices.push(index);\n } else {\n results.push(output!);\n resultIndices.push(index);\n }\n });\n\n if (innerErrors.length) {\n dstError.inner_errors = dstError.inner_errors ?? [];\n dstError.inner_errors.push(...innerErrors);\n }\n\n const error = !innerErrors.length ? undefined : dstError;\n return {error: error as UIBatchError, results, outputs, errorIndices, resultIndices};\n}\n\nexport function getBatchErrorIndices<T>(results: Array<BatchResultsItem<T>>) {\n return _.reduce(\n results,\n (acc, {error}, index) => {\n if (error) {\n acc.push(index);\n }\n return acc;\n },\n [] as Array<number>,\n );\n}\n\ninterface CommonWrapApiOptions<T> {\n toasterName: string;\n successContent?: React.ReactNode | ((res: T) => React.ReactNode);\n skipSuccessToast?: boolean;\n errorContent?: React.ReactNode | ((e: YTError) => React.ReactNode);\n skipErrorToast?: boolean;\n successTitle?: string;\n timeout?: number;\n autoHide?: boolean;\n}\n\ntype BatchWrapApiOption =\n | {isBatch?: false; errorTitle?: string}\n | {isBatch: true; errorTitle: string};\n\ntype WrapApiOptions<T> = CommonWrapApiOptions<T> & BatchWrapApiOption;\n\nconst toaster = new Toaster();\n\nexport function wrapBatchPromise<T>(p: Promise<T>, errorTitle: string): Promise<T> {\n return p.then((res) => {\n const error = getBatchError(res as any, errorTitle);\n if (error) {\n throw error;\n }\n\n return res;\n });\n}\n\nexport function wrapApiPromiseByToaster<T>(p: Promise<T>, options: WrapApiOptions<T>): Promise<T> {\n const {errorContent, successContent} = options;\n return p\n .then((res) => {\n if (options.isBatch) {\n const error = getBatchError(\n res as any,\n options.errorTitle || 'Missing batch error title',\n );\n if (error) {\n throw error;\n }\n }\n\n if (!options.skipSuccessToast) {\n toaster.add({\n name: options.toasterName,\n type: 'success',\n title: options.successTitle || 'Success',\n content:\n 'function' === typeof successContent ? successContent(res) : successContent,\n autoHiding: options.autoHide === false ? false : options.timeout ?? 10000,\n });\n }\n return res;\n })\n .catch((error) => {\n if (axios.isCancel(error)) {\n return Promise.reject(error);\n }\n\n const data = error?.response?.data || error;\n const {code, message} = data;\n\n if (!options.skipErrorToast) {\n toaster.add({\n name: options.toasterName,\n type: 'error',\n title: options.errorTitle || 'Failure',\n content:\n 'function' === typeof errorContent\n ? errorContent(error)\n : errorContent || (\n <span>\n [code {code}] {message}\n </span>\n ),\n actions: [{label: ' Details', onClick: () => showErrorPopup(data)}],\n autoHiding: false,\n });\n }\n return Promise.reject(error);\n });\n}\n\nexport function calcProgressProps(\n usage?: number,\n limit?: number,\n format: 'Number' | 'Bytes' = 'Number',\n themeThresholds: ThemeThreshold[] = defaultThemeThresholds,\n): ProgressProps {\n const value = computeProgress(usage, limit);\n return {\n value,\n theme: getProgressTheme(value, themeThresholds),\n text: `${formatNumber(usage, format)} / ${formatNumber(limit, format)}`,\n };\n}\n\nexport function formatNumber(value?: number, format?: 'Number' | 'Bytes'): string {\n return format === 'Bytes' ? hammer.format['Bytes'](value) : hammer.format['Number'](value);\n}\n\nexport function showToasterError(name: string, error: any) {\n const data = error?.response?.data || error;\n const {code, message} = data;\n\n toaster.add({\n name,\n type: 'error',\n title: `${name} failure`,\n content: (\n <span>\n [code {code}] {message}\n </span>\n ),\n actions: [{label: ' view', onClick: () => showErrorPopup(data)}],\n });\n return Promise.reject(error);\n}\n\nexport function unescapeSlashX(path: string) {\n let decoded = '';\n\n for (let i = 0, len = path.length; i < len; i++) {\n const currentChar = path.charAt(i);\n\n if (currentChar === '\\\\') {\n const nextChar = path.charAt((i += 1));\n\n if (nextChar === 'x') {\n // TODO check that next two characters are hexademical and end of string is not reached\n const hexEscapeSequence = path.charAt((i += 1)) + path.charAt((i += 1));\n\n decoded += String.fromCharCode(parseInt(hexEscapeSequence, 16));\n } else {\n decoded += nextChar;\n }\n } else {\n decoded += currentChar;\n }\n }\n\n return decoded;\n}\n\nexport function calculateLoadingStatus(loading: boolean, loaded: boolean, error: any) {\n if (loading) {\n return LOADING_STATUS.LOADING;\n }\n\n if (error) {\n return LOADING_STATUS.ERROR;\n }\n\n if (loaded) {\n return LOADING_STATUS.LOADED;\n }\n\n return LOADING_STATUS.UNINITIALIZED;\n}\n\nexport function isFinalLoadingStatus(status: string) {\n return status === LOADING_STATUS.LOADED || status === LOADING_STATUS.ERROR;\n}\n\nexport function delayed<T>(callBack: () => Promise<T>, timeout: number): Promise<T> {\n return new Promise((res, rej) => {\n setTimeout(async () => {\n try {\n res(await callBack());\n } catch (e) {\n rej(e);\n }\n }, timeout);\n });\n}\n\nexport function makeLink(url: string, text: string) {\n return !url ? undefined : (\n <Link href={url} target={'_blank'}>\n {text}\n </Link>\n );\n}\n\nexport function showErrorPopup(\n error: YTError | AxiosError,\n options: Omit<ErrorInfo, 'error'> = {},\n) {\n (window as any).store.dispatch(showErrorModal(error, options));\n}\n\nexport function toggleBooleanInPlace<T, K extends TypedKeys<T, boolean>>(key: K, obj: T) {\n const tmp: any = obj;\n if (tmp[key]) {\n delete tmp[key];\n } else {\n tmp[key] = true;\n }\n return obj;\n}\n\nexport function moveArrayElement<T>(arr: Array<T>, oldIndex: number, newIndex: number): [] | [T] {\n if (oldIndex < 0 || oldIndex >= arr.length || newIndex < 0 || newIndex >= arr.length) {\n return [];\n }\n\n const [item] = arr.splice(oldIndex, 1);\n arr.splice(newIndex, 0, item);\n\n return [item];\n}\n\nexport function nanToUndefined(value: any) {\n return isNaN(value) ? undefined : value;\n}\n\ntype Tree<T> = T & {\n children?: Array<Tree<T>>;\n};\n\ninterface VisitTreeItemsOptions<T> {\n handledSet: Set<unknown>;\n isNeedToSkipChildren?: (item: T) => boolean;\n}\n\nexport function visitTreeItems<T>(\n treeItem: Tree<T> | undefined,\n visitorFn: (item: T) => void,\n options?: Partial<VisitTreeItemsOptions<T>>,\n) {\n const opts = {\n ...options,\n handledSet: options?.handledSet || new Set(),\n };\n\n return visitTreeItemsImpl(treeItem, visitorFn, opts);\n}\n\nfunction visitTreeItemsImpl<T>(\n treeItem: Tree<T> | undefined,\n visitorFn: (item: T) => void,\n options: VisitTreeItemsOptions<T>,\n) {\n const {handledSet, isNeedToSkipChildren} = options;\n\n if (!treeItem || handledSet.has(treeItem)) {\n return;\n }\n\n handledSet.add(treeItem);\n visitorFn(treeItem);\n\n if (isNeedToSkipChildren && isNeedToSkipChildren(treeItem)) {\n return;\n }\n\n _.forEach(treeItem.children, (child) => visitTreeItemsImpl(child, visitorFn, options));\n}\n\nexport function openInNewTab(href: string) {\n // Safari specific hack to open new tab (not window)\n Object.assign(document.createElement('a'), {\n target: '_blank',\n href,\n }).click();\n}\n\nconst previousProps: Record<string, any> = {};\n\nexport function showChangedProps(key: string, props: object, verbose?: boolean) {\n const prevProps = previousProps[key];\n if (prevProps === undefined) {\n console.log(key, Date.now(), Object.keys(props));\n } else {\n const changed: Array<string> = [];\n _.forEach(props, (v, k) => {\n if (v !== prevProps[k]) {\n changed.push(k);\n if (verbose) {\n console.log(key, k, {prev: prevProps[k], v});\n }\n }\n });\n console.log(key, Date.now(), changed);\n }\n previousProps[key] = props;\n}\n\nexport function updateIfChanged<T, K extends keyof T>(\n obj: T,\n key: K,\n value: T[K],\n isEqual?: (l: T[K], r: T[K]) => boolean,\n) {\n if (isEqual ? !isEqual(obj[key], value) : obj[key] !== value) {\n obj[key] = value;\n }\n}\n"],"mappings":"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"}
@@ -48,7 +48,7 @@
48
48
  "js": [
49
49
  "js/runtime.fd8cf219.js",
50
50
  "js/vendors.75563cec.js",
51
- "js/main.652b0208.js"
51
+ "js/main.8e777909.js"
52
52
  ],
53
53
  "css": [
54
54
  "css/main.e919e247.css"
@@ -98,8 +98,8 @@
98
98
  "js/955.e1c8cf19.chunk.js.map": "js/955.e1c8cf19.chunk.js.map",
99
99
  "js/979.0e3142c0.chunk.js": "js/979.0e3142c0.chunk.js",
100
100
  "js/979.0e3142c0.chunk.js.map": "js/979.0e3142c0.chunk.js.map",
101
- "js/main.652b0208.js.LICENSE.txt": "js/main.652b0208.js.LICENSE.txt",
102
- "js/main.652b0208.js.map": "js/main.652b0208.js.map",
101
+ "js/main.8e777909.js.LICENSE.txt": "js/main.8e777909.js.LICENSE.txt",
102
+ "js/main.8e777909.js.map": "js/main.8e777909.js.map",
103
103
  "js/runtime.fd8cf219.js.map": "js/runtime.fd8cf219.js.map",
104
104
  "js/vendors.75563cec.js.LICENSE.txt": "js/vendors.75563cec.js.LICENSE.txt",
105
105
  "js/vendors.75563cec.js.map": "js/vendors.75563cec.js.map",
@@ -109,7 +109,7 @@
109
109
  "json.5239aa2e.worker.js.LICENSE.txt": "json.5239aa2e.worker.js.LICENSE.txt",
110
110
  "json.5239aa2e.worker.js.map": "json.5239aa2e.worker.js.map",
111
111
  "main.css": "css/main.e919e247.css",
112
- "main.js": "js/main.652b0208.js",
112
+ "main.js": "js/main.8e777909.js",
113
113
  "runtime.js": "js/runtime.fd8cf219.js",
114
114
  "vendors.js": "js/vendors.75563cec.js",
115
115
  "vis-network.js": "js/vis-network.b367d390.chunk.js"