@fle-ui/plus-im-record
Version:
50 lines • 1.4 kB
JavaScript
export var debounce = function debounce(fn, delay) {
var timeoutId;
return function () {
var _this = this;
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
clearTimeout(timeoutId);
timeoutId = setTimeout(function () {
// @ts-ignore
fn.apply(_this, args);
}, delay);
};
};
/**
* 格式化文件大小
* @param size 文件大小(字节)
* @returns 格式化后的文件大小字符串
*/
export var parseFileSize = function parseFileSize(size) {
var level = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
var fileSizeMap = {
0: 'B',
1: 'KB',
2: 'MB',
3: 'GB',
4: 'TB'
};
var handler = function handler(size, level) {
if (level >= Object.keys(fileSizeMap).length) {
return 'the file is too big';
}
if (size < 1024) {
return "".concat(size).concat(fileSizeMap[level]);
}
return handler(Math.round(size / 1024), level + 1);
};
return handler(size, level);
};
/**
* 给URL添加查询参数
* @param url 原始URL
* @param search 要添加的查询字符串
* @returns 添加参数后的URL
*/
export var addUrlSearch = function addUrlSearch(url, search) {
var urlObj = new URL(url);
urlObj.search += (urlObj.search.startsWith('?') ? '&' : '?') + search;
return urlObj.href;
};