UNPKG

devextreme

Version:

JavaScript/TypeScript Component Suite for Responsive Web Development

100 lines (99 loc) 3.26 kB
/** * DevExtreme (cjs/__internal/ui/file_manager/ui.file_manager.common.js) * Version: 25.2.7 * Build date: Tue May 05 2026 * * Copyright (c) 2012 - 2026 Developer Express Inc. ALL RIGHTS RESERVED * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/ */ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.whenSome = exports.getMapFromObject = exports.getDisplayFileSize = exports.findItemsByKeys = exports.extendAttributes = void 0; var _common = require("../../../core/utils/common"); var _deferred = require("../../../core/utils/deferred"); var _extend = require("../../../core/utils/extend"); var _type = require("../../../core/utils/type"); const whenSome = (arg, onSuccess, onError) => { onSuccess = onSuccess || _common.noop; onError = onError || _common.noop; if (!Array.isArray(arg)) { arg = [arg] } const deferreds = arg.map((item, index) => (0, _deferred.when)(item).then(result => { if ((0, _type.isFunction)(onSuccess)) { onSuccess({ item: item, index: index, result: result }) } return result }, error => { if (!error) { error = {} } error.index = index; if ((0, _type.isFunction)(onError)) { onError(error) } return (new _deferred.Deferred).resolve().promise() })); return _deferred.when.apply(null, deferreds) }; exports.whenSome = whenSome; const getDisplayFileSize = byteSize => { const sizesTitles = ["B", "KB", "MB", "GB", "TB"]; let index = 0; let displaySize = byteSize; while (displaySize >= 1024 && index <= sizesTitles.length - 1) { displaySize /= 1024; index += 1 } displaySize = Math.round(10 * displaySize) / 10; return `${displaySize} ${sizesTitles[index]}` }; exports.getDisplayFileSize = getDisplayFileSize; const extendAttributes = (targetObject, sourceObject, objectKeysArray) => { objectKeysArray.forEach(objectKey => { (0, _extend.extend)(true, targetObject, (0, _type.isDefined)(sourceObject[objectKey]) ? { [objectKey]: sourceObject[objectKey] } : {}) }); return targetObject }; exports.extendAttributes = extendAttributes; const findItemsByKeys = (itemInfos, keys) => { const itemMap = {}; keys.forEach(key => { itemMap[key] = null }); itemInfos.forEach(itemInfo => { const { key: key } = itemInfo.fileItem; if (Object.prototype.hasOwnProperty.call(itemMap, key)) { itemMap[key] = itemInfo } }); const result = []; keys.forEach(key => { const itemInfo = itemMap[key]; if (itemInfo) { result.push(itemInfo) } }); return result }; exports.findItemsByKeys = findItemsByKeys; const getMapFromObject = object => { const keys = Object.keys(object); const values = []; keys.forEach(key => values.push(object[key])); return { keys: keys, values: values } }; exports.getMapFromObject = getMapFromObject;