@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.
@@ -1,4 +1,4 @@
1
- import { n as TypeUtil, r as _defineProperty, t as StringUtil } from "./string-p6hZ1Mjb.js";
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
- const array = Array.from(args);
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
- _defineProperty(MimeUtil, "MIME", {
617
- /** 普通文本文件 */
618
- TEXT: "text/plain",
619
- /** 超文本标记语言文档 */
620
- HTML: "text/html",
621
- /** 层叠样式表文件 */
622
- CSS: "text/css",
623
- /** 逗号分隔值文件(表格数据) */
624
- CSV: "text/csv",
625
- /** 制表符分隔值文件 */
626
- TSV: "text/tab-separated-values",
627
- /** XML 文档 */
628
- XML: "text/xml",
629
- /** XHTML 文档(XML 严格格式的 HTML) */
630
- XHTML: "application/xhtml+xml",
631
- /** JavaScript 文件 */
632
- JS: "text/javascript",
633
- /** TypeScript 文件 */
634
- TS: "text/typescript",
635
- /** Python 文件 */
636
- PY: "text/x-python",
637
- /** Shell 脚本 (.sh) */
638
- SH: "text/x-sh",
639
- /** C 语言源文件 */
640
- C: "text/x-c",
641
- /** C++ 源文件 */
642
- CPP: "text/x-c++",
643
- /** C# 源文件 */
644
- CSHARP: "text/x-csharp",
645
- /** Java 源文件 */
646
- JAVA: "text/x-java",
647
- /** Go 源文件 */
648
- GO: "text/x-go",
649
- /** Rust 源文件 */
650
- RUST: "text/x-rust",
651
- /** PHP 文件 */
652
- PHP: "text/x-php",
653
- /** Ruby 文件 */
654
- RUBY: "text/x-ruby",
655
- /** Swift 源文件 */
656
- SWIFT: "text/x-swift",
657
- /** YAML 文档 */
658
- YAML: "text/vnd.yaml",
659
- /** TOML 文档 */
660
- TOML: "text/x-toml",
661
- /** SQL 脚本 */
662
- SQL: "text/x-sql",
663
- /** Markdown 格式文档 */
664
- MARKDOWN: "text/markdown",
665
- /** 富文本格式文档(.rtf) */
666
- RTF: "application/rtf",
667
- /** iCalendar 日历格式(.ics) */
668
- CALENDAR: "text/calendar",
669
- /** JPEG 图像(.jpg/.jpeg) */
670
- JPEG: "image/jpeg",
671
- /** PNG 图像(无损压缩,支持透明) */
672
- PNG: "image/png",
673
- /** GIF 图像(支持动画) */
674
- GIF: "image/gif",
675
- /** Windows 位图(.bmp) */
676
- BMP: "image/bmp",
677
- /** SVG 向量图形(.svg) */
678
- SVG: "image/svg+xml",
679
- /** APNG 动态图像(.apng) */
680
- APNG: "image/apng",
681
- /** AVIF 图像(高效压缩) */
682
- AVIF: "image/avif",
683
- /** 图标文件格式(.ico) */
684
- ICO: "image/vnd.microsoft.icon",
685
- /** WebP 图像(高效压缩) */
686
- WEBP: "image/webp",
687
- /** TIFF 图像(.tif/.tiff) */
688
- TIFF: "image/tiff",
689
- /** HEIC 图像(高效编码) */
690
- HEIC: "image/heic",
691
- /** Adobe Photoshop 文件(.psd) */
692
- PSD: "image/vnd.adobe.photoshop",
693
- /** MP3 音频(.mp3) */
694
- MP3: "audio/mpeg",
695
- /** AAC 音频(.aac) */
696
- AAC: "audio/aac",
697
- /** MIDI 音乐文件(.mid/.midi) */
698
- MIDI: "audio/midi",
699
- /** OGG 音频(.oga) */
700
- OGG_AUDIO: "audio/ogg",
701
- /** Opus 音频(.opus) */
702
- OPUS: "audio/opus",
703
- /** WAV 音频(.wav) */
704
- WAV: "audio/wav",
705
- /** RealAudio 音频(.ra/.ram) */
706
- REAL_AUDIO: "audio/x-pn-realaudio",
707
- /** MP4 视频(.mp4) */
708
- MP4: "video/mp4",
709
- /** MPEG 视频(.mpeg/.mpg) */
710
- MPEG: "video/mpeg",
711
- /** OGG 视频(.ogv) */
712
- OGG_VIDEO: "video/ogg",
713
- /** AVI 视频(.avi) */
714
- AVI: "video/x-msvideo",
715
- /** 3GPP 视频(.3gp) */
716
- THREE_GPP: "video/3gpp",
717
- /** 3GPP2 视频(.3g2) */
718
- THREE_GPP2: "video/3gpp2",
719
- /** WebM 视频(.webm) */
720
- WEBM: "video/webm",
721
- /** PDF 文档 */
722
- PDF: "application/pdf",
723
- /** Word 97-2003 文档(.doc) */
724
- DOC: "application/msword",
725
- /** Word 2007+ 文档(.docx) */
726
- DOCX: "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
727
- /** Excel 2007+ 工作簿(.xlsx) */
728
- XLSX: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
729
- /** 启用宏的Excel工作簿(.xlsm) */
730
- XLSM: "application/vnd.ms-excel.sheet.macroEnabled.12",
731
- /** Excel模板文件(.xltx) */
732
- XLTX: "application/vnd.openxmlformats-officedocument.spreadsheetml.template",
733
- /** PowerPoint 2007+ 演示文稿(.pptx) */
734
- PPTX: "application/vnd.openxmlformats-officedocument.presentationml.presentation",
735
- /** PowerPoint 97-2003 演示文稿(.ppt) */
736
- PPT: "application/vnd.ms-powerpoint",
737
- /** OpenDocument 文本文档(.odt) */
738
- ODT: "application/vnd.oasis.opendocument.text",
739
- /** OpenDocument 表格文档(.ods) */
740
- ODS: "application/vnd.oasis.opendocument.spreadsheet",
741
- /** OpenDocument 演示文稿(.odp) */
742
- ODP: "application/vnd.oasis.opendocument.presentation",
743
- /** EPUB 电子书(.epub) */
744
- EPUB: "application/epub+zip",
745
- /** Kindle 电子书(.azw) */
746
- AZW: "application/vnd.amazon.ebook",
747
- /** ZIP 压缩文件(.zip) */
748
- ZIP: "application/zip",
749
- /** GZIP 压缩文件(.gz) */
750
- GZIP: "application/gzip",
751
- /** GZIP 压缩文件(旧格式) */
752
- X_GZIP: "application/x-gzip",
753
- /** TAR 归档文件(.tar) */
754
- TAR: "application/x-tar",
755
- /** BZip 归档(.bz) */
756
- BZIP: "application/x-bzip",
757
- /** BZip2 归档(.bz2) */
758
- BZIP2: "application/x-bzip2",
759
- /** 7-Zip 压缩文件(.7z) */
760
- SEVEN_Z: "application/x-7z-compressed",
761
- /** RAR 压缩文件(.rar) */
762
- RAR: "application/vnd.rar",
763
- /** 通用二进制数据(默认类型) */
764
- OCTET_STREAM: "application/octet-stream",
765
- /** JSON 数据格式(.json) */
766
- JSON: "application/json",
767
- /** JSON-LD 格式(.jsonld) */
768
- LD_JSON: "application/ld+json",
769
- /** Java 归档文件(.jar) */
770
- JAR: "application/java-archive",
771
- /** WebAssembly 二进制指令格式(.wasm) */
772
- WASM: "application/wasm",
773
- /** MS 嵌入式 OpenType 字体(.eot) */
774
- EOT: "application/vnd.ms-fontobject",
775
- /** OpenType 字体(.otf) */
776
- OTF: "font/otf",
777
- /** WOFF 字体(.woff) */
778
- WOFF: "font/woff",
779
- /** WOFF2 字体(.woff2) */
780
- WOFF2: "font/woff2",
781
- /** TrueType 字体(.ttf) */
782
- TTF: "font/ttf",
783
- /** Excel 97-2003 工作簿(.xls) */
784
- XLS: "application/vnd.ms-excel",
785
- /** Microsoft XPS 文档(.xps) */
786
- XPS: "application/vnd.ms-xpsdocument",
787
- /** Word 启用宏文档(.docm) */
788
- DOCM: "application/vnd.ms-word.document.macroEnabled.12"
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.isObject(plainObject)) return defaultResult;
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.isObject(obj)) return result;
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.isObject(obj)) return result;
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.isObject(obj)) return result;
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.isObject(value) || TypeUtil.isArray(value)) for (const [prop, propValue] of Object.entries(value)) crushReducer(crushed, propValue, path ? `${path}.${prop}` : prop);
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
- _defineProperty(ThemeUtil, "THEME", {
924
- LIGHT: "light",
925
- DARK: "dark"
926
- });
927
- _defineProperty(ThemeUtil, "THEME_MODE", {
928
- LIGHT: "light",
929
- DARK: "dark",
930
- SYSTEM: "system"
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 };