@gx-design-vue/pro-utils 0.1.4 → 0.2.0-alpha.1
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.
- package/LICENSE +21 -0
- package/README.md +73 -2
- package/dist/array/index.d.ts +5 -0
- package/dist/array/index.js +6 -0
- package/dist/array/slice.d.ts +11 -0
- package/dist/array/slice.js +29 -0
- package/dist/array/sort.d.ts +41 -0
- package/dist/array/sort.js +65 -0
- package/dist/array/tree.d.ts +83 -0
- package/dist/array/tree.js +157 -0
- package/dist/array/unique.d.ts +12 -0
- package/dist/array/unique.js +14 -0
- package/dist/base64/index.d.ts +26 -0
- package/dist/base64/index.js +106 -0
- package/dist/class/index.d.ts +2 -0
- package/dist/class/index.js +3 -0
- package/dist/class/prefix.d.ts +25 -0
- package/dist/class/prefix.js +15 -0
- package/dist/clone/cloneDeep.d.ts +30 -0
- package/dist/clone/cloneDeep.js +35 -0
- package/dist/clone/cloneDeepWith.d.ts +14 -0
- package/dist/clone/cloneDeepWith.js +150 -0
- package/dist/clone/getTag.d.ts +10 -0
- package/dist/clone/getTag.js +13 -0
- package/dist/clone/index.d.ts +3 -0
- package/dist/clone/index.js +4 -0
- package/dist/clone/symbols.d.ts +10 -0
- package/dist/clone/symbols.js +13 -0
- package/dist/clone/tags.d.ts +47 -0
- package/dist/clone/tags.js +48 -0
- package/dist/dom/event.d.ts +21 -0
- package/dist/dom/event.js +26 -0
- package/dist/dom/index.d.ts +5 -0
- package/dist/dom/index.js +6 -0
- package/dist/dom/measure.d.ts +19 -0
- package/dist/dom/measure.js +42 -0
- package/dist/dom/raf.d.ts +14 -0
- package/dist/dom/raf.js +44 -0
- package/dist/dom/scroll.d.ts +20 -0
- package/dist/dom/scroll.js +97 -0
- package/dist/file/config.d.ts +13 -0
- package/dist/file/config.js +81 -0
- package/dist/file/convert.d.ts +41 -0
- package/dist/file/convert.js +69 -0
- package/dist/file/index.d.ts +5 -0
- package/dist/file/index.js +6 -0
- package/dist/file/media.d.ts +35 -0
- package/dist/file/media.js +161 -0
- package/dist/file/type.d.ts +25 -0
- package/dist/file/type.js +58 -0
- package/dist/function/copy.d.ts +12 -0
- package/dist/function/copy.js +13 -0
- package/dist/function/getValue.d.ts +12 -0
- package/dist/function/getValue.js +19 -0
- package/dist/function/index.d.ts +5 -0
- package/dist/function/index.js +6 -0
- package/dist/function/object.d.ts +24 -0
- package/dist/function/object.js +33 -0
- package/dist/function/run.d.ts +11 -0
- package/dist/function/run.js +15 -0
- package/dist/index.d.ts +59 -26
- package/dist/index.js +61 -0
- package/dist/is/base64.d.ts +17 -0
- package/dist/is/base64.js +27 -0
- package/dist/is/browser.d.ts +9 -0
- package/dist/is/browser.js +14 -0
- package/dist/is/deepEqual.d.ts +13 -0
- package/dist/is/deepEqual.js +62 -0
- package/dist/is/device.d.ts +21 -0
- package/dist/is/device.js +37 -0
- package/dist/is/equal.d.ts +12 -0
- package/dist/is/equal.js +34 -0
- package/dist/is/img.d.ts +10 -0
- package/dist/is/img.js +13 -0
- package/dist/is/index.d.ts +16 -0
- package/dist/is/index.js +17 -0
- package/dist/is/nil.d.ts +17 -0
- package/dist/is/nil.js +22 -0
- package/dist/is/plainObject.d.ts +17 -0
- package/dist/is/plainObject.js +30 -0
- package/dist/is/primitive.d.ts +10 -0
- package/dist/is/primitive.js +13 -0
- package/dist/is/server.d.ts +9 -0
- package/dist/is/server.js +10 -0
- package/dist/is/type.d.ts +60 -0
- package/dist/is/type.js +84 -0
- package/dist/is/typedArray.d.ts +30 -0
- package/dist/is/typedArray.js +33 -0
- package/dist/is/unsafeProperty.d.ts +10 -0
- package/dist/is/unsafeProperty.js +18 -0
- package/dist/is/url.d.ts +10 -0
- package/dist/is/url.js +20 -0
- package/dist/is/valid.d.ts +17 -0
- package/dist/is/valid.js +23 -0
- package/dist/merge/index.d.ts +19 -5
- package/dist/merge/index.js +42 -0
- package/dist/merge/mergeWith.d.ts +12 -0
- package/dist/merge/mergeWith.js +31 -0
- package/dist/merge/useDeepMege.d.ts +46 -0
- package/dist/merge/useDeepMege.js +56 -0
- package/dist/number/chinese.d.ts +10 -0
- package/dist/number/chinese.js +46 -0
- package/dist/number/format.d.ts +27 -0
- package/dist/number/format.js +72 -0
- package/dist/number/index.d.ts +3 -0
- package/dist/number/index.js +4 -0
- package/dist/object/classNames.d.ts +10 -0
- package/dist/object/classNames.js +30 -0
- package/dist/object/index.d.ts +5 -0
- package/dist/object/index.js +6 -0
- package/dist/object/omitBoolean.d.ts +10 -0
- package/dist/object/omitBoolean.js +13 -0
- package/dist/object/omitUndefined.d.ts +12 -0
- package/dist/object/omitUndefined.js +18 -0
- package/dist/object/omitUndefinedAndEmptyArr.d.ts +10 -0
- package/dist/object/omitUndefinedAndEmptyArr.js +19 -0
- package/dist/pro-utils.esm.js +948 -0
- package/dist/pro-utils.js +1 -0
- package/dist/string/duration.d.ts +10 -0
- package/dist/string/duration.js +25 -0
- package/dist/string/empty.d.ts +14 -0
- package/dist/string/empty.js +26 -0
- package/dist/string/index.d.ts +5 -0
- package/dist/string/index.js +6 -0
- package/dist/string/nanoid.d.ts +9 -0
- package/dist/string/nanoid.js +32 -0
- package/dist/string/uuid.d.ts +34 -0
- package/dist/string/uuid.js +57 -0
- package/dist/table/column.d.ts +27 -0
- package/dist/table/column.js +42 -0
- package/dist/table/index.d.ts +3 -0
- package/dist/table/index.js +4 -0
- package/dist/table/page.d.ts +13 -0
- package/dist/table/page.js +23 -0
- package/dist/typing.d.ts +262 -0
- package/dist/typing.js +1 -0
- package/dist/vue/index.d.ts +2 -0
- package/dist/vue/index.js +3 -0
- package/dist/vue/slots.d.ts +56 -0
- package/dist/vue/slots.js +89 -0
- package/package.json +45 -64
- package/dist/classNames/index.d.ts +0 -2
- package/dist/components/FieldLabel/index.d.ts +0 -77
- package/dist/components/FieldLabel/index.less +0 -107
- package/dist/components/LabelIconTip/index.d.ts +0 -20
- package/dist/components/LabelIconTip/index.less +0 -38
- package/dist/design/ant-design-theme.less +0 -4
- package/dist/design/ant-design-vue.less +0 -1
- package/dist/design/config.less +0 -2
- package/dist/isBrowser/index.d.ts +0 -1
- package/dist/isDeepEqualReact/index.d.ts +0 -1
- package/dist/isServer.d.ts +0 -2
- package/dist/omitBoolean/index.d.ts +0 -6
- package/dist/omitUndefined/index.d.ts +0 -5
- package/dist/pro-utils.es.js +0 -1044
- package/dist/pro-utils.umd.js +0 -1
- package/dist/proUtils.less +0 -4
- package/dist/scroll/easings.d.ts +0 -1
- package/dist/scroll/getScroll.d.ts +0 -2
- package/dist/scroll/index.d.ts +0 -4
- package/dist/scroll/raf.d.ts +0 -9
- package/dist/scroll/scrollTo.d.ts +0 -10
- package/dist/scroll/throttleByAnimationFrame.d.ts +0 -5
- package/dist/slots/index.d.ts +0 -9
- package/dist/style/index.less +0 -2
- package/dist/style.css +0 -1
- package/dist/style.less +0 -3
- package/dist/typings/index.d.ts +0 -30
- package/dist/utils/config.d.ts +0 -8
- package/dist/utils/index.d.ts +0 -208
- package/dist/utils/validate.d.ts +0 -25
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { isNumber } from "../is/type.js";
|
|
2
|
+
import "../is/index.js";
|
|
3
|
+
|
|
4
|
+
//#region src/number/format.ts
|
|
5
|
+
/**
|
|
6
|
+
* 格式化数字,保留指定小数位
|
|
7
|
+
*
|
|
8
|
+
* @param fixedNum - 小数位数
|
|
9
|
+
* @param value - 要格式化的值
|
|
10
|
+
* @returns 格式化后的字符串
|
|
11
|
+
*/
|
|
12
|
+
function formatNumber(fixedNum, value) {
|
|
13
|
+
const regexPattern = `^\\d+(?:\\.\\d{0,${fixedNum}})?`;
|
|
14
|
+
const match = new RegExp(regexPattern);
|
|
15
|
+
const result = value.toString().match(match);
|
|
16
|
+
if (result) {
|
|
17
|
+
const formattedValue = result[0];
|
|
18
|
+
if (formattedValue.includes(".")) {
|
|
19
|
+
const [integerPart, decimalPart] = formattedValue.split(".");
|
|
20
|
+
if (/^0*$/.test(decimalPart)) return integerPart;
|
|
21
|
+
}
|
|
22
|
+
return formattedValue;
|
|
23
|
+
}
|
|
24
|
+
return value.toString();
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* 转换数字为带单位的显示格式
|
|
28
|
+
*
|
|
29
|
+
* @param number - 要转换的数字
|
|
30
|
+
* @param options - 配置选项
|
|
31
|
+
* @returns 转换结果
|
|
32
|
+
*/
|
|
33
|
+
function toConvertNumberShow(number, options) {
|
|
34
|
+
const { toChinese = false, fixed = 2, min = 1e4 } = options || {};
|
|
35
|
+
const minCount = isNumber(min) ? min : 1e4;
|
|
36
|
+
const fixedNum = isNumber(fixed) ? fixed : 2;
|
|
37
|
+
const countStr = toChinese ? number < minCount ? "" : number < 1e8 ? "万" : "亿" : number < minCount ? "" : number < 1e8 ? "w" : "亿";
|
|
38
|
+
if (!isNumber(number)) return {
|
|
39
|
+
str: `${number}`,
|
|
40
|
+
number: `${number}`
|
|
41
|
+
};
|
|
42
|
+
if (number < minCount) return {
|
|
43
|
+
str: `${number}`,
|
|
44
|
+
number: `${number}`
|
|
45
|
+
};
|
|
46
|
+
if (fixedNum === 0) {
|
|
47
|
+
const numStr = (number / (number < 1e8 ? 1e4 : 1e8)).toFixed(1).split(".")[0];
|
|
48
|
+
return {
|
|
49
|
+
str: `${numStr}${countStr}`,
|
|
50
|
+
number: numStr,
|
|
51
|
+
unit: countStr
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
let value;
|
|
55
|
+
if (number < 1e8) {
|
|
56
|
+
value = formatNumber(fixedNum, number / 1e4);
|
|
57
|
+
return {
|
|
58
|
+
str: value + countStr,
|
|
59
|
+
number: value,
|
|
60
|
+
unit: countStr
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
value = formatNumber(fixedNum, number / 1e8);
|
|
64
|
+
return {
|
|
65
|
+
str: value + countStr,
|
|
66
|
+
number: value,
|
|
67
|
+
unit: countStr
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
//#endregion
|
|
72
|
+
export { formatNumber, toConvertNumberShow };
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { isArray, isObject, isString } from "../is/type.js";
|
|
2
|
+
import "../is/index.js";
|
|
3
|
+
|
|
4
|
+
//#region src/object/classNames.ts
|
|
5
|
+
/**
|
|
6
|
+
* 类名合并工具
|
|
7
|
+
*
|
|
8
|
+
* @param args - 类名参数
|
|
9
|
+
* @returns 合并后的类名字符串
|
|
10
|
+
*/
|
|
11
|
+
function classNames(...args) {
|
|
12
|
+
const classes = [];
|
|
13
|
+
for (let i = 0; i < args.length; i++) {
|
|
14
|
+
const value = args[i];
|
|
15
|
+
if (!value) continue;
|
|
16
|
+
if (isString(value)) classes.push(value);
|
|
17
|
+
else if (isArray(value)) for (let i = 0; i < value.length; i++) {
|
|
18
|
+
const inner = classNames(value[i]);
|
|
19
|
+
if (inner) classes.push(inner);
|
|
20
|
+
}
|
|
21
|
+
else if (isObject(value)) {
|
|
22
|
+
for (const name in value) if (value[name]) classes.push(name);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
return classes.filter((el) => el).join(" ");
|
|
26
|
+
}
|
|
27
|
+
var classNames_default = classNames;
|
|
28
|
+
|
|
29
|
+
//#endregion
|
|
30
|
+
export { classNames_default as default };
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import classNames from "./classNames.js";
|
|
2
|
+
import { omitBoolean } from "./omitBoolean.js";
|
|
3
|
+
import { omitUndefined } from "./omitUndefined.js";
|
|
4
|
+
import { omitUndefinedAndEmptyArr } from "./omitUndefinedAndEmptyArr.js";
|
|
5
|
+
export { classNames, omitBoolean, omitUndefined, omitUndefinedAndEmptyArr };
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import classNames_default from "./classNames.js";
|
|
2
|
+
import { omitBoolean } from "./omitBoolean.js";
|
|
3
|
+
import { omitUndefined } from "./omitUndefined.js";
|
|
4
|
+
import { omitUndefinedAndEmptyArr } from "./omitUndefinedAndEmptyArr.js";
|
|
5
|
+
|
|
6
|
+
export { classNames_default as classNames, omitBoolean, omitUndefined, omitUndefinedAndEmptyArr };
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { OmitUndefined } from "../typing.js";
|
|
2
|
+
|
|
3
|
+
//#region src/object/omitUndefined.d.ts
|
|
4
|
+
/**
|
|
5
|
+
* 剔除 undefined 值
|
|
6
|
+
*
|
|
7
|
+
* @param obj - 要处理的对象
|
|
8
|
+
* @returns 处理后的对象
|
|
9
|
+
*/
|
|
10
|
+
declare function omitUndefined<T extends Record<string, any>>(obj: T): OmitUndefined<T>;
|
|
11
|
+
//#endregion
|
|
12
|
+
export { omitUndefined };
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
//#region src/object/omitUndefined.ts
|
|
2
|
+
/**
|
|
3
|
+
* 剔除 undefined 值
|
|
4
|
+
*
|
|
5
|
+
* @param obj - 要处理的对象
|
|
6
|
+
* @returns 处理后的对象
|
|
7
|
+
*/
|
|
8
|
+
function omitUndefined(obj) {
|
|
9
|
+
const newObj = {};
|
|
10
|
+
Object.keys(obj || {}).forEach((key) => {
|
|
11
|
+
if (obj[key] !== void 0) newObj[key] = obj[key];
|
|
12
|
+
});
|
|
13
|
+
if (Object.keys(newObj).length < 1) return;
|
|
14
|
+
return newObj;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
//#endregion
|
|
18
|
+
export { omitUndefined };
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
//#region src/object/omitUndefinedAndEmptyArr.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* 剔除 undefined 和空数组
|
|
4
|
+
*
|
|
5
|
+
* @param obj - 要处理的对象
|
|
6
|
+
* @returns 处理后的对象
|
|
7
|
+
*/
|
|
8
|
+
declare function omitUndefinedAndEmptyArr<T extends Record<string, any>>(obj: T): T;
|
|
9
|
+
//#endregion
|
|
10
|
+
export { omitUndefinedAndEmptyArr };
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
//#region src/object/omitUndefinedAndEmptyArr.ts
|
|
2
|
+
/**
|
|
3
|
+
* 剔除 undefined 和空数组
|
|
4
|
+
*
|
|
5
|
+
* @param obj - 要处理的对象
|
|
6
|
+
* @returns 处理后的对象
|
|
7
|
+
*/
|
|
8
|
+
function omitUndefinedAndEmptyArr(obj) {
|
|
9
|
+
const newObj = {};
|
|
10
|
+
Object.keys(obj || {}).forEach((key) => {
|
|
11
|
+
if (Array.isArray(obj[key]) && obj[key]?.length === 0) return;
|
|
12
|
+
if (obj[key] === void 0) return;
|
|
13
|
+
newObj[key] = obj[key];
|
|
14
|
+
});
|
|
15
|
+
return newObj;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
//#endregion
|
|
19
|
+
export { omitUndefinedAndEmptyArr };
|