@pawover/kit 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- import { n as TypeUtil, r as _defineProperty, t as StringUtil } from "./string-C_OCj9Lg.js";
1
+ import { n as TypeUtil, t as StringUtil } from "./stringUtil-CaY_wCS-.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
  /**
@@ -612,181 +703,186 @@ var FunctionUtil = class {
612
703
  /**
613
704
  * MIME 工具类
614
705
  */
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
- });
706
+ var MimeUtil = class {
707
+ /**
708
+ * 标准 MIME 类型常量,用于文件类型标识和 HTTP Content-Type 头部
709
+ * 基于 IANA 注册标准和浏览器兼容性验证
710
+ */
711
+ static MIME = {
712
+ /** 普通文本文件 */
713
+ TEXT: "text/plain",
714
+ /** 超文本标记语言文档 */
715
+ HTML: "text/html",
716
+ /** 层叠样式表文件 */
717
+ CSS: "text/css",
718
+ /** 逗号分隔值文件(表格数据) */
719
+ CSV: "text/csv",
720
+ /** 制表符分隔值文件 */
721
+ TSV: "text/tab-separated-values",
722
+ /** XML 文档 */
723
+ XML: "text/xml",
724
+ /** XHTML 文档(XML 严格格式的 HTML) */
725
+ XHTML: "application/xhtml+xml",
726
+ /** JavaScript 文件 */
727
+ JS: "text/javascript",
728
+ /** TypeScript 文件 */
729
+ TS: "text/typescript",
730
+ /** Python 文件 */
731
+ PY: "text/x-python",
732
+ /** Shell 脚本 (.sh) */
733
+ SH: "text/x-sh",
734
+ /** C 语言源文件 */
735
+ C: "text/x-c",
736
+ /** C++ 源文件 */
737
+ CPP: "text/x-c++",
738
+ /** C# 源文件 */
739
+ CSHARP: "text/x-csharp",
740
+ /** Java 源文件 */
741
+ JAVA: "text/x-java",
742
+ /** Go 源文件 */
743
+ GO: "text/x-go",
744
+ /** Rust 源文件 */
745
+ RUST: "text/x-rust",
746
+ /** PHP 文件 */
747
+ PHP: "text/x-php",
748
+ /** Ruby 文件 */
749
+ RUBY: "text/x-ruby",
750
+ /** Swift 源文件 */
751
+ SWIFT: "text/x-swift",
752
+ /** YAML 文档 */
753
+ YAML: "text/vnd.yaml",
754
+ /** TOML 文档 */
755
+ TOML: "text/x-toml",
756
+ /** SQL 脚本 */
757
+ SQL: "text/x-sql",
758
+ /** Markdown 格式文档 */
759
+ MARKDOWN: "text/markdown",
760
+ /** 富文本格式文档(.rtf) */
761
+ RTF: "application/rtf",
762
+ /** iCalendar 日历格式(.ics) */
763
+ CALENDAR: "text/calendar",
764
+ /** JPEG 图像(.jpg/.jpeg) */
765
+ JPEG: "image/jpeg",
766
+ /** PNG 图像(无损压缩,支持透明) */
767
+ PNG: "image/png",
768
+ /** GIF 图像(支持动画) */
769
+ GIF: "image/gif",
770
+ /** Windows 位图(.bmp) */
771
+ BMP: "image/bmp",
772
+ /** SVG 向量图形(.svg) */
773
+ SVG: "image/svg+xml",
774
+ /** APNG 动态图像(.apng) */
775
+ APNG: "image/apng",
776
+ /** AVIF 图像(高效压缩) */
777
+ AVIF: "image/avif",
778
+ /** 图标文件格式(.ico) */
779
+ ICO: "image/vnd.microsoft.icon",
780
+ /** WebP 图像(高效压缩) */
781
+ WEBP: "image/webp",
782
+ /** TIFF 图像(.tif/.tiff) */
783
+ TIFF: "image/tiff",
784
+ /** HEIC 图像(高效编码) */
785
+ HEIC: "image/heic",
786
+ /** Adobe Photoshop 文件(.psd) */
787
+ PSD: "image/vnd.adobe.photoshop",
788
+ /** MP3 音频(.mp3) */
789
+ MP3: "audio/mpeg",
790
+ /** AAC 音频(.aac) */
791
+ AAC: "audio/aac",
792
+ /** MIDI 音乐文件(.mid/.midi) */
793
+ MIDI: "audio/midi",
794
+ /** OGG 音频(.oga) */
795
+ OGG_AUDIO: "audio/ogg",
796
+ /** Opus 音频(.opus) */
797
+ OPUS: "audio/opus",
798
+ /** WAV 音频(.wav) */
799
+ WAV: "audio/wav",
800
+ /** RealAudio 音频(.ra/.ram) */
801
+ REAL_AUDIO: "audio/x-pn-realaudio",
802
+ /** MP4 视频(.mp4) */
803
+ MP4: "video/mp4",
804
+ /** MPEG 视频(.mpeg/.mpg) */
805
+ MPEG: "video/mpeg",
806
+ /** OGG 视频(.ogv) */
807
+ OGG_VIDEO: "video/ogg",
808
+ /** AVI 视频(.avi) */
809
+ AVI: "video/x-msvideo",
810
+ /** 3GPP 视频(.3gp) */
811
+ THREE_GPP: "video/3gpp",
812
+ /** 3GPP2 视频(.3g2) */
813
+ THREE_GPP2: "video/3gpp2",
814
+ /** WebM 视频(.webm) */
815
+ WEBM: "video/webm",
816
+ /** PDF 文档 */
817
+ PDF: "application/pdf",
818
+ /** Word 97-2003 文档(.doc) */
819
+ DOC: "application/msword",
820
+ /** Word 2007+ 文档(.docx) */
821
+ DOCX: "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
822
+ /** Excel 2007+ 工作簿(.xlsx) */
823
+ XLSX: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
824
+ /** 启用宏的Excel工作簿(.xlsm) */
825
+ XLSM: "application/vnd.ms-excel.sheet.macroEnabled.12",
826
+ /** Excel模板文件(.xltx) */
827
+ XLTX: "application/vnd.openxmlformats-officedocument.spreadsheetml.template",
828
+ /** PowerPoint 2007+ 演示文稿(.pptx) */
829
+ PPTX: "application/vnd.openxmlformats-officedocument.presentationml.presentation",
830
+ /** PowerPoint 97-2003 演示文稿(.ppt) */
831
+ PPT: "application/vnd.ms-powerpoint",
832
+ /** OpenDocument 文本文档(.odt) */
833
+ ODT: "application/vnd.oasis.opendocument.text",
834
+ /** OpenDocument 表格文档(.ods) */
835
+ ODS: "application/vnd.oasis.opendocument.spreadsheet",
836
+ /** OpenDocument 演示文稿(.odp) */
837
+ ODP: "application/vnd.oasis.opendocument.presentation",
838
+ /** EPUB 电子书(.epub) */
839
+ EPUB: "application/epub+zip",
840
+ /** Kindle 电子书(.azw) */
841
+ AZW: "application/vnd.amazon.ebook",
842
+ /** ZIP 压缩文件(.zip) */
843
+ ZIP: "application/zip",
844
+ /** GZIP 压缩文件(.gz) */
845
+ GZIP: "application/gzip",
846
+ /** GZIP 压缩文件(旧格式) */
847
+ X_GZIP: "application/x-gzip",
848
+ /** TAR 归档文件(.tar) */
849
+ TAR: "application/x-tar",
850
+ /** BZip 归档(.bz) */
851
+ BZIP: "application/x-bzip",
852
+ /** BZip2 归档(.bz2) */
853
+ BZIP2: "application/x-bzip2",
854
+ /** 7-Zip 压缩文件(.7z) */
855
+ SEVEN_Z: "application/x-7z-compressed",
856
+ /** RAR 压缩文件(.rar) */
857
+ RAR: "application/vnd.rar",
858
+ /** 通用二进制数据(默认类型) */
859
+ OCTET_STREAM: "application/octet-stream",
860
+ /** JSON 数据格式(.json) */
861
+ JSON: "application/json",
862
+ /** JSON-LD 格式(.jsonld) */
863
+ LD_JSON: "application/ld+json",
864
+ /** Java 归档文件(.jar) */
865
+ JAR: "application/java-archive",
866
+ /** WebAssembly 二进制指令格式(.wasm) */
867
+ WASM: "application/wasm",
868
+ /** MS 嵌入式 OpenType 字体(.eot) */
869
+ EOT: "application/vnd.ms-fontobject",
870
+ /** OpenType 字体(.otf) */
871
+ OTF: "font/otf",
872
+ /** WOFF 字体(.woff) */
873
+ WOFF: "font/woff",
874
+ /** WOFF2 字体(.woff2) */
875
+ WOFF2: "font/woff2",
876
+ /** TrueType 字体(.ttf) */
877
+ TTF: "font/ttf",
878
+ /** Excel 97-2003 工作簿(.xls) */
879
+ XLS: "application/vnd.ms-excel",
880
+ /** Microsoft XPS 文档(.xps) */
881
+ XPS: "application/vnd.ms-xpsdocument",
882
+ /** Word 启用宏文档(.docm) */
883
+ DOCM: "application/vnd.ms-word.document.macroEnabled.12"
884
+ };
885
+ };
790
886
  //#endregion
