@pawover/kit 0.1.1 → 0.2.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/package.json +21 -20
- package/packages/hooks/dist/react.d.ts +1 -1
- package/packages/hooks/dist/react.js +283 -772
- package/packages/utils/dist/index.d.ts +23 -7
- package/packages/utils/dist/index.js +390 -276
- package/packages/utils/dist/math.js +1 -1
- package/packages/utils/dist/{string-p6hZ1Mjb.js → stringUtil-DbYpnL4l.js} +75 -95
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { n as TypeUtil,
|
|
1
|
+
import { n as TypeUtil, t as StringUtil } from "./stringUtil-DbYpnL4l.js";
|
|
2
2
|
//#region src/array/arrayUtil.ts
|
|
3
3
|
/**
|
|
4
4
|
* 数组工具类
|
|
@@ -99,7 +99,7 @@ var ArrayUtil = class {
|
|
|
99
99
|
static merge(initialList, mergeList, match) {
|
|
100
100
|
if (!TypeUtil.isArray(initialList)) return [];
|
|
101
101
|
if (!TypeUtil.isArray(mergeList)) return [...initialList];
|
|
102
|
-
if (!TypeUtil.isFunction(match)) return Array.from(new Set([...initialList, ...mergeList]));
|
|
102
|
+
if (!TypeUtil.isFunction(match)) return Array.from(/* @__PURE__ */ new Set([...initialList, ...mergeList]));
|
|
103
103
|
const keys = /* @__PURE__ */ new Map();
|
|
104
104
|
mergeList.forEach((item, index) => {
|
|
105
105
|
keys.set(match(item, index), item);
|
|
@@ -237,11 +237,148 @@ var ArrayUtil = class {
|
|
|
237
237
|
};
|
|
238
238
|
//#endregion
|
|
239
239
|
//#region src/dateTime/dateTimeUtil.ts
|
|
240
|
-
var _DateTimeUtil;
|
|
241
240
|
/**
|
|
242
241
|
* 日期工具类
|
|
243
242
|
*/
|
|
244
243
|
var DateTimeUtil = class {
|
|
244
|
+
/**
|
|
245
|
+
* 每秒的毫秒数
|
|
246
|
+
* @example
|
|
247
|
+
* ```ts
|
|
248
|
+
* DateTimeUtil.MILLISECONDS_PER_SECOND; // 1000
|
|
249
|
+
* ```
|
|
250
|
+
*/
|
|
251
|
+
static MILLISECONDS_PER_SECOND = 1e3;
|
|
252
|
+
/**
|
|
253
|
+
* 每分钟的秒数
|
|
254
|
+
* @example
|
|
255
|
+
* ```ts
|
|
256
|
+
* DateTimeUtil.SECOND_PER_MINUTE; // 60
|
|
257
|
+
* ```
|
|
258
|
+
*/
|
|
259
|
+
static SECOND_PER_MINUTE = 60;
|
|
260
|
+
/**
|
|
261
|
+
* 每小时的分钟数
|
|
262
|
+
* @example
|
|
263
|
+
* ```ts
|
|
264
|
+
* DateTimeUtil.MINUTE_PER_HOUR; // 60
|
|
265
|
+
* ```
|
|
266
|
+
*/
|
|
267
|
+
static MINUTE_PER_HOUR = 60;
|
|
268
|
+
/**
|
|
269
|
+
* 每小时的秒数
|
|
270
|
+
* @example
|
|
271
|
+
* ```ts
|
|
272
|
+
* DateTimeUtil.SECOND_PER_HOUR; // 3600
|
|
273
|
+
* ```
|
|
274
|
+
*/
|
|
275
|
+
static SECOND_PER_HOUR = this.SECOND_PER_MINUTE ** 2;
|
|
276
|
+
/**
|
|
277
|
+
* 每天小时数
|
|
278
|
+
* @example
|
|
279
|
+
* ```ts
|
|
280
|
+
* DateTimeUtil.HOUR_PER_DAY; // 24
|
|
281
|
+
* ```
|
|
282
|
+
*/
|
|
283
|
+
static HOUR_PER_DAY = 24;
|
|
284
|
+
/**
|
|
285
|
+
* 每天秒数
|
|
286
|
+
* @example
|
|
287
|
+
* ```ts
|
|
288
|
+
* DateTimeUtil.SECOND_PER_DAY; // 86400
|
|
289
|
+
* ```
|
|
290
|
+
*/
|
|
291
|
+
static SECOND_PER_DAY = this.SECOND_PER_HOUR * this.HOUR_PER_DAY;
|
|
292
|
+
/**
|
|
293
|
+
* 每周天数
|
|
294
|
+
* @example
|
|
295
|
+
* ```ts
|
|
296
|
+
* DateTimeUtil.DAY_PER_WEEK; // 7
|
|
297
|
+
* ```
|
|
298
|
+
*/
|
|
299
|
+
static DAY_PER_WEEK = 7;
|
|
300
|
+
/**
|
|
301
|
+
* 每月天数
|
|
302
|
+
* @example
|
|
303
|
+
* ```ts
|
|
304
|
+
* DateTimeUtil.DAY_PER_MONTH; // 30
|
|
305
|
+
* ```
|
|
306
|
+
*/
|
|
307
|
+
static DAY_PER_MONTH = 30;
|
|
308
|
+
/**
|
|
309
|
+
* 每年天数
|
|
310
|
+
* @example
|
|
311
|
+
* ```ts
|
|
312
|
+
* DateTimeUtil.DAY_PER_YEAR; // 365
|
|
313
|
+
* ```
|
|
314
|
+
*/
|
|
315
|
+
static DAY_PER_YEAR = 365;
|
|
316
|
+
/**
|
|
317
|
+
* 每年月数
|
|
318
|
+
* @example
|
|
319
|
+
* ```ts
|
|
320
|
+
* DateTimeUtil.MONTH_PER_YEAR; // 12
|
|
321
|
+
* ```
|
|
322
|
+
*/
|
|
323
|
+
static MONTH_PER_YEAR = 12;
|
|
324
|
+
/**
|
|
325
|
+
* 每年平均周
|
|
326
|
+
* @example
|
|
327
|
+
* ```ts
|
|
328
|
+
* DateTimeUtil.WEEK_PER_YEAR; // 52
|
|
329
|
+
* ```
|
|
330
|
+
*/
|
|
331
|
+
static WEEK_PER_YEAR = 52;
|
|
332
|
+
/**
|
|
333
|
+
* 每月平均周
|
|
334
|
+
* @example
|
|
335
|
+
* ```ts
|
|
336
|
+
* DateTimeUtil.WEEK_PER_MONTH; // 4
|
|
337
|
+
* ```
|
|
338
|
+
*/
|
|
339
|
+
static WEEK_PER_MONTH = 4;
|
|
340
|
+
/**
|
|
341
|
+
* 常用时间格式模板集合
|
|
342
|
+
*
|
|
343
|
+
* @example
|
|
344
|
+
* ```ts
|
|
345
|
+
* DateTimeUtil.FORMAT.ISO_DATE; // "yyyy-MM-dd"
|
|
346
|
+
* DateTimeUtil.FORMAT.CN_DATE_TIME; // "yyyy年MM月dd日 HH时mm分ss秒"
|
|
347
|
+
* ```
|
|
348
|
+
*/
|
|
349
|
+
static FORMAT = {
|
|
350
|
+
ISO_DATE: "yyyy-MM-dd",
|
|
351
|
+
ISO_TIME: "HH:mm:ss",
|
|
352
|
+
ISO_DATE_TIME: "yyyy-MM-dd HH:mm:ss",
|
|
353
|
+
ISO_DATE_TIME_MS: "yyyy-MM-dd HH:mm:ss.SSS",
|
|
354
|
+
ISO_DATETIME_TZ: "yyyy-MM-dd'T'HH:mm:ssXXX",
|
|
355
|
+
ISO_DATETIME_TZ_MS: "yyyy-MM-dd'T'HH:mm:ss.SSSXXX",
|
|
356
|
+
US_DATE: "MM/dd/yyyy",
|
|
357
|
+
US_DATE_TIME: "MM/dd/yyyy HH:mm:ss",
|
|
358
|
+
US_DATE_SHORT_YEAR: "MM/dd/yy",
|
|
359
|
+
EU_DATE: "dd/MM/yyyy",
|
|
360
|
+
EU_DATE_TIME: "dd/MM/yyyy HH:mm:ss",
|
|
361
|
+
CN_DATE: "yyyy年MM月dd日",
|
|
362
|
+
CN_DATE_TIME: "yyyy年MM月dd日 HH时mm分ss秒",
|
|
363
|
+
CN_DATE_WEEKDAY: "yyyy年MM月dd日 EEE",
|
|
364
|
+
CN_WEEKDAY_FULL: "EEEE",
|
|
365
|
+
SHORT_DATE: "yy-MM-dd",
|
|
366
|
+
SHORT_DATE_SLASH: "yy/MM/dd",
|
|
367
|
+
MONTH_DAY: "MM-dd",
|
|
368
|
+
MONTH_DAY_CN: "MM月dd日",
|
|
369
|
+
DATE_WITH_WEEKDAY_SHORT: "yyyy-MM-dd (EEE)",
|
|
370
|
+
DATE_WITH_WEEKDAY_FULL: "yyyy-MM-dd (EEEE)",
|
|
371
|
+
TIME_24: "HH:mm:ss",
|
|
372
|
+
TIME_24_NO_SEC: "HH:mm",
|
|
373
|
+
TIME_12: "hh:mm:ss a",
|
|
374
|
+
TIME_12_NO_SEC: "hh:mm a",
|
|
375
|
+
TIMESTAMP: "yyyyMMddHHmmss",
|
|
376
|
+
TIMESTAMP_MS: "yyyyMMddHHmmssSSS",
|
|
377
|
+
RFC2822: "EEE, dd MMM yyyy HH:mm:ss xxx",
|
|
378
|
+
READABLE_DATE: "MMM dd, yyyy",
|
|
379
|
+
READABLE_DATE_TIME: "MMM dd, yyyy HH:mm",
|
|
380
|
+
COMPACT_DATETIME: "yyyyMMdd_HHmmss"
|
|
381
|
+
};
|
|
245
382
|
/**
|
|
246
383
|
* 获取当前时区信息
|
|
247
384
|
*
|
|
@@ -259,58 +396,15 @@ var DateTimeUtil = class {
|
|
|
259
396
|
};
|
|
260
397
|
}
|
|
261
398
|
};
|
|
262
|
-
_DateTimeUtil = DateTimeUtil;
|
|
263
|
-
_defineProperty(DateTimeUtil, "MILLISECONDS_PER_SECOND", 1e3);
|
|
264
|
-
_defineProperty(DateTimeUtil, "SECOND_PER_MINUTE", 60);
|
|
265
|
-
_defineProperty(DateTimeUtil, "MINUTE_PER_HOUR", 60);
|
|
266
|
-
_defineProperty(DateTimeUtil, "SECOND_PER_HOUR", _DateTimeUtil.SECOND_PER_MINUTE ** 2);
|
|
267
|
-
_defineProperty(DateTimeUtil, "HOUR_PER_DAY", 24);
|
|
268
|
-
_defineProperty(DateTimeUtil, "SECOND_PER_DAY", _DateTimeUtil.SECOND_PER_HOUR * _DateTimeUtil.HOUR_PER_DAY);
|
|
269
|
-
_defineProperty(DateTimeUtil, "DAY_PER_WEEK", 7);
|
|
270
|
-
_defineProperty(DateTimeUtil, "DAY_PER_MONTH", 30);
|
|
271
|
-
_defineProperty(DateTimeUtil, "DAY_PER_YEAR", 365);
|
|
272
|
-
_defineProperty(DateTimeUtil, "MONTH_PER_YEAR", 12);
|
|
273
|
-
_defineProperty(DateTimeUtil, "WEEK_PER_YEAR", 52);
|
|
274
|
-
_defineProperty(DateTimeUtil, "WEEK_PER_MONTH", 4);
|
|
275
|
-
_defineProperty(DateTimeUtil, "FORMAT", {
|
|
276
|
-
ISO_DATE: "yyyy-MM-dd",
|
|
277
|
-
ISO_TIME: "HH:mm:ss",
|
|
278
|
-
ISO_DATE_TIME: "yyyy-MM-dd HH:mm:ss",
|
|
279
|
-
ISO_DATE_TIME_MS: "yyyy-MM-dd HH:mm:ss.SSS",
|
|
280
|
-
ISO_DATETIME_TZ: "yyyy-MM-dd'T'HH:mm:ssXXX",
|
|
281
|
-
ISO_DATETIME_TZ_MS: "yyyy-MM-dd'T'HH:mm:ss.SSSXXX",
|
|
282
|
-
US_DATE: "MM/dd/yyyy",
|
|
283
|
-
US_DATE_TIME: "MM/dd/yyyy HH:mm:ss",
|
|
284
|
-
US_DATE_SHORT_YEAR: "MM/dd/yy",
|
|
285
|
-
EU_DATE: "dd/MM/yyyy",
|
|
286
|
-
EU_DATE_TIME: "dd/MM/yyyy HH:mm:ss",
|
|
287
|
-
CN_DATE: "yyyy年MM月dd日",
|
|
288
|
-
CN_DATE_TIME: "yyyy年MM月dd日 HH时mm分ss秒",
|
|
289
|
-
CN_DATE_WEEKDAY: "yyyy年MM月dd日 EEE",
|
|
290
|
-
CN_WEEKDAY_FULL: "EEEE",
|
|
291
|
-
SHORT_DATE: "yy-MM-dd",
|
|
292
|
-
SHORT_DATE_SLASH: "yy/MM/dd",
|
|
293
|
-
MONTH_DAY: "MM-dd",
|
|
294
|
-
MONTH_DAY_CN: "MM月dd日",
|
|
295
|
-
DATE_WITH_WEEKDAY_SHORT: "yyyy-MM-dd (EEE)",
|
|
296
|
-
DATE_WITH_WEEKDAY_FULL: "yyyy-MM-dd (EEEE)",
|
|
297
|
-
TIME_24: "HH:mm:ss",
|
|
298
|
-
TIME_24_NO_SEC: "HH:mm",
|
|
299
|
-
TIME_12: "hh:mm:ss a",
|
|
300
|
-
TIME_12_NO_SEC: "hh:mm a",
|
|
301
|
-
TIMESTAMP: "yyyyMMddHHmmss",
|
|
302
|
-
TIMESTAMP_MS: "yyyyMMddHHmmssSSS",
|
|
303
|
-
RFC2822: "EEE, dd MMM yyyy HH:mm:ss xxx",
|
|
304
|
-
READABLE_DATE: "MMM dd, yyyy",
|
|
305
|
-
READABLE_DATE_TIME: "MMM dd, yyyy HH:mm",
|
|
306
|
-
COMPACT_DATETIME: "yyyyMMdd_HHmmss"
|
|
307
|
-
});
|
|
308
399
|
//#endregion
|
|
309
400
|
//#region src/env/envUtil.ts
|
|
310
401
|
/**
|
|
311
402
|
* 环境检查工具类
|
|
312
403
|
*/
|
|
313
404
|
var EnvUtil = class {
|
|
405
|
+
static _isBrowser = typeof window !== "undefined" && TypeUtil.isFunction(window?.document?.createElement);
|
|
406
|
+
static _isWebWorker = typeof window === "undefined" && typeof self !== "undefined" && "importScripts" in self;
|
|
407
|
+
static _isReactNative = typeof navigator !== "undefined" && navigator.product === "ReactNative";
|
|
314
408
|
/**
|
|
315
409
|
* 检测是否处于浏览器环境
|
|
316
410
|
*
|
|
@@ -501,9 +595,6 @@ var EnvUtil = class {
|
|
|
501
595
|
}
|
|
502
596
|
}
|
|
503
597
|
};
|
|
504
|
-
_defineProperty(EnvUtil, "_isBrowser", typeof window !== "undefined" && TypeUtil.isFunction(window?.document?.createElement));
|
|
505
|
-
_defineProperty(EnvUtil, "_isWebWorker", typeof window === "undefined" && typeof self !== "undefined" && "importScripts" in self);
|
|
506
|
-
_defineProperty(EnvUtil, "_isReactNative", typeof navigator !== "undefined" && navigator.product === "ReactNative");
|
|
507
598
|
//#endregion
|
|
508
599
|
//#region src/function/functionUtil.ts
|
|
509
600
|
/**
|
|
@@ -576,9 +667,8 @@ var FunctionUtil = class {
|
|
|
576
667
|
* ```
|
|
577
668
|
*/
|
|
578
669
|
static toArgs(args, start) {
|
|
579
|
-
if (args === null) throw new TypeError(`function [toArgs] Expected parameter [args] to be a arguments object, got ${typeof args}`);
|
|
580
|
-
|
|
581
|
-
return TypeUtil.isNumber(start) ? array.slice(start) : array;
|
|
670
|
+
if (args === null || args === void 0) throw new TypeError(`function [toArgs] Expected parameter [args] to be a arguments object, got ${typeof args}`);
|
|
671
|
+
return Array.prototype.slice.call(args, start);
|
|
582
672
|
}
|
|
583
673
|
/**
|
|
584
674
|
* 将同步或异步函数统一包装为 Promise
|
|
@@ -612,181 +702,186 @@ var FunctionUtil = class {
|
|
|
612
702
|
/**
|
|
613
703
|
* MIME 工具类
|
|
614
704
|
*/
|
|
615
|
-
var MimeUtil = class {
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
705
|
+
var MimeUtil = class {
|
|
706
|
+
/**
|
|
707
|
+
* 标准 MIME 类型常量,用于文件类型标识和 HTTP Content-Type 头部
|
|
708
|
+
* 基于 IANA 注册标准和浏览器兼容性验证
|
|
709
|
+
*/
|
|
710
|
+
static MIME = {
|
|
711
|
+
/** 普通文本文件 */
|
|
712
|
+
TEXT: "text/plain",
|
|
713
|
+
/** 超文本标记语言文档 */
|
|
714
|
+
HTML: "text/html",
|
|
715
|
+
/** 层叠样式表文件 */
|
|
716
|
+
CSS: "text/css",
|
|
717
|
+
/** 逗号分隔值文件(表格数据) */
|
|
718
|
+
CSV: "text/csv",
|
|
719
|
+
/** 制表符分隔值文件 */
|
|
720
|
+
TSV: "text/tab-separated-values",
|
|
721
|
+
/** XML 文档 */
|
|
722
|
+
XML: "text/xml",
|
|
723
|
+
/** XHTML 文档(XML 严格格式的 HTML) */
|
|
724
|
+
XHTML: "application/xhtml+xml",
|
|
725
|
+
/** JavaScript 文件 */
|
|
726
|
+
JS: "text/javascript",
|
|
727
|
+
/** TypeScript 文件 */
|
|
728
|
+
TS: "text/typescript",
|
|
729
|
+
/** Python 文件 */
|
|
730
|
+
PY: "text/x-python",
|
|
731
|
+
/** Shell 脚本 (.sh) */
|
|
732
|
+
SH: "text/x-sh",
|
|
733
|
+
/** C 语言源文件 */
|
|
734
|
+
C: "text/x-c",
|
|
735
|
+
/** C++ 源文件 */
|
|
736
|
+
CPP: "text/x-c++",
|
|
737
|
+
/** C# 源文件 */
|
|
738
|
+
CSHARP: "text/x-csharp",
|
|
739
|
+
/** Java 源文件 */
|
|
740
|
+
JAVA: "text/x-java",
|
|
741
|
+
/** Go 源文件 */
|
|
742
|
+
GO: "text/x-go",
|
|
743
|
+
/** Rust 源文件 */
|
|
744
|
+
RUST: "text/x-rust",
|
|
745
|
+
/** PHP 文件 */
|
|
746
|
+
PHP: "text/x-php",
|
|
747
|
+
/** Ruby 文件 */
|
|
748
|
+
RUBY: "text/x-ruby",
|
|
749
|
+
/** Swift 源文件 */
|
|
750
|
+
SWIFT: "text/x-swift",
|
|
751
|
+
/** YAML 文档 */
|
|
752
|
+
YAML: "text/vnd.yaml",
|
|
753
|
+
/** TOML 文档 */
|
|
754
|
+
TOML: "text/x-toml",
|
|
755
|
+
/** SQL 脚本 */
|
|
756
|
+
SQL: "text/x-sql",
|
|
757
|
+
/** Markdown 格式文档 */
|
|
758
|
+
MARKDOWN: "text/markdown",
|
|
759
|
+
/** 富文本格式文档(.rtf) */
|
|
760
|
+
RTF: "application/rtf",
|
|
761
|
+
/** iCalendar 日历格式(.ics) */
|
|
762
|
+
CALENDAR: "text/calendar",
|
|
763
|
+
/** JPEG 图像(.jpg/.jpeg) */
|
|
764
|
+
JPEG: "image/jpeg",
|
|
765
|
+
/** PNG 图像(无损压缩,支持透明) */
|
|
766
|
+
PNG: "image/png",
|
|
767
|
+
/** GIF 图像(支持动画) */
|
|
768
|
+
GIF: "image/gif",
|
|
769
|
+
/** Windows 位图(.bmp) */
|
|
770
|
+
BMP: "image/bmp",
|
|
771
|
+
/** SVG 向量图形(.svg) */
|
|
772
|
+
SVG: "image/svg+xml",
|
|
773
|
+
/** APNG 动态图像(.apng) */
|
|
774
|
+
APNG: "image/apng",
|
|
775
|
+
/** AVIF 图像(高效压缩) */
|
|
776
|
+
AVIF: "image/avif",
|
|
777
|
+
/** 图标文件格式(.ico) */
|
|
778
|
+
ICO: "image/vnd.microsoft.icon",
|
|
779
|
+
/** WebP 图像(高效压缩) */
|
|
780
|
+
WEBP: "image/webp",
|
|
781
|
+
/** TIFF 图像(.tif/.tiff) */
|
|
782
|
+
TIFF: "image/tiff",
|
|
783
|
+
/** HEIC 图像(高效编码) */
|
|
784
|
+
HEIC: "image/heic",
|
|
785
|
+
/** Adobe Photoshop 文件(.psd) */
|
|
786
|
+
PSD: "image/vnd.adobe.photoshop",
|
|
787
|
+
/** MP3 音频(.mp3) */
|
|
788
|
+
MP3: "audio/mpeg",
|
|
789
|
+
/** AAC 音频(.aac) */
|
|
790
|
+
AAC: "audio/aac",
|
|
791
|
+
/** MIDI 音乐文件(.mid/.midi) */
|
|
792
|
+
MIDI: "audio/midi",
|
|
793
|
+
/** OGG 音频(.oga) */
|
|
794
|
+
OGG_AUDIO: "audio/ogg",
|
|
795
|
+
/** Opus 音频(.opus) */
|
|
796
|
+
OPUS: "audio/opus",
|
|
797
|
+
/** WAV 音频(.wav) */
|
|
798
|
+
WAV: "audio/wav",
|
|
799
|
+
/** RealAudio 音频(.ra/.ram) */
|
|
800
|
+
REAL_AUDIO: "audio/x-pn-realaudio",
|
|
801
|
+
/** MP4 视频(.mp4) */
|
|
802
|
+
MP4: "video/mp4",
|
|
803
|
+
/** MPEG 视频(.mpeg/.mpg) */
|
|
804
|
+
MPEG: "video/mpeg",
|
|
805
|
+
/** OGG 视频(.ogv) */
|
|
806
|
+
OGG_VIDEO: "video/ogg",
|
|
807
|
+
/** AVI 视频(.avi) */
|
|
808
|
+
AVI: "video/x-msvideo",
|
|
809
|
+
/** 3GPP 视频(.3gp) */
|
|
810
|
+
THREE_GPP: "video/3gpp",
|
|
811
|
+
/** 3GPP2 视频(.3g2) */
|
|
812
|
+
THREE_GPP2: "video/3gpp2",
|
|
813
|
+
/** WebM 视频(.webm) */
|
|
814
|
+
WEBM: "video/webm",
|
|
815
|
+
/** PDF 文档 */
|
|
816
|
+
PDF: "application/pdf",
|
|
817
|
+
/** Word 97-2003 文档(.doc) */
|
|
818
|
+
DOC: "application/msword",
|
|
819
|
+
/** Word 2007+ 文档(.docx) */
|
|
820
|
+
DOCX: "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
|
|
821
|
+
/** Excel 2007+ 工作簿(.xlsx) */
|
|
822
|
+
XLSX: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
|
|
823
|
+
/** 启用宏的Excel工作簿(.xlsm) */
|
|
824
|
+
XLSM: "application/vnd.ms-excel.sheet.macroEnabled.12",
|
|
825
|
+
/** Excel模板文件(.xltx) */
|
|
826
|
+
XLTX: "application/vnd.openxmlformats-officedocument.spreadsheetml.template",
|
|
827
|
+
/** PowerPoint 2007+ 演示文稿(.pptx) */
|
|
828
|
+
PPTX: "application/vnd.openxmlformats-officedocument.presentationml.presentation",
|
|
829
|
+
/** PowerPoint 97-2003 演示文稿(.ppt) */
|
|
830
|
+
PPT: "application/vnd.ms-powerpoint",
|
|
831
|
+
/** OpenDocument 文本文档(.odt) */
|
|
832
|
+
ODT: "application/vnd.oasis.opendocument.text",
|
|
833
|
+
/** OpenDocument 表格文档(.ods) */
|
|
834
|
+
ODS: "application/vnd.oasis.opendocument.spreadsheet",
|
|
835
|
+
/** OpenDocument 演示文稿(.odp) */
|
|
836
|
+
ODP: "application/vnd.oasis.opendocument.presentation",
|
|
837
|
+
/** EPUB 电子书(.epub) */
|
|
838
|
+
EPUB: "application/epub+zip",
|
|
839
|
+
/** Kindle 电子书(.azw) */
|
|
840
|
+
AZW: "application/vnd.amazon.ebook",
|
|
841
|
+
/** ZIP 压缩文件(.zip) */
|
|
842
|
+
ZIP: "application/zip",
|
|
843
|
+
/** GZIP 压缩文件(.gz) */
|
|
844
|
+
GZIP: "application/gzip",
|
|
845
|
+
/** GZIP 压缩文件(旧格式) */
|
|
846
|
+
X_GZIP: "application/x-gzip",
|
|
847
|
+
/** TAR 归档文件(.tar) */
|
|
848
|
+
TAR: "application/x-tar",
|
|
849
|
+
/** BZip 归档(.bz) */
|
|
850
|
+
BZIP: "application/x-bzip",
|
|
851
|
+
/** BZip2 归档(.bz2) */
|
|
852
|
+
BZIP2: "application/x-bzip2",
|
|
853
|
+
/** 7-Zip 压缩文件(.7z) */
|
|
854
|
+
SEVEN_Z: "application/x-7z-compressed",
|
|
855
|
+
/** RAR 压缩文件(.rar) */
|
|
856
|
+
RAR: "application/vnd.rar",
|
|
857
|
+
/** 通用二进制数据(默认类型) */
|
|
858
|
+
OCTET_STREAM: "application/octet-stream",
|
|
859
|
+
/** JSON 数据格式(.json) */
|
|
860
|
+
JSON: "application/json",
|
|
861
|
+
/** JSON-LD 格式(.jsonld) */
|
|
862
|
+
LD_JSON: "application/ld+json",
|
|
863
|
+
/** Java 归档文件(.jar) */
|
|
864
|
+
JAR: "application/java-archive",
|
|
865
|
+
/** WebAssembly 二进制指令格式(.wasm) */
|
|
866
|
+
WASM: "application/wasm",
|
|
867
|
+
/** MS 嵌入式 OpenType 字体(.eot) */
|
|
868
|
+
EOT: "application/vnd.ms-fontobject",
|
|
869
|
+
/** OpenType 字体(.otf) */
|
|
870
|
+
OTF: "font/otf",
|
|
871
|
+
/** WOFF 字体(.woff) */
|
|
872
|
+
WOFF: "font/woff",
|
|
873
|
+
/** WOFF2 字体(.woff2) */
|
|
874
|
+
WOFF2: "font/woff2",
|
|
875
|
+
/** TrueType 字体(.ttf) */
|
|
876
|
+
TTF: "font/ttf",
|
|
877
|
+
/** Excel 97-2003 工作簿(.xls) */
|
|
878
|
+
XLS: "application/vnd.ms-excel",
|
|
879
|
+
/** Microsoft XPS 文档(.xps) */
|
|
880
|
+
XPS: "application/vnd.ms-xpsdocument",
|
|
881
|
+
/** Word 启用宏文档(.docm) */
|
|
882
|
+
DOCM: "application/vnd.ms-word.document.macroEnabled.12"
|
|
883
|
+
};
|
|
884
|
+
};
|
|
790
885
|
//#endregion
|
|
791
886
|
//#region src/number/numberUtil.ts
|
|
792
887
|
/**
|
|
@@ -851,7 +946,7 @@ var ObjectUtil = class {
|
|
|
851
946
|
*/
|
|
852
947
|
static entriesMap(plainObject, toEntry) {
|
|
853
948
|
const defaultResult = {};
|
|
854
|
-
if (!TypeUtil.
|
|
949
|
+
if (!TypeUtil.isPlainObject(plainObject)) return defaultResult;
|
|
855
950
|
return this.entries(plainObject).reduce((acc, [key, value]) => {
|
|
856
951
|
const [newKey, newValue] = toEntry(key, value);
|
|
857
952
|
acc[newKey] = newValue;
|
|
@@ -860,7 +955,7 @@ var ObjectUtil = class {
|
|
|
860
955
|
}
|
|
861
956
|
static pick(obj, keys) {
|
|
862
957
|
const result = {};
|
|
863
|
-
if (!TypeUtil.
|
|
958
|
+
if (!TypeUtil.isPlainObject(obj)) return result;
|
|
864
959
|
if (!TypeUtil.isArray(keys)) return obj;
|
|
865
960
|
return keys.reduce((acc, key) => {
|
|
866
961
|
if (key in obj) acc[key] = obj[key];
|
|
@@ -869,7 +964,7 @@ var ObjectUtil = class {
|
|
|
869
964
|
}
|
|
870
965
|
static omit(obj, keys) {
|
|
871
966
|
const result = {};
|
|
872
|
-
if (!TypeUtil.
|
|
967
|
+
if (!TypeUtil.isPlainObject(obj)) return result;
|
|
873
968
|
if (!TypeUtil.isArray(keys)) return obj;
|
|
874
969
|
const keysToOmit = new Set(keys);
|
|
875
970
|
return Object.keys(obj).reduce((acc, key) => {
|
|
@@ -879,14 +974,14 @@ var ObjectUtil = class {
|
|
|
879
974
|
}
|
|
880
975
|
static invert(obj) {
|
|
881
976
|
const result = {};
|
|
882
|
-
if (!TypeUtil.
|
|
977
|
+
if (!TypeUtil.isPlainObject(obj)) return result;
|
|
883
978
|
for (const [k, v] of this.entries(obj)) if (TypeUtil.isString(v) || TypeUtil.isNumber(v) || TypeUtil.isSymbol(v)) result[v] = k;
|
|
884
979
|
return result;
|
|
885
980
|
}
|
|
886
981
|
static crush(obj) {
|
|
887
982
|
if (!obj) return {};
|
|
888
983
|
function crushReducer(crushed, value, path) {
|
|
889
|
-
if (TypeUtil.
|
|
984
|
+
if (TypeUtil.isPlainObject(value) || TypeUtil.isArray(value)) for (const [prop, propValue] of Object.entries(value)) crushReducer(crushed, propValue, path ? `${path}.${prop}` : prop);
|
|
890
985
|
else crushed[path] = value;
|
|
891
986
|
return crushed;
|
|
892
987
|
}
|
|
@@ -919,16 +1014,35 @@ var ObjectUtil = class {
|
|
|
919
1014
|
/**
|
|
920
1015
|
* 主题工具类
|
|
921
1016
|
*/
|
|
922
|
-
var ThemeUtil = class {
|
|
923
|
-
|
|
924
|
-
|
|
925
|
-
|
|
926
|
-
|
|
927
|
-
|
|
928
|
-
LIGHT
|
|
929
|
-
DARK
|
|
930
|
-
|
|
931
|
-
|
|
1017
|
+
var ThemeUtil = class {
|
|
1018
|
+
/**
|
|
1019
|
+
* 固定主题类型(仅亮色/暗色)
|
|
1020
|
+
*
|
|
1021
|
+
* @example
|
|
1022
|
+
* ```ts
|
|
1023
|
+
* ThemeUtil.THEME.LIGHT; // "light"
|
|
1024
|
+
* ThemeUtil.THEME.DARK; // "dark"
|
|
1025
|
+
* ```
|
|
1026
|
+
*/
|
|
1027
|
+
static THEME = {
|
|
1028
|
+
LIGHT: "light",
|
|
1029
|
+
DARK: "dark"
|
|
1030
|
+
};
|
|
1031
|
+
/**
|
|
1032
|
+
* 主题模式(支持跟随系统)
|
|
1033
|
+
*
|
|
1034
|
+
* @example
|
|
1035
|
+
* ```ts
|
|
1036
|
+
* ThemeUtil.THEME_MODE.SYSTEM; // "system"
|
|
1037
|
+
* ThemeUtil.THEME_MODE.DARK; // "dark"
|
|
1038
|
+
* ```
|
|
1039
|
+
*/
|
|
1040
|
+
static THEME_MODE = {
|
|
1041
|
+
LIGHT: "light",
|
|
1042
|
+
DARK: "dark",
|
|
1043
|
+
SYSTEM: "system"
|
|
1044
|
+
};
|
|
1045
|
+
};
|
|
932
1046
|
//#endregion
|
|
933
1047
|
//#region src/tree/utils.ts
|
|
934
1048
|
function getFinalChildrenKey(tree, meta, options) {
|
|
@@ -1385,6 +1499,7 @@ var TreeUtil = class {
|
|
|
1385
1499
|
* 验证工具类
|
|
1386
1500
|
*/
|
|
1387
1501
|
var ValidateUtil = class {
|
|
1502
|
+
static _phone = /^1(3\d|4[5-9]|5[0-35-9]|6[567]|7[0-8]|8\d|9[0-35-9])\d{8}$/;
|
|
1388
1503
|
/**
|
|
1389
1504
|
* 验证是否为手机号码
|
|
1390
1505
|
* @example
|
|
@@ -1395,6 +1510,7 @@ var ValidateUtil = class {
|
|
|
1395
1510
|
static isPhone(input) {
|
|
1396
1511
|
return this._phone.test(input.toString());
|
|
1397
1512
|
}
|
|
1513
|
+
static _telephone = /^(((0\d{2,3})-)?((\d{7,8})|(400\d{7})|(800\d{7}))(-(\d{1,4}))?)$/;
|
|
1398
1514
|
/**
|
|
1399
1515
|
* 验证是否为固定电话
|
|
1400
1516
|
* @example
|
|
@@ -1405,6 +1521,7 @@ var ValidateUtil = class {
|
|
|
1405
1521
|
static isTelephone(input) {
|
|
1406
1522
|
return this._telephone.test(input.toString());
|
|
1407
1523
|
}
|
|
1524
|
+
static _IMEI = /^\d{15,17}$/;
|
|
1408
1525
|
/**
|
|
1409
1526
|
* 验证是否为移动设备识别码
|
|
1410
1527
|
* @example
|
|
@@ -1415,6 +1532,7 @@ var ValidateUtil = class {
|
|
|
1415
1532
|
static isIMEI(input) {
|
|
1416
1533
|
return this._IMEI.test(input.toString());
|
|
1417
1534
|
}
|
|
1535
|
+
static _email = /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\])|(([a-z\-0-9]+\.)+[a-z]{2,}))$/i;
|
|
1418
1536
|
/**
|
|
1419
1537
|
* 验证是否为电子邮箱
|
|
1420
1538
|
* @example
|
|
@@ -1425,6 +1543,7 @@ var ValidateUtil = class {
|
|
|
1425
1543
|
static isEmail(input) {
|
|
1426
1544
|
return this._email.test(input.toString());
|
|
1427
1545
|
}
|
|
1546
|
+
static _link = /^(https?:\/\/)?(([\w-]+(\.[\w-]+)*\.[a-z]{2,6})|((\d{1,3}\.){3}\d{1,3}))(:\d+)?(\/\S*)?$/i;
|
|
1428
1547
|
/**
|
|
1429
1548
|
* 验证是否为 http(s) 链接
|
|
1430
1549
|
* @example
|
|
@@ -1435,6 +1554,7 @@ var ValidateUtil = class {
|
|
|
1435
1554
|
static isHttpLink(input) {
|
|
1436
1555
|
return this._link.test(input.toString());
|
|
1437
1556
|
}
|
|
1557
|
+
static _portLink = /^(https?:\/\/)?[\w-]+(\.[\w-]+)+:\d{1,5}\/?$/i;
|
|
1438
1558
|
/**
|
|
1439
1559
|
* 验证是否为端口号链接
|
|
1440
1560
|
* @example
|
|
@@ -1445,6 +1565,7 @@ var ValidateUtil = class {
|
|
|
1445
1565
|
static isPortLink(input) {
|
|
1446
1566
|
return this._portLink.test(input.toString());
|
|
1447
1567
|
}
|
|
1568
|
+
static _thunderLink = /^thunderx?:\/\/[a-zA-Z\d]+=$/i;
|
|
1448
1569
|
/**
|
|
1449
1570
|
* 验证是否为迅雷链接
|
|
1450
1571
|
* @example
|
|
@@ -1455,6 +1576,7 @@ var ValidateUtil = class {
|
|
|
1455
1576
|
static isThunderLink(input) {
|
|
1456
1577
|
return this._thunderLink.test(input.toString());
|
|
1457
1578
|
}
|
|
1579
|
+
static _uscc = /^[0-9A-HJ-NPQRTUWXY]{2}\d{6}[0-9A-HJ-NPQRTUWXY]{10}$/;
|
|
1458
1580
|
/**
|
|
1459
1581
|
* 验证是否为统一社会信用代码
|
|
1460
1582
|
* @example
|
|
@@ -1465,6 +1587,7 @@ var ValidateUtil = class {
|
|
|
1465
1587
|
static isUSCC(input) {
|
|
1466
1588
|
return this._uscc.test(input.toString());
|
|
1467
1589
|
}
|
|
1590
|
+
static _usccs = /^[0-9A-HJ-NPQRTUWXY]{2}\d{6}[0-9A-HJ-NPQRTUWXY]{10}$/;
|
|
1468
1591
|
/**
|
|
1469
1592
|
* 验证是否为统一社会信用代码 - 15位/18位/20位数字/字母
|
|
1470
1593
|
* @example
|
|
@@ -1475,6 +1598,7 @@ var ValidateUtil = class {
|
|
|
1475
1598
|
static isUSCCS(input) {
|
|
1476
1599
|
return this._usccs.test(input.toString());
|
|
1477
1600
|
}
|
|
1601
|
+
static _dirPathWindows = /^[a-z]:\\(?:\w+\\?)*$/i;
|
|
1478
1602
|
/**
|
|
1479
1603
|
* 验证是否为 Windows 系统文件夹路径
|
|
1480
1604
|
* @example
|
|
@@ -1485,6 +1609,7 @@ var ValidateUtil = class {
|
|
|
1485
1609
|
static isDirPathWindows(input) {
|
|
1486
1610
|
return this._dirPathWindows.test(input.toString());
|
|
1487
1611
|
}
|
|
1612
|
+
static _filePathWindows = /^[a-z]:\\(?:\w+\\)*\w+\.\w+$/i;
|
|
1488
1613
|
/**
|
|
1489
1614
|
* 验证是否为 Windows 系统文件路径
|
|
1490
1615
|
* @example
|
|
@@ -1495,6 +1620,7 @@ var ValidateUtil = class {
|
|
|
1495
1620
|
static isFilePathWindows(input) {
|
|
1496
1621
|
return this._filePathWindows.test(input.toString());
|
|
1497
1622
|
}
|
|
1623
|
+
static _dirPathLinux = /^\/(?:[^\\/\s]+\/)*$/;
|
|
1498
1624
|
/**
|
|
1499
1625
|
* 验证是否为 Linux 系统文件夹路径
|
|
1500
1626
|
* @example
|
|
@@ -1505,6 +1631,7 @@ var ValidateUtil = class {
|
|
|
1505
1631
|
static isDirPathLinux(input) {
|
|
1506
1632
|
return this._dirPathLinux.test(input.toString());
|
|
1507
1633
|
}
|
|
1634
|
+
static _filePathLinux = /^(\/$|\/(?:[^\\/\s]+\/)*[^\\/\s]+$)/;
|
|
1508
1635
|
/**
|
|
1509
1636
|
* 验证是否为 Linux 系统文件路径
|
|
1510
1637
|
* @example
|
|
@@ -1515,6 +1642,7 @@ var ValidateUtil = class {
|
|
|
1515
1642
|
static isFilePathLinux(input) {
|
|
1516
1643
|
return this._filePathLinux.test(input.toString());
|
|
1517
1644
|
}
|
|
1645
|
+
static _EVCarNumber = /^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领][A-HJ-NP-Z](([DF]((?![IO])[a-zA-Z0-9](?![IO]))\d{4})|(\d{5}[DF]))$/;
|
|
1518
1646
|
/**
|
|
1519
1647
|
* 验证是否为新能源车牌号
|
|
1520
1648
|
* @example
|
|
@@ -1525,6 +1653,7 @@ var ValidateUtil = class {
|
|
|
1525
1653
|
static isEVCarNumber(input) {
|
|
1526
1654
|
return this._EVCarNumber.test(input.toString());
|
|
1527
1655
|
}
|
|
1656
|
+
static _GVCarNumber = /^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领][A-HJ-NP-Z][A-HJ-NP-Z0-9]{4,5}[A-HJ-NP-Z0-9挂学警港澳]$/;
|
|
1528
1657
|
/**
|
|
1529
1658
|
* 验证是否为燃油车车牌号
|
|
1530
1659
|
* @example
|
|
@@ -1535,6 +1664,7 @@ var ValidateUtil = class {
|
|
|
1535
1664
|
static isGVCarNumber(input) {
|
|
1536
1665
|
return this._GVCarNumber.test(input.toString());
|
|
1537
1666
|
}
|
|
1667
|
+
static _chineseName = /^[一-龢][一·-龢]*$/;
|
|
1538
1668
|
/**
|
|
1539
1669
|
* 验证是否为中文姓名
|
|
1540
1670
|
* @example
|
|
@@ -1545,6 +1675,7 @@ var ValidateUtil = class {
|
|
|
1545
1675
|
static isChineseName(input) {
|
|
1546
1676
|
return this._chineseName.test(input.toString());
|
|
1547
1677
|
}
|
|
1678
|
+
static _chineseId = /^\d{6}((((((19|20)\d{2})(0[13-9]|1[012])(0[1-9]|[12]\d|30))|(((19|20)\d{2})(0[13578]|1[02])31)|((19|20)\d{2})02(0[1-9]|1\d|2[0-8])|((((19|20)([13579][26]|[2468][048]|0[48]))|(2000))0229))\d{3})|((((\d{2})(0[13-9]|1[012])(0[1-9]|[12]\d|30))|((\d{2})(0[13578]|1[02])31)|((\d{2})02(0[1-9]|1\d|2[0-8]))|(([13579][26]|[2468][048]|0[048])0229))\d{2}))([\dX])$/i;
|
|
1548
1679
|
/**
|
|
1549
1680
|
* 验证是否为中国身份证号
|
|
1550
1681
|
* @example
|
|
@@ -1555,6 +1686,7 @@ var ValidateUtil = class {
|
|
|
1555
1686
|
static isChineseID(input) {
|
|
1556
1687
|
return this._chineseId.test(input.toString());
|
|
1557
1688
|
}
|
|
1689
|
+
static _chineseProvince = /^安徽|澳门|北京|重庆|福建|甘肃|广东|广西|贵州|海南|河北|河南|黑龙江|湖北|湖南|吉林|江苏|江西|辽宁|内蒙古|宁夏|青海|山东|山西|陕西|上海|四川|台湾|天津|西藏|香港|新疆|云南|浙江$/;
|
|
1558
1690
|
/**
|
|
1559
1691
|
* 验证是否为中国省份
|
|
1560
1692
|
* @example
|
|
@@ -1565,6 +1697,7 @@ var ValidateUtil = class {
|
|
|
1565
1697
|
static isChineseProvince(input) {
|
|
1566
1698
|
return this._chineseProvince.test(input.toString());
|
|
1567
1699
|
}
|
|
1700
|
+
static _chineseNation = /^汉族|蒙古族|回族|藏族|维吾尔族|苗族|彝族|壮族|布依族|朝鲜族|满族|侗族|瑶族|白族|土家族|哈尼族|哈萨克族|傣族|黎族|傈僳族|佤族|畲族|高山族|拉祜族|水族|东乡族|纳西族|景颇族|柯尔克孜族|土族|达斡尔族|仫佬族|羌族|布朗族|撒拉族|毛南族|仡佬族|锡伯族|阿昌族|普米族|塔吉克族|怒族|乌孜别克族|俄罗斯族|鄂温克族|德昂族|保安族|裕固族|京族|塔塔尔族|独龙族|鄂伦春族|赫哲族|门巴族|珞巴族|基诺族|其它未识别民族|外国人入中国籍$/;
|
|
1568
1701
|
/**
|
|
1569
1702
|
* 验证是否为中华民族
|
|
1570
1703
|
* @example
|
|
@@ -1575,6 +1708,7 @@ var ValidateUtil = class {
|
|
|
1575
1708
|
static isChineseNation(input) {
|
|
1576
1709
|
return this._chineseNation.test(input.toString());
|
|
1577
1710
|
}
|
|
1711
|
+
static _letter = /^[a-z]+$/i;
|
|
1578
1712
|
/**
|
|
1579
1713
|
* 验证是否只包含字母
|
|
1580
1714
|
* @example
|
|
@@ -1585,6 +1719,7 @@ var ValidateUtil = class {
|
|
|
1585
1719
|
static isLetter(input) {
|
|
1586
1720
|
return this._letter.test(input.toString());
|
|
1587
1721
|
}
|
|
1722
|
+
static _letterLowercase = /^[a-z]+$/;
|
|
1588
1723
|
/**
|
|
1589
1724
|
* 验证是否只包含小写字母
|
|
1590
1725
|
* @example
|
|
@@ -1595,6 +1730,7 @@ var ValidateUtil = class {
|
|
|
1595
1730
|
static isLetterLowercase(input) {
|
|
1596
1731
|
return this._letterLowercase.test(input.toString());
|
|
1597
1732
|
}
|
|
1733
|
+
static _letterUppercase = /^[A-Z]+$/;
|
|
1598
1734
|
/**
|
|
1599
1735
|
* 验证是否只包含大写字母
|
|
1600
1736
|
* @example
|
|
@@ -1605,6 +1741,7 @@ var ValidateUtil = class {
|
|
|
1605
1741
|
static isLetterUppercase(input) {
|
|
1606
1742
|
return this._letterUppercase.test(input.toString());
|
|
1607
1743
|
}
|
|
1744
|
+
static _letterOmit = /^[^A-Z]*$/i;
|
|
1608
1745
|
/**
|
|
1609
1746
|
* 验证是否不包含字母
|
|
1610
1747
|
* @example
|
|
@@ -1615,6 +1752,7 @@ var ValidateUtil = class {
|
|
|
1615
1752
|
static isLetterOmit(input) {
|
|
1616
1753
|
return this._letterOmit.test(input.toString());
|
|
1617
1754
|
}
|
|
1755
|
+
static _LetterAndNumber = /^[A-Z0-9]+$/i;
|
|
1618
1756
|
/**
|
|
1619
1757
|
* 验证是否为数字和字母组合
|
|
1620
1758
|
* @example
|
|
@@ -1625,6 +1763,7 @@ var ValidateUtil = class {
|
|
|
1625
1763
|
static isLetterAndNumber(input) {
|
|
1626
1764
|
return this._LetterAndNumber.test(input.toString());
|
|
1627
1765
|
}
|
|
1766
|
+
static _signedFloat = /^[+-]?(\d+(\.\d+)?|\.\d+)$/;
|
|
1628
1767
|
/**
|
|
1629
1768
|
* 验证是否为有符号浮点数
|
|
1630
1769
|
* @example
|
|
@@ -1635,6 +1774,7 @@ var ValidateUtil = class {
|
|
|
1635
1774
|
static isSignedFloat(input) {
|
|
1636
1775
|
return this._signedFloat.test(input.toString());
|
|
1637
1776
|
}
|
|
1777
|
+
static _unsignedFloat = /^\+?(\d+(\.\d+)?|\.\d+)$/;
|
|
1638
1778
|
/**
|
|
1639
1779
|
* 验证是否为无符号浮点数
|
|
1640
1780
|
* @example
|
|
@@ -1645,6 +1785,7 @@ var ValidateUtil = class {
|
|
|
1645
1785
|
static isUnsignedFloat(input) {
|
|
1646
1786
|
return this._unsignedFloat.test(input.toString());
|
|
1647
1787
|
}
|
|
1788
|
+
static _signedInteger = /^[+-]?\d+$/;
|
|
1648
1789
|
/**
|
|
1649
1790
|
* 验证是否为有符号整数
|
|
1650
1791
|
* @example
|
|
@@ -1655,6 +1796,7 @@ var ValidateUtil = class {
|
|
|
1655
1796
|
static isSignedInteger(input) {
|
|
1656
1797
|
return this._signedInteger.test(input.toString());
|
|
1657
1798
|
}
|
|
1799
|
+
static _unsignedInteger = /^\+?\d+$/;
|
|
1658
1800
|
/**
|
|
1659
1801
|
* 验证是否为无符号整数
|
|
1660
1802
|
* @example
|
|
@@ -1665,6 +1807,7 @@ var ValidateUtil = class {
|
|
|
1665
1807
|
static isUnsignedInteger(input) {
|
|
1666
1808
|
return this._unsignedInteger.test(input.toString());
|
|
1667
1809
|
}
|
|
1810
|
+
static _spaceInclude = /\s/;
|
|
1668
1811
|
/**
|
|
1669
1812
|
* 验证是否包含空格
|
|
1670
1813
|
* @example
|
|
@@ -1675,6 +1818,7 @@ var ValidateUtil = class {
|
|
|
1675
1818
|
static isSpaceInclude(input) {
|
|
1676
1819
|
return this._spaceInclude.test(input.toString());
|
|
1677
1820
|
}
|
|
1821
|
+
static _spaceStart = /^\s/;
|
|
1678
1822
|
/**
|
|
1679
1823
|
* 验证是否以空格开头
|
|
1680
1824
|
* @example
|
|
@@ -1685,6 +1829,7 @@ var ValidateUtil = class {
|
|
|
1685
1829
|
static isSpaceStart(input) {
|
|
1686
1830
|
return this._spaceStart.test(input.toString());
|
|
1687
1831
|
}
|
|
1832
|
+
static _spaceEnd = /\s$/;
|
|
1688
1833
|
/**
|
|
1689
1834
|
* 验证是否以空格结尾
|
|
1690
1835
|
* @example
|
|
@@ -1706,36 +1851,5 @@ var ValidateUtil = class {
|
|
|
1706
1851
|
return this.isSpaceStart(input) || this.isSpaceEnd(input);
|
|
1707
1852
|
}
|
|
1708
1853
|
};
|
|
1709
|
-
_defineProperty(ValidateUtil, "_phone", /^1(3\d|4[5-9]|5[0-35-9]|6[567]|7[0-8]|8\d|9[0-35-9])\d{8}$/);
|
|
1710
|
-
_defineProperty(ValidateUtil, "_telephone", /^(((0\d{2,3})-)?((\d{7,8})|(400\d{7})|(800\d{7}))(-(\d{1,4}))?)$/);
|
|
1711
|
-
_defineProperty(ValidateUtil, "_IMEI", /^\d{15,17}$/);
|
|
1712
|
-
_defineProperty(ValidateUtil, "_email", /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\])|(([a-z\-0-9]+\.)+[a-z]{2,}))$/i);
|
|
1713
|
-
_defineProperty(ValidateUtil, "_link", /^(https?:\/\/)?(([\w-]+(\.[\w-]+)*\.[a-z]{2,6})|((\d{1,3}\.){3}\d{1,3}))(:\d+)?(\/\S*)?$/i);
|
|
1714
|
-
_defineProperty(ValidateUtil, "_portLink", /^(https?:\/\/)?[\w-]+(\.[\w-]+)+:\d{1,5}\/?$/i);
|
|
1715
|
-
_defineProperty(ValidateUtil, "_thunderLink", /^thunderx?:\/\/[a-zA-Z\d]+=$/i);
|
|
1716
|
-
_defineProperty(ValidateUtil, "_uscc", /^[0-9A-HJ-NPQRTUWXY]{2}\d{6}[0-9A-HJ-NPQRTUWXY]{10}$/);
|
|
1717
|
-
_defineProperty(ValidateUtil, "_usccs", /^[0-9A-HJ-NPQRTUWXY]{2}\d{6}[0-9A-HJ-NPQRTUWXY]{10}$/);
|
|
1718
|
-
_defineProperty(ValidateUtil, "_dirPathWindows", /^[a-z]:\\(?:\w+\\?)*$/i);
|
|
1719
|
-
_defineProperty(ValidateUtil, "_filePathWindows", /^[a-z]:\\(?:\w+\\)*\w+\.\w+$/i);
|
|
1720
|
-
_defineProperty(ValidateUtil, "_dirPathLinux", /^\/(?:[^\\/\s]+\/)*$/);
|
|
1721
|
-
_defineProperty(ValidateUtil, "_filePathLinux", /^(\/$|\/(?:[^\\/\s]+\/)*[^\\/\s]+$)/);
|
|
1722
|
-
_defineProperty(ValidateUtil, "_EVCarNumber", /^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领][A-HJ-NP-Z](([DF]((?![IO])[a-zA-Z0-9](?![IO]))\d{4})|(\d{5}[DF]))$/);
|
|
1723
|
-
_defineProperty(ValidateUtil, "_GVCarNumber", /^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领][A-HJ-NP-Z][A-HJ-NP-Z0-9]{4,5}[A-HJ-NP-Z0-9挂学警港澳]$/);
|
|
1724
|
-
_defineProperty(ValidateUtil, "_chineseName", /^[一-龢][一·-龢]*$/);
|
|
1725
|
-
_defineProperty(ValidateUtil, "_chineseId", /^\d{6}((((((19|20)\d{2})(0[13-9]|1[012])(0[1-9]|[12]\d|30))|(((19|20)\d{2})(0[13578]|1[02])31)|((19|20)\d{2})02(0[1-9]|1\d|2[0-8])|((((19|20)([13579][26]|[2468][048]|0[48]))|(2000))0229))\d{3})|((((\d{2})(0[13-9]|1[012])(0[1-9]|[12]\d|30))|((\d{2})(0[13578]|1[02])31)|((\d{2})02(0[1-9]|1\d|2[0-8]))|(([13579][26]|[2468][048]|0[048])0229))\d{2}))([\dX])$/i);
|
|
1726
|
-
_defineProperty(ValidateUtil, "_chineseProvince", /^安徽|澳门|北京|重庆|福建|甘肃|广东|广西|贵州|海南|河北|河南|黑龙江|湖北|湖南|吉林|江苏|江西|辽宁|内蒙古|宁夏|青海|山东|山西|陕西|上海|四川|台湾|天津|西藏|香港|新疆|云南|浙江$/);
|
|
1727
|
-
_defineProperty(ValidateUtil, "_chineseNation", /^汉族|蒙古族|回族|藏族|维吾尔族|苗族|彝族|壮族|布依族|朝鲜族|满族|侗族|瑶族|白族|土家族|哈尼族|哈萨克族|傣族|黎族|傈僳族|佤族|畲族|高山族|拉祜族|水族|东乡族|纳西族|景颇族|柯尔克孜族|土族|达斡尔族|仫佬族|羌族|布朗族|撒拉族|毛南族|仡佬族|锡伯族|阿昌族|普米族|塔吉克族|怒族|乌孜别克族|俄罗斯族|鄂温克族|德昂族|保安族|裕固族|京族|塔塔尔族|独龙族|鄂伦春族|赫哲族|门巴族|珞巴族|基诺族|其它未识别民族|外国人入中国籍$/);
|
|
1728
|
-
_defineProperty(ValidateUtil, "_letter", /^[a-z]+$/i);
|
|
1729
|
-
_defineProperty(ValidateUtil, "_letterLowercase", /^[a-z]+$/);
|
|
1730
|
-
_defineProperty(ValidateUtil, "_letterUppercase", /^[A-Z]+$/);
|
|
1731
|
-
_defineProperty(ValidateUtil, "_letterOmit", /^[^A-Z]*$/i);
|
|
1732
|
-
_defineProperty(ValidateUtil, "_LetterAndNumber", /^[A-Z0-9]+$/i);
|
|
1733
|
-
_defineProperty(ValidateUtil, "_signedFloat", /^[+-]?(\d+(\.\d+)?|\.\d+)$/);
|
|
1734
|
-
_defineProperty(ValidateUtil, "_unsignedFloat", /^\+?(\d+(\.\d+)?|\.\d+)$/);
|
|
1735
|
-
_defineProperty(ValidateUtil, "_signedInteger", /^[+-]?\d+$/);
|
|
1736
|
-
_defineProperty(ValidateUtil, "_unsignedInteger", /^\+?\d+$/);
|
|
1737
|
-
_defineProperty(ValidateUtil, "_spaceInclude", /\s/);
|
|
1738
|
-
_defineProperty(ValidateUtil, "_spaceStart", /^\s/);
|
|
1739
|
-
_defineProperty(ValidateUtil, "_spaceEnd", /\s$/);
|
|
1740
1854
|
//#endregion
|
|
1741
1855
|
export { ArrayUtil, DateTimeUtil, EnvUtil, FunctionUtil, MimeUtil, NumberUtil, ObjectUtil, StringUtil, ThemeUtil, TreeUtil, TypeUtil, ValidateUtil };
|