@opentiny/utils 1.0.0 → 3.23.0

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 (92) hide show
  1. package/README.md +5 -1
  2. package/dist/after-leave/__tests__/index.test.d.ts +1 -0
  3. package/dist/after-leave/index.d.ts +25 -0
  4. package/dist/array/__tests__/index.test.d.ts +1 -0
  5. package/dist/array/index.d.ts +118 -0
  6. package/dist/bigInt/__tests__/index.test.d.ts +1 -0
  7. package/dist/bigInt/index.d.ts +249 -0
  8. package/dist/calendar/__test__/index.test.d.ts +1 -0
  9. package/dist/calendar/index.d.ts +96 -0
  10. package/dist/common/__tests__/index.test.d.ts +1 -0
  11. package/dist/common/index.d.ts +74 -0
  12. package/dist/crypt/__tests__/crypt.test.d.ts +1 -0
  13. package/dist/crypt/index.d.ts +5 -0
  14. package/dist/dataset/index.d.ts +102 -0
  15. package/dist/date/__test__/index.test.d.ts +1 -0
  16. package/dist/date/index.d.ts +95 -0
  17. package/dist/date-util/fecha.d.ts +14 -0
  18. package/dist/date-util/index.d.ts +50 -0
  19. package/dist/debounce/__tests__/debounce.test.d.ts +12 -0
  20. package/dist/debounce/index.d.ts +26 -0
  21. package/dist/decimal/__tests__/index.test.d.ts +1 -0
  22. package/dist/decimal/index.d.ts +92 -0
  23. package/dist/dom/index.d.ts +159 -0
  24. package/dist/espace-ctrl/index.d.ts +2 -0
  25. package/dist/event/index.d.ts +38 -0
  26. package/dist/fastdom/async.d.ts +12 -0
  27. package/dist/fastdom/index.d.ts +4 -0
  28. package/dist/fastdom/sandbox.d.ts +12 -0
  29. package/dist/fastdom/singleton.d.ts +10 -0
  30. package/dist/fecha/index.d.ts +13 -0
  31. package/dist/form/index.d.ts +5 -0
  32. package/dist/fullscreen/apis.d.ts +21 -0
  33. package/dist/fullscreen/index.d.ts +3 -0
  34. package/dist/fullscreen/screenfull.d.ts +35 -0
  35. package/dist/function/index.d.ts +7 -0
  36. package/dist/globalConfig/index.d.ts +20 -0
  37. package/dist/index.d.ts +43 -0
  38. package/dist/index.es.js +5351 -0
  39. package/dist/logger/index.d.ts +3 -0
  40. package/dist/memorize/index.d.ts +22 -0
  41. package/dist/nanoid/index.d.ts +11 -0
  42. package/dist/nanoid/nanoid.d.ts +4 -0
  43. package/dist/object/index.d.ts +137 -0
  44. package/dist/popup-manager/index.d.ts +42 -0
  45. package/dist/resize-event/index.d.ts +13 -0
  46. package/dist/resize-observer/index.d.ts +13 -0
  47. package/dist/scroll-into-view/index.d.ts +12 -0
  48. package/dist/scroll-width/index.d.ts +12 -0
  49. package/dist/string/index.d.ts +376 -0
  50. package/dist/throttle/index.d.ts +35 -0
  51. package/dist/touch/index.d.ts +15 -0
  52. package/dist/touch-emulator/index.d.ts +1 -0
  53. package/dist/tree-model/index.d.ts +3 -0
  54. package/dist/tree-model/node.d.ts +58 -0
  55. package/dist/tree-model/tree-store.d.ts +72 -0
  56. package/dist/tree-model/util.d.ts +14 -0
  57. package/dist/type/__tests__/type.test.d.ts +1 -0
  58. package/dist/type/index.d.ts +212 -0
  59. package/dist/upload-ajax/index.d.ts +12 -0
  60. package/dist/validate/__test__/util.test.d.ts +1 -0
  61. package/dist/validate/index.d.ts +2 -0
  62. package/dist/validate/messages.d.ts +73 -0
  63. package/dist/validate/rules/enum.d.ts +12 -0
  64. package/dist/validate/rules/index.d.ts +15 -0
  65. package/dist/validate/rules/pattern.d.ts +12 -0
  66. package/dist/validate/rules/range.d.ts +1 -0
  67. package/dist/validate/rules/required.d.ts +21 -0
  68. package/dist/validate/rules/type.d.ts +12 -0
  69. package/dist/validate/rules/whitespace.d.ts +12 -0
  70. package/dist/validate/schema.d.ts +22 -0
  71. package/dist/validate/util.d.ts +80 -0
  72. package/dist/validate/validations/__test__/date.test.d.ts +12 -0
  73. package/dist/validate/validations/__test__/integer.test.d.ts +12 -0
  74. package/dist/validate/validations/__test__/number.test.d.ts +12 -0
  75. package/dist/validate/validations/__test__/pattern.test.d.ts +1 -0
  76. package/dist/validate/validations/__test__/required.test.d.ts +1 -0
  77. package/dist/validate/validations/array.d.ts +30 -0
  78. package/dist/validate/validations/date.d.ts +29 -0
  79. package/dist/validate/validations/enum.d.ts +30 -0
  80. package/dist/validate/validations/float.d.ts +29 -0
  81. package/dist/validate/validations/index.d.ts +43 -0
  82. package/dist/validate/validations/integer.d.ts +34 -0
  83. package/dist/validate/validations/method.d.ts +33 -0
  84. package/dist/validate/validations/number.d.ts +30 -0
  85. package/dist/validate/validations/pattern.d.ts +31 -0
  86. package/dist/validate/validations/required.d.ts +24 -0
  87. package/dist/validate/validations/string.d.ts +32 -0
  88. package/dist/validate/validations/type.d.ts +28 -0
  89. package/dist/xss/__tests__/xss.test.d.ts +1 -0
  90. package/dist/xss/index.d.ts +16 -0
  91. package/package.json +11 -6
  92. package/dist/opentiny-utils.es.js +0 -1011