791
887
  //#region src/number/numberUtil.ts
792
888
  /**
@@ -851,7 +947,7 @@ var ObjectUtil = class {
851
947
  */
852
948
  static entriesMap(plainObject, toEntry) {
853
949
  const defaultResult = {};
854
- if (!TypeUtil.isObject(plainObject)) return defaultResult;
950
+ if (!TypeUtil.isPlainObject(plainObject)) return defaultResult;
855
951
  return this.entries(plainObject).reduce((acc, [key, value]) => {
856
952
  const [newKey, newValue] = toEntry(key, value);
857
953
  acc[newKey] = newValue;
@@ -860,7 +956,7 @@ var ObjectUtil = class {
860
956
  }
861
957
  static pick(obj, keys) {
862
958
  const result = {};
863
- if (!TypeUtil.isObject(obj)) return result;
959
+ if (!TypeUtil.isPlainObject(obj)) return result;
864
960
  if (!TypeUtil.isArray(keys)) return obj;
865
961
  return keys.reduce((acc, key) => {
866
962
  if (key in obj) acc[key] = obj[key];
@@ -869,7 +965,7 @@ var ObjectUtil = class {
869
965
  }
870
966
  static omit(obj, keys) {
871
967
  const result = {};
872
- if (!TypeUtil.isObject(obj)) return result;
968
+ if (!TypeUtil.isPlainObject(obj)) return result;
873
969
  if (!TypeUtil.isArray(keys)) return obj;
874
970
  const keysToOmit = new Set(keys);
875
971
  return Object.keys(obj).reduce((acc, key) => {
@@ -879,14 +975,14 @@ var ObjectUtil = class {
879
975
  }
880
976
  static invert(obj) {
881
977
  const result = {};
882
- if (!TypeUtil.isObject(obj)) return result;
978
+ if (!TypeUtil.isPlainObject(obj)) return result;
883
979
  for (const [k, v] of this.entries(obj)) if (TypeUtil.isString(v) || TypeUtil.isNumber(v) || TypeUtil.isSymbol(v)) result[v] = k;
884
980
  return result;
885
981
  }
886
982
  static crush(obj) {
887
983
  if (!obj) return {};
888
984
  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);
985
+ if (TypeUtil.isPlainObject(value) || TypeUtil.isArray(value)) for (const [prop, propValue] of Object.entries(value)) crushReducer(crushed, propValue, path ? `${path}.${prop}` : prop);
890
986
  else crushed[path] = value;
891
987
  return crushed;
892
988
  }
@@ -919,16 +1015,35 @@ var ObjectUtil = class {
919
1015
  /**
920
1016
  * 主题工具类
921
1017
  */
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
- });
1018
+ var ThemeUtil = class {
1019
+ /**
1020
+ * 固定主题类型(仅亮色/暗色)
1021
+ *
1022
+ * @example
1023
+ * ```ts
1024
+ * ThemeUtil.THEME.LIGHT; // "light"
1025
+ * ThemeUtil.THEME.DARK; // "dark"
1026
+ * ```
1027
+ */
1028
+ static THEME = {
1029
+ LIGHT: "light",
1030
+ DARK: "dark"
1031
+ };
1032
+ /**
1033
+ * 主题模式(支持跟随系统)
1034
+ *
1035
+ * @example
1036
+ * ```ts
1037
+ * ThemeUtil.THEME_MODE.SYSTEM; // "system"
1038
+ * ThemeUtil.THEME_MODE.DARK; // "dark"
1039
+ * ```
1040
+ */
1041
+ static THEME_MODE = {
1042
+ LIGHT: "light",
1043
+ DARK: "dark",
1044
+ SYSTEM: "system"
1045
+ };
1046
+ };
932
1047
  //#endregion
933
1048
  //#region src/tree/utils.ts
934
1049
  function getFinalChildrenKey(tree, meta, options) {
@@ -1385,6 +1500,7 @@ var TreeUtil = class {
1385
1500
  * 验证工具类
1386
1501
  */
1387
1502
  var ValidateUtil = class {
1503
+ 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
1504
  /**
1389
1505
  * 验证是否为手机号码
1390
1506
  * @example
@@ -1395,6 +1511,7 @@ var ValidateUtil = class {
1395
1511
  static isPhone(input) {
1396
1512
  return this._phone.test(input.toString());
1397
1513
  }
1514
+ static _telephone = /^(((0\d{2,3})-)?((\d{7,8})|(400\d{7})|(800\d{7}))(-(\d{1,4}))?)$/;
1398
1515
  /**
1399
1516
  * 验证是否为固定电话
1400
1517
  * @example
@@ -1405,6 +1522,7 @@ var ValidateUtil = class {
1405
1522
  static isTelephone(input) {
1406
1523
  return this._telephone.test(input.toString());
1407
1524
  }
1525
+ static _IMEI = /^\d{15,17}$/;
1408
1526
  /**
1409
1527
  * 验证是否为移动设备识别码
1410
1528
  * @example
@@ -1415,6 +1533,7 @@ var ValidateUtil = class {
1415
1533
  static isIMEI(input) {
1416
1534
  return this._IMEI.test(input.toString());
1417
1535
  }
1536
+ 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
1537
  /**
1419
1538
  * 验证是否为电子邮箱
1420
1539
  * @example
@@ -1425,6 +1544,7 @@ var ValidateUtil = class {
1425
1544
  static isEmail(input) {
1426
1545
  return this._email.test(input.toString());
1427
1546
  }
1547
+ static _link = /^(https?:\/\/)?(([\w-]+(\.[\w-]+)*\.[a-z]{2,6})|((\d{1,3}\.){3}\d{1,3}))(:\d+)?(\/\S*)?$/i;
1428
1548
  /**
1429
1549
  * 验证是否为 http(s) 链接
1430
1550
  * @example
@@ -1435,6 +1555,7 @@ var ValidateUtil = class {
1435
1555
  static isHttpLink(input) {
1436
1556
  return this._link.test(input.toString());
1437
1557
  }
1558
+ static _portLink = /^(https?:\/\/)?[\w-]+(\.[\w-]+)+:\d{1,5}\/?$/i;
1438
1559
  /**
1439
1560
  * 验证是否为端口号链接
1440
1561
  * @example
@@ -1445,6 +1566,7 @@ var ValidateUtil = class {
1445
1566
  static isPortLink(input) {
1446
1567
  return this._portLink.test(input.toString());
1447
1568
  }
1569
+ static _thunderLink = /^thunderx?:\/\/[a-zA-Z\d]+=$/i;
1448
1570
  /**
1449
1571
  * 验证是否为迅雷链接
1450
1572
  * @example
@@ -1455,6 +1577,7 @@ var ValidateUtil = class {
1455
1577
  static isThunderLink(input) {
1456
1578
  return this._thunderLink.test(input.toString());
1457
1579
  }
1580
+ static _uscc = /^[0-9A-HJ-NPQRTUWXY]{2}\d{6}[0-9A-HJ-NPQRTUWXY]{10}$/;
1458
1581
  /**
1459
1582
  * 验证是否为统一社会信用代码
1460
1583
  * @example
@@ -1465,6 +1588,7 @@ var ValidateUtil = class {
1465
1588
  static isUSCC(input) {
1466
1589
  return this._uscc.test(input.toString());
1467
1590
  }
1591
+ static _usccs = /^[0-9A-HJ-NPQRTUWXY]{2}\d{6}[0-9A-HJ-NPQRTUWXY]{10}$/;
1468
1592
  /**
1469
1593
  * 验证是否为统一社会信用代码 - 15位/18位/20位数字/字母
1470
1594
  * @example
@@ -1475,6 +1599,7 @@ var ValidateUtil = class {
1475
1599
  static isUSCCS(input) {
1476
1600
  return this._usccs.test(input.toString());
1477
1601
  }
1602
+ static _dirPathWindows = /^[a-z]:\\(?:\w+\\?)*$/i;
1478
1603
  /**
1479
1604
  * 验证是否为 Windows 系统文件夹路径
1480
1605
  * @example
@@ -1485,6 +1610,7 @@ var ValidateUtil = class {
1485
1610
  static isDirPathWindows(input) {
1486
1611
  return this._dirPathWindows.test(input.toString());
1487
1612
  }
1613
+ static _filePathWindows = /^[a-z]:\\(?:\w+\\)*\w+\.\w+$/i;
1488
1614
  /**
1489
1615
  * 验证是否为 Windows 系统文件路径
1490
1616
  * @example
@@ -1495,6 +1621,7 @@ var ValidateUtil = class {
1495
1621
  static isFilePathWindows(input) {
1496
1622
  return this._filePathWindows.test(input.toString());
1497
1623
  }
1624
+ static _dirPathLinux = /^\/(?:[^\\/\s]+\/)*$/;
1498
1625
  /**
1499
1626
  * 验证是否为 Linux 系统文件夹路径
1500
1627
  * @example
@@ -1505,6 +1632,7 @@ var ValidateUtil = class {
1505
1632
  static isDirPathLinux(input) {
1506
1633
  return this._dirPathLinux.test(input.toString());
1507
1634
  }
1635
+ static _filePathLinux = /^(\/$|\/(?:[^\\/\s]+\/)*[^\\/\s]+$)/;
1508
1636
  /**
1509
1637
  * 验证是否为 Linux 系统文件路径
1510
1638
  * @example
@@ -1515,6 +1643,7 @@ var ValidateUtil = class {
1515
1643
  static isFilePathLinux(input) {
1516
1644
  return this._filePathLinux.test(input.toString());
1517
1645
  }
1646
+ static _EVCarNumber = /^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领][A-HJ-NP-Z](([DF]((?![IO])[a-zA-Z0-9](?![IO]))\d{4})|(\d{5}[DF]))$/;
1518
1647
  /**
1519
1648
  * 验证是否为新能源车牌号
1520
1649
  * @example
@@ -1525,6 +1654,7 @@ var ValidateUtil = class {
1525
1654
  static isEVCarNumber(input) {
1526
1655
  return this._EVCarNumber.test(input.toString());
1527
1656
  }
1657
+ static _GVCarNumber = /^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领][A-HJ-NP-Z][A-HJ-NP-Z0-9]{4,5}[A-HJ-NP-Z0-9挂学警港澳]$/;
1528
1658
  /**
1529
1659
  * 验证是否为燃油车车牌号
1530
1660
  * @example
@@ -1535,6 +1665,7 @@ var ValidateUtil = class {
1535
1665
  static isGVCarNumber(input) {
1536
1666
  return this._GVCarNumber.test(input.toString());
1537
1667
  }
1668
+ static _chineseName = /^[一-龢][一·-龢]*$/;
1538
1669
  /**
1539
1670
  * 验证是否为中文姓名
1540
1671
  * @example
@@ -1545,6 +1676,7 @@ var ValidateUtil = class {
1545
1676
  static isChineseName(input) {
1546
1677
  return this._chineseName.test(input.toString());
1547
1678
  }
1679
+ 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
1680
  /**
1549
1681
  * 验证是否为中国身份证号
1550
1682
  * @example
@@ -1555,6 +1687,7 @@ var ValidateUtil = class {
1555
1687
  static isChineseID(input) {
1556
1688
  return this._chineseId.test(input.toString());
1557
1689
  }
1690
+ static _chineseProvince = /^安徽|澳门|北京|重庆|福建|甘肃|广东|广西|贵州|海南|河北|河南|黑龙江|湖北|湖南|吉林|江苏|江西|辽宁|内蒙古|宁夏|青海|山东|山西|陕西|上海|四川|台湾|天津|西藏|香港|新疆|云南|浙江$/;
1558
1691
  /**
1559
1692
  * 验证是否为中国省份
1560
1693
  * @example
@@ -1565,6 +1698,7 @@ var ValidateUtil = class {
1565
1698
  static isChineseProvince(input) {
1566
1699
  return this._chineseProvince.test(input.toString());
1567
1700
  }
1701
+ static _chineseNation = /^汉族|蒙古族|回族|藏族|维吾尔族|苗族|彝族|壮族|布依族|朝鲜族|满族|侗族|瑶族|白族|土家族|哈尼族|哈萨克族|傣族|黎族|傈僳族|佤族|畲族|高山族|拉祜族|水族|东乡族|纳西族|景颇族|柯尔克孜族|土族|达斡尔族|仫佬族|羌族|布朗族|撒拉族|毛南族|仡佬族|锡伯族|阿昌族|普米族|塔吉克族|怒族|乌孜别克族|俄罗斯族|鄂温克族|德昂族|保安族|裕固族|京族|塔塔尔族|独龙族|鄂伦春族|赫哲族|门巴族|珞巴族|基诺族|其它未识别民族|外国人入中国籍$/;
1568
1702
  /**
1569
1703
  * 验证是否为中华民族
1570
1704
  * @example
@@ -1575,6 +1709,7 @@ var ValidateUtil = class {
1575
1709
  static isChineseNation(input) {
1576
1710
  return this._chineseNation.test(input.toString());
1577
1711
  }
1712
+ static _letter = /^[a-z]+$/i;
1578
1713
  /**
1579
1714
  * 验证是否只包含字母
1580
1715
  * @example
@@ -1585,6 +1720,7 @@ var ValidateUtil = class {
1585
1720
  static isLetter(input) {
1586
1721
  return this._letter.test(input.toString());
1587
1722
  }
1723
+ static _letterLowercase = /^[a-z]+$/;
1588
1724
  /**
1589
1725
  * 验证是否只包含小写字母
1590
1726
  * @example
@@ -1595,6 +1731,7 @@ var ValidateUtil = class {
1595
1731
  static isLetterLowercase(input) {
1596
1732
  return this._letterLowercase.test(input.toString());
1597
1733
  }
1734
+ static _letterUppercase = /^[A-Z]+$/;
1598
1735
  /**
1599
1736
  * 验证是否只包含大写字母
1600
1737
  * @example
@@ -1605,6 +1742,7 @@ var ValidateUtil = class {
1605
1742
  static isLetterUppercase(input) {
1606
1743
  return this._letterUppercase.test(input.toString());
1607
1744
  }
1745
+ static _letterOmit = /^[^A-Z]*$/i;
1608
1746
  /**
1609
1747
  * 验证是否不包含字母
1610
1748
  * @example
@@ -1615,6 +1753,7 @@ var ValidateUtil = class {
1615
1753
  static isLetterOmit(input) {
1616
1754
  return this._letterOmit.test(input.toString());
1617
1755
  }
1756
+ static _LetterAndNumber = /^[A-Z0-9]+$/i;
1618
1757
  /**
1619
1758
  * 验证是否为数字和字母组合
1620
1759
  * @example
@@ -1625,6 +1764,7 @@ var ValidateUtil = class {
1625
1764
  static isLetterAndNumber(input) {
1626
1765
  return this._LetterAndNumber.test(input.toString());
1627
1766
  }
1767
+ static _signedFloat = /^[+-]?(\d+(\.\d+)?|\.\d+)$/;
1628
1768
  /**
1629
1769
  * 验证是否为有符号浮点数
1630
1770
  * @example
@@ -1635,6 +1775,7 @@ var ValidateUtil = class {
1635
1775
  static isSignedFloat(input) {
1636
1776
  return this._signedFloat.test(input.toString());
1637
1777
  }
1778
+ static _unsignedFloat = /^\+?(\d+(\.\d+)?|\.\d+)$/;
1638
1779
  /**
1639
1780
  * 验证是否为无符号浮点数
1640
1781
  * @example
@@ -1645,6 +1786,7 @@ var ValidateUtil = class {
1645
1786
  static isUnsignedFloat(input) {
1646
1787
  return this._unsignedFloat.test(input.toString());
1647
1788
  }
1789
+ static _signedInteger = /^[+-]?\d+$/;
1648
1790
  /**
1649
1791
  * 验证是否为有符号整数
1650
1792
  * @example
@@ -1655,6 +1797,7 @@ var ValidateUtil = class {
1655
1797
  static isSignedInteger(input) {
1656
1798
  return this._signedInteger.test(input.toString());
1657
1799
  }
1800
+ static _unsignedInteger = /^\+?\d+$/;
1658
1801
  /**
1659
1802
  * 验证是否为无符号整数
1660
1803
  * @example
@@ -1665,6 +1808,7 @@ var ValidateUtil = class {
1665
1808
  static isUnsignedInteger(input) {
1666
1809
  return this._unsignedInteger.test(input.toString());
1667
1810
  }
1811
+ static _spaceInclude = /\s/;
1668
1812
  /**
1669
1813
  * 验证是否包含空格
1670
1814
  * @example
@@ -1675,6 +1819,7 @@ var ValidateUtil = class {
1675
1819
  static isSpaceInclude(input) {
1676
1820
  return this._spaceInclude.test(input.toString());
1677
1821
  }
1822
+ static _spaceStart = /^\s/;
1678
1823
  /**
1679
1824
  * 验证是否以空格开头
1680
1825
  * @example
@@ -1685,6 +1830,7 @@ var ValidateUtil = class {
1685
1830
  static isSpaceStart(input) {
1686
1831
  return this._spaceStart.test(input.toString());
1687
1832
  }
1833
+ static _spaceEnd = /\s$/;
1688
1834
  /**
1689
1835
  * 验证是否以空格结尾
1690
1836
  * @example
@@ -1706,36 +1852,5 @@ var ValidateUtil = class {
1706
1852
  return this.isSpaceStart(input) || this.isSpaceEnd(input);
1707
1853
  }
1708
1854
  };
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
1855
  //#endregion
1741
1856
  export { ArrayUtil, DateTimeUtil, EnvUtil, FunctionUtil, MimeUtil, NumberUtil, ObjectUtil, StringUtil, ThemeUtil, TreeUtil, TypeUtil, ValidateUtil };