gzjs-utils 1.0.25 → 1.0.26

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.
@@ -20,7 +20,7 @@ declare type TrimMode = 0 | 1 | 2;
20
20
  export type URLParam = string | number | boolean | any;
21
21
  export type QueryParams = {
22
22
  [key: string]: string | boolean | any | "";
23
- };
23
+ } & Record<any, any>;
24
24
  export type URI = {
25
25
  "source": string | "";
26
26
  "protocol": string | "";
@@ -40,270 +40,438 @@ export type URI = {
40
40
  "hash": string | "";
41
41
  "params": QueryParams;
42
42
  toURLString: () => string;
43
+ hashInfo: {
44
+ params: QueryParams;
45
+ toString: () => string;
46
+ };
43
47
  };
44
48
  export type RandomTypeOrSource = 1 | 2 | 3 | (number | string)[] | string;
45
- export declare type Utils = {
49
+ export declare const TRUE_FLAG: readonly (string | number | boolean)[];
50
+ export declare const FALSE_FLAG: readonly (string | number | boolean)[];
51
+ export declare const type: (obj: any) => any;
52
+ export declare const isFunction: (obj: any) => boolean;
53
+ export declare const isBase64: (str: any) => boolean;
54
+ export declare const trim: (s: any) => any;
55
+ export declare const parseUri: (str: any, strictMode?: boolean) => URI;
56
+ export declare const parseQuery: (query: string) => QueryParams;
57
+ export declare const getQueryParams: (search?: string, allowFromLocation?: boolean) => QueryParams;
58
+ /**
59
+ * 随机生成UUID
60
+ * @param len 长度
61
+ */
62
+ export declare function uuid(len: number): string;
63
+ export declare function isArrayLike(obj: any): boolean;
64
+ export declare function isArray(obj: any): boolean;
65
+ export declare function shuffle<T>(arr: any): any;
66
+ /**
67
+ * 获取随机数, 默认 字母+数组
68
+ * @param len 随机数长度
69
+ * @param typeOrSource 随机数类型:1=字母+数字, 2=数字 , 3=字母,或者自定义数据源
70
+ */
71
+ export declare function random(len?: number, typeOrSource?: RandomTypeOrSource): string;
72
+ declare const _Utils_: {
46
73
  /**
47
- * 获取对象类型;
48
- * <p>
49
- * 例如:
50
- * <pre>
51
- * // type('123') 则返回 String
52
- * // type(133) 则返回 Number
53
- * // type([]) 则返回 Array
54
- * // type() 则返回 Undefined
55
- * // type(null) 则返回 null
56
- * </pre>
57
- *
58
- * @param obj
74
+ * 获取字符串中包含的中文个数
75
+ * @param obj 字符串
76
+ * @returns 中文字符的数量
59
77
  */
60
- type(obj: any): string;
78
+ chineseLen(obj: any_str): number;
61
79
  /**
62
- * 是否为 String 类型
63
- * @param obj
80
+ * 从身份证获取年龄(年、月、日)
81
+ * @param str 身份证号码
82
+ * @returns 返回 [年份, 月数, 天数] 数组,如果身份证无效则返回空数组
64
83
  */
65
- isString(obj: any): boolean;
84
+ getAgeFromIDcard(str: string): [year, moth, day] | [];
66
85
  /**
67
- * 判断对象是否为 函数类型
68
- * @param obj
86
+ * 获取查询参数
87
+ * @param search 查询参数字符串,如果为空则从 URL 读取
88
+ * @param allowFromLocation 是否允许从 location 上获取,默认为 true
89
+ * @returns 查询参数对象
69
90
  */
70
- isFunction(obj: any): boolean;
91
+ getQueryParams: (search?: string, allowFromLocation?: boolean) => QueryParams;
71
92
  /**
72
- * 获取字符串中包含的中文个数
73
- * @param obj
93
+ * 获取 URL 路径中的指定参数
94
+ * @param url URL 字符串
95
+ * @param key 参数名
96
+ * @returns 参数值
74
97
  */
75
- chineseLen(obj: any_str): number;
98
+ getUrlParam(url: string, key: string): URLParam;
76
99
  /**
77
- * 将字符串去空白
78
- * @param str
79
- * @param flag
100
+ * 获取 URL 路径中的所有参数
101
+ * @param url URL 字符串
102
+ * @returns 查询参数对象
80
103
  */
81
- trim<T = any_str>(str: T, flag?: TrimMode): T;
104
+ getUrlParams(url: string): QueryParams;
82
105
  /**
83
- * 去除 左边内容
84
- * @param str 去除的内容
85
- * @param prefix 左边内容
106
+ * HTTP 响应中获取文件名
107
+ * @param source 数据源,支持以下格式:
108
+ * - string: Content-Disposition 响应头内容
109
+ * - Headers: Fetch API 的 Headers 对象
110
+ * - Response: Fetch API 的 Response 对象
111
+ * - XMLHttpRequest: XHR 对象
112
+ * @param headerName 可选,指定响应头名称,默认为 'Content-Disposition'
113
+ * @returns 文件名,如果解析失败则返回 null
86
114
  */
87
- trimLeft<T = any_str>(str: T, prefix?: string): T;
115
+ getFileNameFromResponse(source: string | Headers | Response | XMLHttpRequest | any, headerName?: string): string;
88
116
  /**
89
- * 去除 右边内容
90
- * @param str 去除的内容
91
- * @param suffix 右边内容
117
+ * 判断是否是安卓设备
118
+ * @returns 如果是安卓设备返回 true,否则返回 false
92
119
  */
93
- trimRight<T = any_str>(str: T, suffix?: string): T;
120
+ isAndroid(): boolean;
94
121
  /**
95
- * 最忌打乱数组顺序
96
- * @param arr
122
+ * 是否为数组类型
123
+ * @param obj 待检测的对象
124
+ * @returns 如果是数组类型返回 true,否则返回 false
97
125
  */
98
- shuffle<T>(arr: T[] | any): T[] | any;
126
+ isArray: typeof isArray;
99
127
  /**
100
- * 生成UUID
128
+ * 判断是否为空,支持对象、字符串、Map、Set、Array 等
129
+ * @param obj 待检测的对象
130
+ * @returns 如果为空返回 true,否则返回 false
101
131
  */
102
- uuid(): string;
132
+ isEmpty(obj: any): boolean;
103
133
  /**
104
- * 随机生成
134
+ * 判断是否为空白字符串
135
+ * @param str 待检测的字符串
136
+ * @returns 如果为空白字符串(null、undefined、空字符串或纯空白字符)返回 true
105
137
  */
106
- random: typeof random;
138
+ isBlank(str: any): boolean;
107
139
  /**
108
- * 数据进行分页
109
- * <pre>
110
- * // pageNo,从1开始, 如果指定 分页页码返回指定页码 的数据,默认返回全部数据
111
- * page([1,2,3,4,5,6,7,8,9,10], 3) // 返回 [[1,2,3],[4,5,6],[7,8,9],[10]]
112
- * page([1,2,3,4,5,6,7,8,9,10], 3, 3) // 返回 [[7,8,9]]
113
- * </pre>
114
- * @param arr 数据列表
115
- * @param pageSize 分页大小
116
- * @param pageNo 获取第几页的数据,从1开始,默认返回全部数据,如果指定 分页页码返回指定页码 的数据,
140
+ * 是否为 Base64 编码字符串
141
+ * @param str 待检测的字符串
142
+ * @returns 如果是 Base64 编码返回 true,否则返回 false
117
143
  */
118
- page<T = any>(arr: T[], pageSize: number, pageNo?: number): T[][];
144
+ isBase64: (str: any) => boolean;
119
145
  /**
120
- * 获取 URL 路径中的参数
121
- * @param url
122
- * @param key
146
+ * 是否为 Base64 图片格式
147
+ * @param str 待检测的字符串,格式如:data:image/png;base64,iVBORw0KGgo******
148
+ * @returns 如果是 Base64 图片格式返回 true,否则返回 false
123
149
  */
124
- getUrlParam(url: string, key: string): string | number | boolean | any;
150
+ isBase64Img(str: any): boolean;
125
151
  /**
126
- * 获取 URL 路径中的所有参数
127
- * @param url
152
+ * 判断字符串是否全部是中文
153
+ * @param chs 待检测的字符串
154
+ * @returns 如果全部是中文字符返回 true,否则返回 false
128
155
  */
129
- getUrlParams(url: string): QueryParams;
156
+ isChinese(chs: any_str): boolean;
130
157
  /**
131
- * 获取 URL 路径中的 search 值
132
- * @param url
158
+ * 判断对象是否为函数类型
159
+ * @param obj 待检测的对象
160
+ * @returns 如果是函数类型返回 true,否则返回 false
133
161
  */
162
+ isFunction: (obj: any) => boolean;
134
163
  /**
135
- * 给定uri 解析
136
- * @param source
137
- * @param strictMode 是否严格模式
164
+ * 判断是否为 URL(必须包含协议部分)
165
+ * @param str 待检测的字符串
166
+ * @returns 如果是有效 URL(如 http://baidu.com)返回 true,否则返回 false
138
167
  */
139
- parseUri(source: string | "", strictMode?: boolean): URI;
168
+ isUrl(str: any_str): boolean;
140
169
  /**
141
- * 解析url查询参数 并封装为 参数 对象
142
- * @param search
143
- * @param strictMode
170
+ * 判断是否为 HTTP 协议
171
+ * @param str URL 字符串
172
+ * @returns 如果是 HTTP 协议返回 true,否则返回 false
144
173
  */
145
- parseQuery(search: string | "", strictMode?: boolean): QueryParams;
174
+ isHttp(str: any): boolean;
146
175
  /**
147
- * 获取查询参数
148
- * @param search 查询参数,如果为空则会 从url 读取
149
- * @param allowFromLocation 允许从 location 上获取
176
+ * 判断是否为 HTTPS 协议
177
+ * @param str URL 字符串
178
+ * @returns 如果是 HTTPS 协议返回 true,否则返回 false
179
+ */
180
+ isHttps(str: any): boolean;
181
+ /**
182
+ * 判断是否为有效的身份证号码
183
+ * @param str 身份证号码
184
+ * @returns 如果是有效的身份证号码返回 true,否则返回 false
185
+ */
186
+ isIDCard(str: string): boolean;
187
+ /**
188
+ * 是否为 IPv6 地址
189
+ * @param s 待检测的字符串
190
+ * @returns 如果是 IPv6 地址返回 true,否则返回 false
191
+ */
192
+ isIPv6(s: any): boolean;
193
+ /**
194
+ * 是否为 IPv4 地址
195
+ * @param s 待检测的字符串
196
+ * @returns 如果是 IPv4 地址返回 true,否则返回 false
197
+ */
198
+ isIPv4(s: any): boolean;
199
+ /**
200
+ * 是否为 IP 地址(IPv4 或 IPv6)
201
+ * @param str 待检测的字符串
202
+ * @returns 如果是 IP 地址返回 true,否则返回 false
203
+ */
204
+ isIP(str: any): any;
205
+ /**
206
+ * 是否为闰年
207
+ * @param str 年份,yyyy 格式
208
+ * @returns 如果是闰年返回 true,否则返回 false
209
+ */
210
+ isLeapYear(str: number | string): boolean;
211
+ /**
212
+ * 是否为手机号码
213
+ * @param str 待检测的字符串
214
+ * @param country 国家编号,默认为 'cn'(中国),可选 'us'(美国)等
215
+ * @returns 如果是手机号码返回 true,否则返回 false
216
+ */
217
+ isMobile(str: any_str, country?: string | "cn"): boolean;
218
+ /**
219
+ * 是否为邮箱地址
220
+ * @param email 待检测的邮箱字符串
221
+ * @returns 如果是邮箱地址返回 true,否则返回 false
222
+ */
223
+ isEmail(email: string): boolean;
224
+ /**
225
+ * 校验是否包含非法字符(脚本内容)
226
+ * @param text 待检测的文本
227
+ * @returns 如果包含非法字符返回 true,否则返回 false
228
+ */
229
+ isScript(text: string): boolean;
230
+ /**
231
+ * 是否为 String 类型
232
+ * @param obj 待检测的对象
233
+ * @returns 如果是 String 类型返回 true,否则返回 false
234
+ */
235
+ isString(obj: any): boolean;
236
+ /**
237
+ * 判断对象是否为 true
238
+ * <pre>
239
+ * 内置 true 枚举值:[true, 1, "1", "true", "TRUE", "Y", 'y', "YES", "yes", "ON", "on", '是', '开']
240
+ * </pre>
241
+ * @param obj 待检测的对象
242
+ * @returns 如果满足 true 枚举值返回 true,否则返回 false
243
+ */
244
+ isTrue(obj: any): boolean;
245
+ /**
246
+ * 判断对象是否为 boolean 类型或布尔值字符串
247
+ * <pre>
248
+ * 内置 true 枚举值:[true, 1, "1", "true", "TRUE", "Y", 'y', "YES", "yes", "ON", "on", '是', '开']
249
+ * 内置 false 枚举值:[false, 0, "0", "false", "FALSE", "N", 'n', "NO", "no", "OFF", "off", '否', '关']
250
+ * </pre>
251
+ * 与 isTrue 的区别:
252
+ * <pre>
253
+ * 1、isTrue:满足内置 true 枚举值返回 true,否则返回 false
254
+ * 2、isBoolean:满足内置 true 或 false 枚举值中任意值返回 true,否则返回 false
255
+ * </pre>
256
+ * @param obj 待检测的对象
257
+ * @returns 如果是布尔类型或布尔值字符串返回 true,否则返回 false
258
+ */
259
+ isBoolean(obj: any): boolean;
260
+ /**
261
+ * 判断字符串是否为整数
262
+ * @param value 待检测的字符串
263
+ * @returns 如果是整数返回 true,否则返回 false
264
+ */
265
+ isInteger(value: any_str): boolean;
266
+ /**
267
+ * 判断字符串是否为数字格式
268
+ * @param str 待检测的字符串
269
+ * @returns 如果是数字格式返回 true,否则返回 false
270
+ */
271
+ isNumber(str: any): boolean;
272
+ /**
273
+ * 解析 URL 查询参数并封装为参数对象
274
+ * @param search URL 查询参数字符串
275
+ * @returns 查询参数对象
276
+ */
277
+ parseQuery(search: string | ""): QueryParams;
278
+ /**
279
+ * 解析 URI
280
+ * @param source URI 字符串
281
+ * @param strictMode 是否使用严格模式解析
282
+ * @returns 解析后的 URI 对象
150
283
  */
151
- getQueryParams(search?: string, allowFromLocation?: boolean): QueryParams;
284
+ parseUri(source: string | "", strictMode?: boolean): URI;
152
285
  /**
153
- * 新增参数到URL上
154
- * @param url url
286
+ * 新增参数到 URL
287
+ * @param url URL 字符串
155
288
  * @param key 参数名
156
289
  * @param value 参数值
157
- * @param override 是否覆盖原有参数,默认=false
158
- * @return new url
290
+ * @param override 是否覆盖原有参数,默认为 false
291
+ * @returns 新的 URL 字符串
159
292
  */
160
293
  addParamToURL(url: string, key: string, value: any, override?: boolean): string;
161
294
  /**
162
- * 新增参数到URL上
163
- * @param url url
295
+ * 新增参数对象到 URL
296
+ * @param url URL 字符串
164
297
  * @param params 参数对象
165
- * @param override 是否覆盖原有参数,默认=false
166
- * @return new url
298
+ * @param override 是否覆盖原有参数,默认为 false
299
+ * @returns 新的 URL 字符串
167
300
  */
168
301
  addParamObjToURL(url: string, params: Record<any, any> | object, override?: boolean): string;
169
302
  /**
170
- * 删除参数到URL
171
- * @param url url
172
- * @param keys 参数
173
- * @return new url
174
- **/
175
- removeParamFromURL(url: string, keys?: string[] | string): string;
176
- /**
177
- * 字符串是否全部是中文
178
- * @param obj
303
+ * URL 上删除参数
304
+ * @param url URL 字符串
305
+ * @param keys 要删除的参数名(字符串或数组)
306
+ * @returns 新的 URL 字符串
179
307
  */
180
- isChinese(obj: any_str): boolean;
308
+ removeParamFromURL(url: string, keys?: string[] | string): string;
181
309
  /**
182
- * 是否为数组类型
183
- * @param obj
310
+ * 随机打乱数组顺序
311
+ * @param arr 待打乱的数组
312
+ * @returns 打乱后的数组
184
313
  */
185
- isArray(obj: any): boolean;
314
+ shuffle: typeof shuffle;
186
315
  /**
187
- * 判断是否为空 支持对象 字符串,map set array 等
188
- * @param str
316
+ * 左填充内容
317
+ * @param str 基础字符串
318
+ * @param len 填充后的总长度
319
+ * @param ch 填充字符,默认为空格
320
+ * @returns 填充后的字符串
189
321
  */
190
- isEmpty(str: any): boolean;
322
+ lpad(str: any_str, len: number, ch?: string): any_str;
191
323
  /**
192
- * 判断是否为空
193
- * @param str
324
+ * 右填充内容
325
+ * @param str 基础字符串
326
+ * @param len 填充后的总长度
327
+ * @param ch 填充字符,默认为空格
328
+ * @returns 填充后的字符串
194
329
  */
195
- isBlank(str: any): boolean;
330
+ rpad(str: any_str, len: number, ch?: string): any_str;
196
331
  /**
197
- * 是否为手机号
198
- * @param str
199
- * @param contry 国家编号, 默认 cn,表示中国, us=美国
332
+ * 下划线转驼峰
333
+ * @param str 下划线格式的字符串
334
+ * @returns 驼峰格式的字符串
200
335
  */
201
- isMobile(str: any_str, contry?: string | 'cn'): boolean;
336
+ toCamelCase(str: any): any;
202
337
  /**
203
- * 判断是否是安卓设备
338
+ * 驼峰转下划线
339
+ * @param str 驼峰格式的字符串
340
+ * @param lowerCase 是否转为小写,默认为 true
341
+ * @returns 下划线格式的字符串
204
342
  */
205
- isAndroid(): boolean;
343
+ toUnderlineCase(str: any, lowerCase?: boolean): any;
206
344
  /**
207
- * 是否为闰年
208
- * @param str yyyy格式
345
+ * 去除字符串空白
346
+ * @param str 基础字符串
347
+ * @param flag 去除模式:0=去除左右空白,1=去除左边空白,2=去除右边空白,默认为 0
348
+ * @returns 去除空白后的字符串
209
349
  */
210
- isLeapYear(str: number | string): boolean;
350
+ trim<T = string>(str: T, flag?: TrimMode): any;
211
351
  /**
212
- * 校验非法字符
213
- * @param str
352
+ * 去除字符串左边的内容
353
+ * @param str 基础字符串
354
+ * @param prefix 要去除的左边内容,如果不指定则去除左边空白
355
+ * @returns 去除后的字符串
214
356
  */
215
- isScript(str: string): boolean;
357
+ trimLeft<T = string>(str: T, prefix?: string): T;
216
358
  /**
217
- * 判断是否为 身份证
218
- * @param obj
359
+ * 去除字符串右边的内容
360
+ * @param str 基础字符串
361
+ * @param suffix 要去除的右边内容,如果不指定则去除右边空白
362
+ * @returns 去除后的字符串
219
363
  */
220
- isIDCard(obj: string): boolean;
364
+ trimRight<T = string>(str: T, suffix?: string): T;
221
365
  /**
222
- * 从身份证获取年龄
223
- * @param obj
224
- */
225
- getAgeFromIDcard(obj: string): [year, moth, day] | [];
226
- /**
227
- * 判断是否为URL 这里只判断 str 必须有协议部分,比如:http://baidu.com 则返回true, //baidu.com 或者 baidu.com 返回false
228
- * @param str
366
+ * 获取对象类型
367
+ * <pre>
368
+ * 例如:
369
+ * type('123') 返回 'String'
370
+ * type(133) 返回 'Number'
371
+ * type([]) 返回 'Array'
372
+ * type() 返回 'Undefined'
373
+ * type(null) 返回 'Null'
374
+ * </pre>
375
+ * @param obj 待检测的对象
376
+ * @returns 对象类型字符串
229
377
  */
230
- isUrl(str: any_str): boolean;
378
+ type(obj: any): string;
231
379
  /**
232
- * 判断 是否为http
233
- * @param str
380
+ * 生成 32 位 UUID
381
+ * @returns UUID 字符串
234
382
  */
235
- isHttp(str: any_str): boolean;
383
+ uuid(): string;
236
384
  /**
237
- * 判断是否为 https
238
- * @param str
385
+ * 生成随机字符串
239
386
  */
240
- isHttps(str: any_str): boolean;
387
+ random: typeof random;
241
388
  /**
242
- * 是否为IP V6
243
- * @param str
389
+ * 数据分页
390
+ * <pre>
391
+ * 例如:
392
+ * page([1,2,3,4,5,6,7,8,9,10], 3) 返回 [[1,2,3],[4,5,6],[7,8,9],[10]]
393
+ * page([1,2,3,4,5,6,7,8,9,10], 3, 3) 返回 [[7,8,9]]
394
+ * </pre>
395
+ * @param arr 数据列表
396
+ * @param pageSize 分页大小
397
+ * @param pageNo 页码(从 1 开始),不指定则返回全部分页数据
398
+ * @returns 分页后的数组
244
399
  */
245
- isIPv6(str: any_str): boolean;
246
- isIPv4(str: any_str): boolean;
400
+ page(arr: any, pageSize: any, pageNo: any): any[];
247
401
  /**
248
- * 获取当前IP
249
- * @param str
250
- * @param v6
402
+ * 获取当前浏览器 DPI
403
+ * @returns DPI 值
251
404
  */
252
- isIP(str: any_str, v6?: boolean): boolean;
253
405
  getDPI(): number;
254
406
  /**
255
407
  * 毫米转像素
256
- * @param mm
257
- * @param dpi 默认使用当前电脑屏幕 dpi
408
+ * @param mm 毫米值
409
+ * @param dpi DPI 值,默认使用当前屏幕 DPI
410
+ * @returns 像素值
258
411
  */
259
412
  mm2px(mm: number, dpi?: number): number;
260
413
  /**
261
414
  * 像素转毫米
262
- * @param px
263
- * @param dpi 默认使用当前电脑 dpi
415
+ * @param px 像素值
416
+ * @param dpi DPI 值,默认使用当前屏幕 DPI
417
+ * @returns 毫米值
264
418
  */
265
419
  px2mm(px: number, dpi?: number): number;
266
420
  /**
267
- * 英寸转转像素
268
- * @param inc
269
- * @param dpi
421
+ * 英寸转像素
422
+ * @param inc 英寸值
423
+ * @param dpi DPI 值,默认使用当前屏幕 DPI
424
+ * @returns 像素值
270
425
  */
271
426
  in2px(inc: number, dpi: number): number;
272
427
  /**
273
428
  * 像素转英寸
274
- * @param px
275
- * @param dpi
429
+ * @param px 像素值
430
+ * @param dpi DPI 值,默认使用当前屏幕 DPI
431
+ * @returns 英寸值
276
432
  */
277
433
  px2in(px: number, dpi: number): number;
278
434
  /**
279
435
  * 英寸转毫米
280
- * @param inc
436
+ * @param inc 英寸值
437
+ * @returns 毫米值
281
438
  */
282
439
  in2mm(inc: number): number;
283
440
  /**
284
441
  * 毫米转英寸
285
- * @param mm
442
+ * @param mm 毫米值
443
+ * @returns 英寸值
286
444
  */
287
445
  mm2in(mm: number): number;
288
446
  /**
289
- * 获取 innerText
290
- * @param str
447
+ * 获取 innerText(去除 HTML 标签)
448
+ * @param str HTML 字符串
449
+ * @returns 去除 HTML 标签后的纯文本
291
450
  */
292
451
  getInnerText(str: string): string;
452
+ /**
453
+ * 克隆对象(深拷贝)
454
+ * @param obj 待克隆的对象
455
+ * @param deep 是否深拷贝,默认 true
456
+ * @returns 克隆后的对象
457
+ * @example
458
+ * // 深拷贝对象
459
+ * const cloned = Utils.clone({ a: 1, b: { c: 2 } });
460
+ *
461
+ * // 浅拷贝
462
+ * const shallow = Utils.clone({ a: 1, b: { c: 2 } }, false);
463
+ *
464
+ * // 克隆数组
465
+ * const arr = Utils.clone([1, 2, { x: 3 }]);
466
+ *
467
+ * // 克隆 Date
468
+ * const date = Utils.clone(new Date());
469
+ *
470
+ * // 克隆 Map/Set
471
+ * const map = Utils.clone(new Map([['a', 1]]));
472
+ * const set = Utils.clone(new Set([1, 2, 3]));
473
+ */
474
+ clone<T>(obj: T, deep?: boolean): T;
293
475
  };
294
- /**
295
- * 随机生成UUID
296
- * @param len 长度
297
- */
298
- export declare function uuid(len: number): string;
299
- export declare function isArrayLike(obj: any): boolean;
300
- export declare function isArray(obj: any): boolean;
301
- export declare function shuffle<T>(arr: any): any;
302
- /**
303
- * 获取随机数, 默认 字母+数组
304
- * @param len 随机数长度
305
- * @param typeOrSource 随机数类型:1=字母+数字, 2=数字 , 3=字母,或者自定义数据源
306
- */
307
- export declare function random(len?: number, typeOrSource?: RandomTypeOrSource): string;
308
- declare const _Utils_: Utils;
309
476
  export default _Utils_;
477
+ export declare type Utils = typeof _Utils_;