package/README.md CHANGED
@@ -1 +1,5 @@
1
- # @opentiny/utils
1
+ ## 安装
2
+
3
+ ```bash
4
+ npm install --save @opentiny/utils
5
+ ```
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Copyright (c) 2022 - present TinyVue Authors.
3
+ * Copyright (c) 2022 - present Huawei Cloud Computing Technologies Co., Ltd.
4
+ *
5
+ * Use of this source code is governed by an MIT-style license.
6
+ *
7
+ * THE OPEN SOURCE SOFTWARE IN THIS PRODUCT IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL,
8
+ * BUT WITHOUT ANY WARRANTY, WITHOUT EVEN THE IMPLIED WARRANTY OF MERCHANTABILITY OR FITNESS FOR
9
+ * A PARTICULAR PURPOSE. SEE THE APPLICABLE LICENSES FOR MORE DETAILS.
10
+ *
11
+ */
12
+ /**
13
+ * 在实例上注册"after-leave"事件并设置超时回调
14
+ * @param instance - 需要注册事件的实例对象,必须支持$on或$once方法
15
+ * @param callback - 事件触发或超时后执行的回调函数
16
+ * @param speed - 过渡动画的速度,单位为毫秒
17
+ * @param once - 是否只监听一次事件
18
+ *
19
+ * 该函数用于处理元素过渡结束后的回调,并添加超时保障机制
20
+ * 确保回调函数只会被执行一次
21
+ */
22
+ export declare function afterLeave(instance: {
23
+ $once: (event: string, callback: Function) => void;
24
+ $on: (event: string, callback: Function) => void;
25
+ }, callback: Function, speed?: number, once?: boolean): void;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,118 @@
1
+ /**
2
+ * Copyright (c) 2022 - present TinyVue Authors.
3
+ * Copyright (c) 2022 - present Huawei Cloud Computing Technologies Co., Ltd.
4
+ *
5
+ * Use of this source code is governed by an MIT-style license.
6
+ *
7
+ * THE OPEN SOURCE SOFTWARE IN THIS PRODUCT IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL,
8
+ * BUT WITHOUT ANY WARRANTY, WITHOUT EVEN THE IMPLIED WARRANTY OF MERCHANTABILITY OR FITNESS FOR
9
+ * A PARTICULAR PURPOSE. SEE THE APPLICABLE LICENSES FOR MORE DETAILS.
10
+ *
11
+ */
12
+ /**
13
+ * 返回在数组中可以找到一个给定元素的第一个索引,如果不存在,则返回-1。 TINY_NO_NEED 现在数组有 findIndex
14
+ * 修复数组原生的 indexOf 方法不能判断 NaN 的问题
15
+ *
16
+ * let arr1 = [1, 2, 3, 4]
17
+ * let arr2 = [1, 2, NaN, 4]
18
+ * indexOf(arr1, 2) // 1
19
+ * indexOf(arr2, NaN) // 2
20
+ *
21
+ * @param {Array<T>} arr 要查找的数组
22
+ * @param {T} data 需要查找的数据
23
+ * @param {Function} [predicate] 断言函数,缺省为 isSame, 两个参数为数组的元素和查找的数据
24
+ * @returns {number} 元素在数组中的索引,如果不存在则返回-1
25
+ */
26
+ export declare const indexOf: <T>(arr: T[], data: T, predicate?: (item: T, target: T) => boolean) => number;
27
+ /**
28
+ * 在数组里查找对象,调用自定义的断言函数。
29
+ *
30
+ * let arr = [1, 2, 3, 4]
31
+ * find(arr, function (value) { return value > 2 }) // 3
32
+ *
33
+ * @param {Array<T>} arr 要查找的数组
34
+ * @param {Function} predicate 断言函数
35
+ * @returns {T | undefined} 找到的元素,如果没有找到则返回undefined
36
+ */
37
+ export declare const find: <T>(arr: T[], predicate: (item: T, index: number) => boolean) => T | undefined;
38
+ /**
39
+ * 从数组中删除指定元素,并返回该数组。
40
+ *
41
+ * let arr1 = [1, 2, 3, 4]
42
+ * let arr2 = [1, 2, NaN, 4]
43
+ * remove(arr1, 2, 2) // [1, 4]
44
+ * remove(arr2, NaN) // [1, 2, 4]
45
+ *
46
+ * @param {Array<T>} arr 源数组
47
+ * @param {T} data 需要删除的数据
48
+ * @param {number} count 删除元素个数,默认为 1
49
+ * @returns {Array<T>} 处理后的数组
50
+ */
51
+ export declare const remove: <T>(arr: T[], data: T, count?: number) => T[];
52
+ /**
53
+ * 对象数组自定义排序,并返回该数组。
54
+ *
55
+ * sort([ {a:100}, {a:1}, {a:NaN}, {a:10} ], 'a') // [ {a:1}, {a:10}, {a:100}, {a:NaN} ]
56
+ * sort([ {a:100}, {a:1}, {a:NaN}, {a:10} ], 'a','desc') // [ {a:100}, {a:10}, {a:1}, {a:NaN} ]
57
+ *
58
+ * @param {Array<T>} arr 需要排序的对象数组
59
+ * @param {string} field 要排序的对象字段
60
+ * @param {string} sort 排序方向,取值为 "asc" 或 "desc"
61
+ * @returns {Array<T>} 排好序的对象数组
62
+ */
63
+ export declare const sort: <T extends Record<string, any>>(arr: T[], field: string, sort?: string) => T[];
64
+ /**
65
+ * 向数组中添加不重复的数据,并返回该数组。
66
+ *
67
+ * let arr = [ 1, 2, NaN, 4]
68
+ * push(arr, 1) // [ 1, 2, NaN, 4]
69
+ * push(arr, NaN) // [ 1, 2, NaN, 4]
70
+ * push(arr, 5) // [ 1, 2, NaN, 4, 5]
71
+ *
72
+ * @param {Array<T>} arr 源数组
73
+ * @param {T} data 需要增加的数据
74
+ * @returns {Array<T>} 处理后的数组
75
+ */
76
+ export declare const push: <T>(arr: T[], data: T) => T[];
77
+ /**
78
+ * 去除数组中的重复的值,并返回新数组。
79
+ *
80
+ * let arr = [ 1, NaN, 2, NaN, 2, 3, 4]
81
+ * unique(arr) // [ 1, NaN, 2, 3, 4]
82
+ *
83
+ * @param {Array<T>} arr 源数组
84
+ * @returns {Array<T>} 去重后的新数组
85
+ */
86
+ export declare const unique: <T>(arr: T[]) => T[];
87
+ /**
88
+ * 数组转对象
89
+ *
90
+ * let arr = [ { key1: value1 }, { key2: value2 } ]
91
+ * toObject(arr) // { key1: value1, key2: value2 }
92
+ *
93
+ * @param {Array<Record<string, any>>} arr 包含对象的数组
94
+ * @returns {Record<string, any>} 合并后的对象
95
+ */
96
+ export declare const toObject: (arr: Record<string, any>[]) => Record<string, any>;
97
+ /**
98
+ * 将 id 与 pid 构成的扁平数据转换成 children 的树状数据
99
+ *
100
+ * let data = [{ id: 100, pId: 0, label: '首页'}, { id: 101, pId: 100, label: '指南'}]
101
+ * transformPidToChildren(data) // [ 0: { id: 100, label: "首页", children: [ 0: { id: 101, label: "指南" } ] } ]
102
+ *
103
+ * @param {Array<Record<string, any>>} data id 与 pid 构成的扁平数据的数组
104
+ * @param {string} [pidName] pid 的属性名,缺省为 pId
105
+ * @param {string} [childrenName] children 的属性名,缺省为 children
106
+ * @param {string} [idName] id 的属性名,缺省为 id
107
+ * @returns {Array<Record<string, any>>} 树状结构数据
108
+ */
109
+ export declare const transformPidToChildren: (data: Record<string, any>[], pidName?: string, childrenName?: string, idName?: string) => Record<string, any>[];
110
+ /**
111
+ * 将pid标识的普通数组转换树结构数据
112
+ *
113
+ * @param {Record<string, any> | Record<string, any>[]} data 需要转换的数据
114
+ * @param {string} key id的属性名,默认为'id'
115
+ * @param {string} parentKey 父id的属性名,默认为'pId'
116
+ * @returns {Record<string, any>[]} 树状结构数据
117
+ */
118
+ export declare const transformTreeData: (data: Record<string, any> | Record<string, any>[], key?: string, parentKey?: string) => Record<string, any>[];
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,249 @@
1
+ /**
2
+ * Copyright (c) 2022 - present TinyVue Authors.
3
+ * Copyright (c) 2022 - present Huawei Cloud Computing Technologies Co., Ltd.
4
+ *
5
+ * Use of this source code is governed by an MIT-style license.
6
+ *
7
+ * THE OPEN SOURCE SOFTWARE IN THIS PRODUCT IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL,
8
+ * BUT WITHOUT ANY WARRANTY, WITHOUT EVEN THE IMPLIED WARRANTY OF MERCHANTABILITY OR FITNESS FOR
9
+ * A PARTICULAR PURPOSE. SEE THE APPLICABLE LICENSES FOR MORE DETAILS.
10
+ *
11
+ */
12
+ /**
13
+ * 检查环境是否支持BigInt
14
+ * @returns {boolean} 是否支持BigInt
15
+ */
16
+ export declare function supportBigInt(): boolean;
17
+ /**
18
+ * 格式化数字字符串
19
+ * @param {string | number} numStr 要格式化的数字或字符串
20
+ * @returns {Object} 格式化后的对象,包含各种数字信息
21
+ */
22
+ export declare function trimNumber(numStr: string | number): {
23
+ negative: boolean;
24
+ negativeStr: string;
25
+ trimStr: string;
26
+ integerStr: string;
27
+ decimalStr: string;
28
+ fullStr: string;
29
+ };
30
+ /**
31
+ * 检查数字是否为科学计数法格式
32
+ * @param {string | number} number 要检查的数字
33
+ * @returns {boolean} 是否为科学计数法格式
34
+ */
35
+ export declare function isE(number: string | number): boolean;
36
+ /**
37
+ * 验证字符串是否为有效的数字格式
38
+ * @param {string | number | null | undefined} num 要验证的数字或字符串
39
+ * @returns {boolean} 是否为有效的数字格式
40
+ */
41
+ export declare function validateNumber(num: string | number | null | undefined): boolean;
42
+ /**
43
+ * 获取数字精度(小数位数)
44
+ * [Legacy] 将科学计数法 1e-9 转换为 0.000000001。
45
+ * 注意:如果用户真的需要 1e-9,可能会损失一些精度
46
+ * @param {string | number} number 要检查的数字
47
+ * @returns {number} 小数位数
48
+ */
49
+ export declare function getNumberPrecision(number: string | number): number;
50
+ /**
51
+ * 将数字(包括科学计数法)转换为 -xxx.yyy 格式
52
+ * @param {string | number} number 要转换的数字
53
+ * @returns {string} 转换后的字符串
54
+ */
55
+ export declare function num2str(number: string | number): string;
56
+ /**
57
+ * 获取迷你Decimal实例
58
+ * @param {string | number} value 数值
59
+ * @param {any} decimal 可选的decimal库
60
+ * @returns {any} decimal实例
61
+ */
62
+ export declare function getMiniDecimal(value: string | number, decimal?: any): any;
63
+ /**
64
+ * 大整数小数处理类
65
+ */
66
+ export declare class BigIntDecimal {
67
+ /** 是否为空 */
68
+ empty?: boolean;
69
+ /** 原始值 */
70
+ origin: string;
71
+ /** 是否为负数 */
72
+ negative?: boolean;
73
+ /** 整数部分 */
74
+ integer?: bigint | string;
75
+ /** 小数部分 */
76
+ decimal?: bigint;
77
+ /** 小数长度 */
78
+ decimalLen?: number;
79
+ /** 是否为NaN */
80
+ nan?: boolean;
81
+ /**
82
+ * 构造函数
83
+ * @param {string | number} value 数值
84
+ */
85
+ constructor(value: string | number);
86
+ /**
87
+ * 获取小数部分字符串
88
+ * @returns {string} 小数部分字符串
89
+ */
90
+ getDecimalStr(): string;
91
+ /**
92
+ * 获取整数部分字符串
93
+ * @returns {string} 整数部分字符串
94
+ */
95
+ getIntegerStr(): string;
96
+ /**
97
+ * 获取数字符号
98
+ * @returns {string} 负号或空字符串
99
+ */
100
+ getMark(): string;
101
+ /**
102
+ * 对齐小数位,例如:12.3 + 5 = 1230000
103
+ * 这仅用于add函数
104
+ * @param {number} decimalLength 小数长度
105
+ * @returns {bigint} 对齐后的BigInt
106
+ */
107
+ alignDecimal(decimalLength: number): bigint;
108
+ /**
109
+ * 加法操作
110
+ * @param {string | number} value 要添加的值
111
+ * @returns {BigIntDecimal} 计算结果
112
+ */
113
+ add(value: string | number): BigIntDecimal;
114
+ /**
115
+ * 取反操作
116
+ * @returns {BigIntDecimal} 取反后的值
117
+ */
118
+ negate(): BigIntDecimal;
119
+ /**
120
+ * 检查是否为NaN
121
+ * @returns {boolean} 是否为NaN
122
+ */
123
+ isNaN(): boolean;
124
+ /**
125
+ * 检查是否为空
126
+ * @returns {boolean} 是否为空
127
+ */
128
+ isEmpty(): boolean;
129
+ /**
130
+ * 检查是否无效
131
+ * @returns {boolean} 是否无效
132
+ */
133
+ isInvalidate(): boolean;
134
+ /**
135
+ * 小于等于比较
136
+ * @param {BigIntDecimal} target 比较目标
137
+ * @returns {boolean} 是否小于等于
138
+ */
139
+ lessEquals(target: BigIntDecimal): boolean;
140
+ /**
141
+ * 相等比较
142
+ * @param {BigIntDecimal | null | undefined} target 比较目标
143
+ * @returns {boolean} 是否相等
144
+ */
145
+ equals(target: BigIntDecimal | null | undefined): boolean;
146
+ /**
147
+ * 转换为数字
148
+ * @returns {number} 数字值
149
+ */
150
+ toNumber(): number;
151
+ /**
152
+ * 转换为字符串
153
+ * @param {boolean} safe 是否安全转换,默认为true
154
+ * @returns {string} 字符串表示
155
+ */
156
+ toString(safe?: boolean): string;
157
+ }
158
+ /**
159
+ * 普通数字小数处理类
160
+ */
161
+ export declare class NumberDecimal {
162
+ /** 是否为空 */
163
+ empty?: boolean;
164
+ /** 原始值 */
165
+ origin: string;
166
+ /** 数字值 */
167
+ number?: number;
168
+ /**
169
+ * 构造函数
170
+ * @param {string | number} value 数值
171
+ */
172
+ constructor(value?: string | number);
173
+ /**
174
+ * 取反操作
175
+ * @returns {NumberDecimal} 取反后的值
176
+ */
177
+ negate(): NumberDecimal;
178
+ /**
179
+ * 加法操作
180
+ * @param {string | number} value 要添加的值
181
+ * @returns {NumberDecimal} 计算结果
182
+ */
183
+ add(value: string | number): NumberDecimal;
184
+ /**
185
+ * 检查是否为NaN
186
+ * @returns {boolean} 是否为NaN
187
+ */
188
+ isNaN(): boolean;
189
+ /**
190
+ * 检查是否为空
191
+ * @returns {boolean} 是否为空
192
+ */
193
+ isEmpty(): boolean;
194
+ /**
195
+ * 检查是否无效
196
+ * @returns {boolean} 是否无效
197
+ */
198
+ isInvalidate(): boolean;
199
+ /**
200
+ * 相等比较
201
+ * @param {NumberDecimal | null | undefined} target 比较目标
202
+ * @returns {boolean} 是否相等
203
+ */
204
+ equals(target: NumberDecimal | null | undefined): boolean;
205
+ /**
206
+ * 小于等于比较
207
+ * @param {NumberDecimal} target 比较目标
208
+ * @returns {boolean} 是否小于等于
209
+ */
210
+ lessEquals(target: NumberDecimal): boolean;
211
+ /**
212
+ * 转换为数字
213
+ * @returns {number} 数字值
214
+ */
215
+ toNumber(): number;
216
+ /**
217
+ * 转换为字符串
218
+ * @param {boolean} safe 是否安全转换,默认为true
219
+ * @returns {string} 字符串表示
220
+ */
221
+ toString(safe?: boolean): string;
222
+ }
223
+ /**
224
+ * 设置Decimal类
225
+ * @param {any} decimaljs 自定义decimal库
226
+ */
227
+ export declare const setDecimalClass: (decimaljs?: any) => void;
228
+ /**
229
+ * 比较两个值是否小于等于关系
230
+ * @param {string | number} value1 第一个值
231
+ * @param {string | number} value2 第二个值
232
+ * @returns {boolean} value1 <= value2
233
+ */
234
+ export declare function lessEquals(value1: string | number, value2: string | number): boolean;
235
+ /**
236
+ * 比较两个值是否相等
237
+ * @param {string | number} value1 第一个值
238
+ * @param {string | number} value2 第二个值
239
+ * @returns {boolean} value1 === value2
240
+ */
241
+ export declare function equalsDecimal(value1: string | number, value2: string | number): boolean;
242
+ /**
243
+ * 将数字格式化为固定精度
244
+ * @param {string | number} numStr 数字或数字字符串
245
+ * @param {number} precision 精度(小数位数)
246
+ * @param {number} rounding 舍入方式,默认为5(四舍五入)
247
+ * @returns {string} 格式化后的字符串
248
+ */
249
+ export declare function toFixed(numStr: string | number, precision: number, rounding?: number): string;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,96 @@
1
+ /**
2
+ * 获取指定年月的总天数
3
+ * @method
4
+ * @param {Number} year - 年份
5
+ * @param {Number} month - 月份(1-12)
6
+ * @returns {Number} - 该月总天数
7
+ */
8
+ export declare const getDays: (year: number, month: number) => number;
9
+ /**
10
+ * 根据日期获取星期几
11
+ * @method
12
+ * @param {Number} year - 年份
13
+ * @param {Number} month - 月份(1-12)
14
+ * @param {Number} day - 日期
15
+ * @returns {Number} - 星期几(0-6,0表示星期日)
16
+ */
17
+ export declare const getWeek: (year: number, month: number, day: number) => number;
18
+ /**
19
+ * 获取上一个月的年份和月份
20
+ * @method
21
+ * @param {Number} year - 当前年份
22
+ * @param {Number} month - 当前月份(1-12)
23
+ * @returns {Object} - 包含上个月年份和月份的对象
24
+ */
25
+ export declare const lastMonth: (year: number, month: number) => {
26
+ year: number;
27
+ month: number;
28
+ };
29
+ /**
30
+ * 获取下一个月的年份和月份
31
+ * @method
32
+ * @param {Number} year - 当前年份
33
+ * @param {Number} month - 当前月份(1-12)
34
+ * @returns {Object} - 包含下个月年份和月份的对象
35
+ */
36
+ export declare const nextMonth: (year: number, month: number) => {
37
+ year: number;
38
+ month: number;
39
+ };
40
+ /**
41
+ * 日历数据接口定义
42
+ */
43
+ interface CalendarData {
44
+ last: {
45
+ year: number;
46
+ month: number;
47
+ start: number;
48
+ end: number;
49
+ };
50
+ current: {
51
+ year: number;
52
+ month: number;
53
+ start: number;
54
+ end: number;
55
+ };
56
+ next: {
57
+ year: number;
58
+ month: number;
59
+ start: number;
60
+ end: number;
61
+ };
62
+ }
63
+ /**
64
+ * 获取日历数据(包含上月、当月和下月的日期信息)
65
+ * @method
66
+ * @param {Number} year - 年份
67
+ * @param {Number} month - 月份(1-12)
68
+ * @returns {CalendarData | undefined} - 日历数据对象,包含上月、当月和下月的日期信息
69
+ */
70
+ export declare const getCalendar: (year: number, month: number) => CalendarData | undefined;
71
+ /**
72
+ * 将一维数组转换成 7*N 的二维数组(用于日历表格展示)
73
+ * @method
74
+ * @param {Array<T>} array - 一维数据数组
75
+ * @returns {Array<Array<T>>} - 转换后的7列二维数组
76
+ */
77
+ export declare const transformArray: <T>(array: T[]) => T[][];
78
+ /**
79
+ * 日期解析结果接口
80
+ */
81
+ interface ParsedDate {
82
+ year: number;
83
+ month: number;
84
+ day: number;
85
+ hours: number;
86
+ minutes: number;
87
+ seconds: number;
88
+ }
89
+ /**
90
+ * 时间转换成年月日时分秒对象
91
+ * @method
92
+ * @param {number | string} time - 时间戳或标准的日期字符串
93
+ * @returns {ParsedDate} - 包含年月日时分秒的对象
94
+ */
95
+ export declare const parseDate: (time: number | string) => ParsedDate;
96
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,74 @@
1
+ /**
2
+ * Copyright (c) 2022 - present TinyVue Authors.
3
+ * Copyright (c) 2022 - present Huawei Cloud Computing Technologies Co., Ltd.
4
+ *
5
+ * Use of this source code is governed by an MIT-style license.
6
+ *
7
+ * THE OPEN SOURCE SOFTWARE IN THIS PRODUCT IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL,
8
+ * BUT WITHOUT ANY WARRANTY, WITHOUT EVEN THE IMPLIED WARRANTY OF MERCHANTABILITY OR FITNESS FOR
9
+ * A PARTICULAR PURPOSE. SEE THE APPLICABLE LICENSES FOR MORE DETAILS.
10
+ *
11
+ */
12
+ /**
13
+ * 键盘按键对应的键码常量
14
+ * @type {Record<string, number>}
15
+ */
16
+ export declare const KEY_CODE: Record<string, number>;
17
+ /**
18
+ * 组件定位方向常量
19
+ * @type {Record<string, string>}
20
+ */
21
+ export declare const POSITION: Record<string, string>;
22
+ /**
23
+ * 排序方向常量
24
+ * 只使用在 array.ts中, 待移除
25
+ * @type {Record<string, string>}
26
+ */
27
+ export declare const SORT: Record<string, string>;
28
+ /**
29
+ * 刷新间隔时间(毫秒)
30
+ * @type {number}
31
+ */
32
+ export declare const REFRESH_INTERVAL = 100;
33
+ /**
34
+ * IP地址输入阈值常量
35
+ * @type {Record<string, number>}
36
+ */
37
+ export declare const IPTHRESHOLD: Record<string, number>;
38
+ /**
39
+ * 日期格式常量
40
+ * @type {Record<string, string>}
41
+ */
42
+ export declare const DATE: Record<string, string>;
43
+ /**
44
+ * 日期选择器相关常量
45
+ * @type {Record<string, any>}
46
+ */
47
+ export declare const DATEPICKER: Record<string, any>;
48
+ /**
49
+ * 浏览器名称常量
50
+ * @type {Record<string, string>}
51
+ */
52
+ export declare const BROWSER_NAME: Record<string, string>;
53
+ /**
54
+ * 鼠标滚轮增量值
55
+ * @type {number}
56
+ */
57
+ export declare const MOUSEDELTA = 120;
58
+ /**
59
+ * 表单验证状态常量
60
+ * @type {Record<string, string>}
61
+ */
62
+ export declare const VALIDATE_STATE: Record<string, string>;
63
+ /**
64
+ * 级联选择器相关常量
65
+ * @type {Record<string, any>}
66
+ */
67
+ export declare const CASCADER: Record<string, any>;
68
+ /**
69
+ * 检查对象是否具有任何一个指定的键
70
+ * @param obj 需要检查的对象
71
+ * @param keys 需要检查的键的数组
72
+ * @return 如果对象具有任何一个指定的键,返回true,否则返回false
73
+ */
74
+ export declare const hasAnyKey: (obj: any, keys: string[]) => boolean;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,5 @@
1
+ /** 生成字节流或字符串的sha256编码
2
+ * @param message - 需要计算哈希值的消息(字符串或ArrayBuffer)
3
+ * @returns 返回消息的SHA-256哈希值(十六进制字符串)
4
+ */
5
+ export declare function sha256(message: ArrayBuffer | string): Promise<string>;
@@ -0,0 +1,102 @@
1
+ /**
2
+ * Copyright (c) 2022 - present TinyVue Authors.
3
+ * Copyright (c) 2022 - present Huawei Cloud Computing Technologies Co., Ltd.
4
+ *
5
+ * Use of this source code is governed by an MIT-style license.
6
+ *
7
+ * THE OPEN SOURCE SOFTWARE IN THIS PRODUCT IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL,
8
+ * BUT WITHOUT ANY WARRANTY, WITHOUT EVEN THE IMPLIED WARRANTY OF MERCHANTABILITY OR FITNESS FOR
9
+ * A PARTICULAR PURPOSE. SEE THE APPLICABLE LICENSES FOR MORE DETAILS.
10
+ *
11
+ */
12
+ /**
13
+ * 过滤器值类型
14
+ */
15
+ interface FilterValue {
16
+ type: string;
17
+ value: any;
18
+ relation?: string;
19
+ text?: string;
20
+ }
21
+ /**
22
+ * 过滤器对象类型
23
+ */
24
+ interface Filters {
25
+ [property: string]: FilterValue;
26
+ }
27
+ /**
28
+ * 分页参数类型
29
+ */
30
+ interface Page {
31
+ currentPage?: number;
32
+ pageSize?: number;
33
+ }
34
+ /**
35
+ * 排序参数类型
36
+ */
37
+ interface Sort {
38
+ property?: string;
39
+ order?: string;
40
+ }
41
+ /**
42
+ * 数据源参数类型
43
+ */
44
+ interface Source {
45
+ url: string;
46
+ type?: string;
47
+ method?: string;
48
+ data?: Record<string, any>;
49
+ beforeRequest?: (config: any, args?: any) => void;
50
+ afterRequest?: (data: any) => void;
51
+ success?: (data: any) => void;
52
+ hideErr?: boolean;
53
+ [key: string]: any;
54
+ }
55
+ /**
56
+ * API 参数类型
57
+ */
58
+ interface Api {
59
+ name: string;
60
+ data?: Record<string, any>;
61
+ }
62
+ /**
63
+ * 数据集参数类型
64
+ */
65
+ interface Dataset {
66
+ source?: Source;
67
+ value?: any[];
68
+ api?: Api;
69
+ service?: any;
70
+ }
71
+ /**
72
+ * 数据集参数类型(完整)
73
+ */
74
+ interface DatasetOptions {
75
+ dataset?: Dataset | any[];
76
+ service?: any;
77
+ tree?: {
78
+ key?: string;
79
+ parentKey?: string;
80
+ };
81
+ }
82
+ /**
83
+ * 请求参数类型
84
+ */
85
+ interface RequestArgs {
86
+ page?: Page;
87
+ sort?: Sort;
88
+ filters?: Filters;
89
+ [key: string]: any;
90
+ }
91
+ /**
92
+ * 获取数据集数据,支持多种数据源方式:
93
+ * 1. 直接数组数据
94
+ * 2. 通过 source 配置的网络请求
95
+ * 3. 通过 api 配置的服务方法调用
96
+ *
97
+ * @param {DatasetOptions} param0 - 数据集配置选项
98
+ * @param {RequestArgs} args - 请求参数
99
+ * @returns {Promise<any>} - 返回处理后的数据承诺
100
+ */
101
+ export declare const getDataset: ({ dataset, service, tree }: DatasetOptions, args?: RequestArgs) => Promise<any>;
102
+ export {};