@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.
Files changed (171) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +73 -2
  3. package/dist/array/index.d.ts +5 -0
  4. package/dist/array/index.js +6 -0
  5. package/dist/array/slice.d.ts +11 -0
  6. package/dist/array/slice.js +29 -0
  7. package/dist/array/sort.d.ts +41 -0
  8. package/dist/array/sort.js +65 -0
  9. package/dist/array/tree.d.ts +83 -0
  10. package/dist/array/tree.js +157 -0
  11. package/dist/array/unique.d.ts +12 -0
  12. package/dist/array/unique.js +14 -0
  13. package/dist/base64/index.d.ts +26 -0
  14. package/dist/base64/index.js +106 -0
  15. package/dist/class/index.d.ts +2 -0
  16. package/dist/class/index.js +3 -0
  17. package/dist/class/prefix.d.ts +25 -0
  18. package/dist/class/prefix.js +15 -0
  19. package/dist/clone/cloneDeep.d.ts +30 -0
  20. package/dist/clone/cloneDeep.js +35 -0
  21. package/dist/clone/cloneDeepWith.d.ts +14 -0
  22. package/dist/clone/cloneDeepWith.js +150 -0
  23. package/dist/clone/getTag.d.ts +10 -0
  24. package/dist/clone/getTag.js +13 -0
  25. package/dist/clone/index.d.ts +3 -0
  26. package/dist/clone/index.js +4 -0
  27. package/dist/clone/symbols.d.ts +10 -0
  28. package/dist/clone/symbols.js +13 -0
  29. package/dist/clone/tags.d.ts +47 -0
  30. package/dist/clone/tags.js +48 -0
  31. package/dist/dom/event.d.ts +21 -0
  32. package/dist/dom/event.js +26 -0
  33. package/dist/dom/index.d.ts +5 -0
  34. package/dist/dom/index.js +6 -0
  35. package/dist/dom/measure.d.ts +19 -0
  36. package/dist/dom/measure.js +42 -0
  37. package/dist/dom/raf.d.ts +14 -0
  38. package/dist/dom/raf.js +44 -0
  39. package/dist/dom/scroll.d.ts +20 -0
  40. package/dist/dom/scroll.js +97 -0
  41. package/dist/file/config.d.ts +13 -0
  42. package/dist/file/config.js +81 -0
  43. package/dist/file/convert.d.ts +41 -0
  44. package/dist/file/convert.js +69 -0
  45. package/dist/file/index.d.ts +5 -0
  46. package/dist/file/index.js +6 -0
  47. package/dist/file/media.d.ts +35 -0
  48. package/dist/file/media.js +161 -0
  49. package/dist/file/type.d.ts +25 -0
  50. package/dist/file/type.js +58 -0
  51. package/dist/function/copy.d.ts +12 -0
  52. package/dist/function/copy.js +13 -0
  53. package/dist/function/getValue.d.ts +12 -0
  54. package/dist/function/getValue.js +19 -0
  55. package/dist/function/index.d.ts +5 -0
  56. package/dist/function/index.js +6 -0
  57. package/dist/function/object.d.ts +24 -0
  58. package/dist/function/object.js +33 -0
  59. package/dist/function/run.d.ts +11 -0
  60. package/dist/function/run.js +15 -0
  61. package/dist/index.d.ts +59 -26
  62. package/dist/index.js +61 -0
  63. package/dist/is/base64.d.ts +17 -0
  64. package/dist/is/base64.js +27 -0
  65. package/dist/is/browser.d.ts +9 -0
  66. package/dist/is/browser.js +14 -0
  67. package/dist/is/deepEqual.d.ts +13 -0
  68. package/dist/is/deepEqual.js +62 -0
  69. package/dist/is/device.d.ts +21 -0
  70. package/dist/is/device.js +37 -0
  71. package/dist/is/equal.d.ts +12 -0
  72. package/dist/is/equal.js +34 -0
  73. package/dist/is/img.d.ts +10 -0
  74. package/dist/is/img.js +13 -0
  75. package/dist/is/index.d.ts +16 -0
  76. package/dist/is/index.js +17 -0
  77. package/dist/is/nil.d.ts +17 -0
  78. package/dist/is/nil.js +22 -0
  79. package/dist/is/plainObject.d.ts +17 -0
  80. package/dist/is/plainObject.js +30 -0
  81. package/dist/is/primitive.d.ts +10 -0
  82. package/dist/is/primitive.js +13 -0
  83. package/dist/is/server.d.ts +9 -0
  84. package/dist/is/server.js +10 -0
  85. package/dist/is/type.d.ts +60 -0
  86. package/dist/is/type.js +84 -0
  87. package/dist/is/typedArray.d.ts +30 -0
  88. package/dist/is/typedArray.js +33 -0
  89. package/dist/is/unsafeProperty.d.ts +10 -0
  90. package/dist/is/unsafeProperty.js +18 -0
  91. package/dist/is/url.d.ts +10 -0
  92. package/dist/is/url.js +20 -0
  93. package/dist/is/valid.d.ts +17 -0
  94. package/dist/is/valid.js +23 -0
  95. package/dist/merge/index.d.ts +19 -5
  96. package/dist/merge/index.js +42 -0
  97. package/dist/merge/mergeWith.d.ts +12 -0
  98. package/dist/merge/mergeWith.js +31 -0
  99. package/dist/merge/useDeepMege.d.ts +46 -0
  100. package/dist/merge/useDeepMege.js +56 -0
  101. package/dist/number/chinese.d.ts +10 -0
  102. package/dist/number/chinese.js +46 -0
  103. package/dist/number/format.d.ts +27 -0
  104. package/dist/number/format.js +72 -0
  105. package/dist/number/index.d.ts +3 -0
  106. package/dist/number/index.js +4 -0
  107. package/dist/object/classNames.d.ts +10 -0
  108. package/dist/object/classNames.js +30 -0
  109. package/dist/object/index.d.ts +5 -0
  110. package/dist/object/index.js +6 -0
  111. package/dist/object/omitBoolean.d.ts +10 -0
  112. package/dist/object/omitBoolean.js +13 -0
  113. package/dist/object/omitUndefined.d.ts +12 -0
  114. package/dist/object/omitUndefined.js +18 -0
  115. package/dist/object/omitUndefinedAndEmptyArr.d.ts +10 -0
  116. package/dist/object/omitUndefinedAndEmptyArr.js +19 -0
  117. package/dist/pro-utils.esm.js +948 -0
  118. package/dist/pro-utils.js +1 -0
  119. package/dist/string/duration.d.ts +10 -0
  120. package/dist/string/duration.js +25 -0
  121. package/dist/string/empty.d.ts +14 -0
  122. package/dist/string/empty.js +26 -0
  123. package/dist/string/index.d.ts +5 -0
  124. package/dist/string/index.js +6 -0
  125. package/dist/string/nanoid.d.ts +9 -0
  126. package/dist/string/nanoid.js +32 -0
  127. package/dist/string/uuid.d.ts +34 -0
  128. package/dist/string/uuid.js +57 -0
  129. package/dist/table/column.d.ts +27 -0
  130. package/dist/table/column.js +42 -0
  131. package/dist/table/index.d.ts +3 -0
  132. package/dist/table/index.js +4 -0
  133. package/dist/table/page.d.ts +13 -0
  134. package/dist/table/page.js +23 -0
  135. package/dist/typing.d.ts +262 -0
  136. package/dist/typing.js +1 -0
  137. package/dist/vue/index.d.ts +2 -0
  138. package/dist/vue/index.js +3 -0
  139. package/dist/vue/slots.d.ts +56 -0
  140. package/dist/vue/slots.js +89 -0
  141. package/package.json +45 -64
  142. package/dist/classNames/index.d.ts +0 -2
  143. package/dist/components/FieldLabel/index.d.ts +0 -77
  144. package/dist/components/FieldLabel/index.less +0 -107
  145. package/dist/components/LabelIconTip/index.d.ts +0 -20
  146. package/dist/components/LabelIconTip/index.less +0 -38
  147. package/dist/design/ant-design-theme.less +0 -4
  148. package/dist/design/ant-design-vue.less +0 -1
  149. package/dist/design/config.less +0 -2
  150. package/dist/isBrowser/index.d.ts +0 -1
  151. package/dist/isDeepEqualReact/index.d.ts +0 -1
  152. package/dist/isServer.d.ts +0 -2
  153. package/dist/omitBoolean/index.d.ts +0 -6
  154. package/dist/omitUndefined/index.d.ts +0 -5
  155. package/dist/pro-utils.es.js +0 -1044
  156. package/dist/pro-utils.umd.js +0 -1
  157. package/dist/proUtils.less +0 -4
  158. package/dist/scroll/easings.d.ts +0 -1
  159. package/dist/scroll/getScroll.d.ts +0 -2
  160. package/dist/scroll/index.d.ts +0 -4
  161. package/dist/scroll/raf.d.ts +0 -9
  162. package/dist/scroll/scrollTo.d.ts +0 -10
  163. package/dist/scroll/throttleByAnimationFrame.d.ts +0 -5
  164. package/dist/slots/index.d.ts +0 -9
  165. package/dist/style/index.less +0 -2
  166. package/dist/style.css +0 -1
  167. package/dist/style.less +0 -3
  168. package/dist/typings/index.d.ts +0 -30
  169. package/dist/utils/config.d.ts +0 -8
  170. package/dist/utils/index.d.ts +0 -208
  171. 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,3 @@
1
+ import { toChinesNum } from "./chinese.js";
2
+ import { formatNumber, toConvertNumberShow } from "./format.js";
3
+ export { formatNumber, toChinesNum, toConvertNumberShow };
@@ -0,0 +1,4 @@
1
+ import { toChinesNum } from "./chinese.js";
2
+ import { formatNumber, toConvertNumberShow } from "./format.js";
3
+
4
+ export { formatNumber, toChinesNum, toConvertNumberShow };
@@ -0,0 +1,10 @@
1
+ //#region src/object/classNames.d.ts
2
+ /**
3
+ * 类名合并工具
4
+ *
5
+ * @param args - 类名参数
6
+ * @returns 合并后的类名字符串
7
+ */
8
+ declare function classNames(...args: any[]): string;
9
+ //#endregion
10
+ export { classNames as default };
@@ -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,10 @@
1
+ //#region src/object/omitBoolean.d.ts
2
+ /**
3
+ * 剔除 boolean 值
4
+ *
5
+ * @param obj - 要处理的对象
6
+ * @returns 处理后的值
7
+ */
8
+ declare function omitBoolean<T>(obj: boolean | T): T | undefined;
9
+ //#endregion
10
+ export { omitBoolean };
@@ -0,0 +1,13 @@
1
+ //#region src/object/omitBoolean.ts
2
+ /**
3
+ * 剔除 boolean 值
4
+ *
5
+ * @param obj - 要处理的对象
6
+ * @returns 处理后的值
7
+ */
8
+ function omitBoolean(obj) {
9
+ if (obj && obj !== true) return obj;
10
+ }
11
+
12
+ //#endregion
13
+ export { omitBoolean };
@@ -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 };