@pawover/kit 0.2.2 → 0.3.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.
package/package.json CHANGED
@@ -6,7 +6,7 @@
6
6
  "url": "https://github.com/pawover"
7
7
  },
8
8
  "description": "一个基于 TypeScript 的开发工具包",
9
- "version": "0.2.2",
9
+ "version": "0.3.0",
10
10
  "type": "module",
11
11
  "engines": {
12
12
  "node": ">=22.20.0"
@@ -53,8 +53,8 @@
53
53
  "devDependencies": {
54
54
  "@commitlint/cli": "^21.2.1",
55
55
  "@commitlint/config-conventional": "^21.2.0",
56
- "@eslint-react/eslint-plugin": "^5.14.6",
57
- "@pawover/eslint-rules": "^0.2.2",
56
+ "@eslint-react/eslint-plugin": "^5.14.8",
57
+ "@pawover/eslint-rules": "^0.2.3",
58
58
  "@playwright/test": "^1.61.1",
59
59
  "@stylistic/eslint-plugin": "^6.0.0-beta.5",
60
60
  "@types/fs-extra": "^11.0.4",
@@ -75,9 +75,9 @@
75
75
  "rimraf": "^6.1.3",
76
76
  "taze": "^19.14.1",
77
77
  "tsdown": "^0.22.7",
78
- "turbo": "^2.10.4",
78
+ "turbo": "^2.10.5",
79
79
  "typescript": "^6.0.3",
80
- "typescript-eslint": "^8.63.0",
80
+ "typescript-eslint": "^8.64.0",
81
81
  "vitest": "^4.1.10"
82
82
  },
83
83
  "peerDependencies": {
@@ -694,57 +694,65 @@ declare class FunctionUtil {
694
694
  */
695
695
  declare class MimeUtil {
696
696
  /**
697
- * 标准 MIME 类型常量,用于文件类型标识和 HTTP Content-Type 头部
698
- * 基于 IANA 注册标准和浏览器兼容性验证
697
+ * 文件类型 MIME 常量
698
+ * - 每个类型对应具体的文件扩展名
699
699
  */
700
- static readonly MIME: {
701
- /** 普通文本文件 */
700
+ static readonly FILE_MIME: {
701
+ /** 普通文本文件(.txt) */
702
702
  readonly TEXT: "text/plain";
703
- /** 超文本标记语言文档 */
703
+ /** 超文本标记语言文档(.html/.htm) */
704
704
  readonly HTML: "text/html";
705
- /** 层叠样式表文件 */
705
+ /** 层叠样式表文件(.css) */
706
706
  readonly CSS: "text/css";
707
- /** 逗号分隔值文件(表格数据) */
707
+ /** 逗号分隔值文件/表格数据(.csv) */
708
708
  readonly CSV: "text/csv";
709
- /** 制表符分隔值文件 */
709
+ /** 制表符分隔值文件(.tsv) */
710
710
  readonly TSV: "text/tab-separated-values";
711
- /** XML 文档 */
712
- readonly XML: "text/xml";
713
- /** XHTML 文档(XML 严格格式的 HTML) */
711
+ /** XML 文档(.xml) */
712
+ readonly XML: "application/xml";
713
+ /** XML 文档/兼容值 */
714
+ readonly XML_TEXT: "text/xml";
715
+ /** XHTML 文档(.xhtml/.xht) */
714
716
  readonly XHTML: "application/xhtml+xml";
715
- /** JavaScript 文件 */
717
+ /** JavaScript 文件(.js) */
716
718
  readonly JS: "text/javascript";
717
- /** TypeScript 文件 */
719
+ /** TypeScript 文件(.ts) */
718
720
  readonly TS: "text/typescript";
719
- /** Python 文件 */
721
+ /** Python 文件(.py) */
720
722
  readonly PY: "text/x-python";
721
723
  /** Shell 脚本 (.sh) */
722
724
  readonly SH: "text/x-sh";
723
- /** C 语言源文件 */
725
+ /** C 语言源文件(.c) */
724
726
  readonly C: "text/x-c";
725
- /** C++ 源文件 */
727
+ /** C++ 源文件(.cpp/.cc/.cxx) */
726
728
  readonly CPP: "text/x-c++";
727
- /** C# 源文件 */
729
+ /** C# 源文件(.cs) */
728
730
  readonly CSHARP: "text/x-csharp";
729
- /** Java 源文件 */
731
+ /** Java 源文件(.java) */
730
732
  readonly JAVA: "text/x-java";
731
- /** Go 源文件 */
733
+ /** Go 源文件(.go) */
732
734
  readonly GO: "text/x-go";
733
- /** Rust 源文件 */
735
+ /** Rust 源文件(.rs) */
734
736
  readonly RUST: "text/x-rust";
735
- /** PHP 文件 */
737
+ /** PHP 文件(.php) */
736
738
  readonly PHP: "text/x-php";
737
- /** Ruby 文件 */
739
+ /** Ruby 文件(.rb) */
738
740
  readonly RUBY: "text/x-ruby";
739
- /** Swift 源文件 */
741
+ /** Swift 源文件(.swift) */
740
742
  readonly SWIFT: "text/x-swift";
741
- /** YAML 文档 */
742
- readonly YAML: "text/vnd.yaml";
743
- /** TOML 文档 */
744
- readonly TOML: "text/x-toml";
745
- /** SQL 脚本 */
746
- readonly SQL: "text/x-sql";
747
- /** Markdown 格式文档 */
743
+ /** YAML 文档(.yaml/.yml) */
744
+ readonly YAML: "application/yaml";
745
+ /** YAML 文档/兼容值 */
746
+ readonly YAML_TEXT: "text/vnd.yaml";
747
+ /** TOML 文档(.toml) */
748
+ readonly TOML: "application/toml";
749
+ /** TOML 文档/兼容值 */
750
+ readonly TOML_TEXT: "text/x-toml";
751
+ /** SQL 脚本(.sql) */
752
+ readonly SQL: "application/sql";
753
+ /** SQL 脚本/兼容值 */
754
+ readonly SQL_TEXT: "text/x-sql";
755
+ /** Markdown 格式文档(.md/.markdown) */
748
756
  readonly MARKDOWN: "text/markdown";
749
757
  /** 富文本格式文档(.rtf) */
750
758
  readonly RTF: "application/rtf";
@@ -752,9 +760,11 @@ declare class MimeUtil {
752
760
  readonly CALENDAR: "text/calendar";
753
761
  /** JPEG 图像(.jpg/.jpeg) */
754
762
  readonly JPEG: "image/jpeg";
755
- /** PNG 图像(无损压缩,支持透明) */
763
+ /** JPG 图像(JPEG 别名,.jpg) */
764
+ readonly JPG: "image/jpeg";
765
+ /** PNG 图像/无损压缩,支持透明(.png) */
756
766
  readonly PNG: "image/png";
757
- /** GIF 图像(支持动画) */
767
+ /** GIF 图像/支持动画(.gif) */
758
768
  readonly GIF: "image/gif";
759
769
  /** Windows 位图(.bmp) */
760
770
  readonly BMP: "image/bmp";
@@ -762,16 +772,18 @@ declare class MimeUtil {
762
772
  readonly SVG: "image/svg+xml";
763
773
  /** APNG 动态图像(.apng) */
764
774
  readonly APNG: "image/apng";
765
- /** AVIF 图像(高效压缩) */
775
+ /** AVIF 图像/高效压缩(.avif) */
766
776
  readonly AVIF: "image/avif";
767
777
  /** 图标文件格式(.ico) */
768
778
  readonly ICO: "image/vnd.microsoft.icon";
769
- /** WebP 图像(高效压缩) */
779
+ /** WebP 图像/高效压缩(.webp) */
770
780
  readonly WEBP: "image/webp";
771
781
  /** TIFF 图像(.tif/.tiff) */
772
782
  readonly TIFF: "image/tiff";
773
- /** HEIC 图像(高效编码) */
783
+ /** HEIC 图像/高效编码(.heic) */
774
784
  readonly HEIC: "image/heic";
785
+ /** HEIF 图像/高效编码(.heif) */
786
+ readonly HEIF: "image/heif";
775
787
  /** Adobe Photoshop 文件(.psd) */
776
788
  readonly PSD: "image/vnd.adobe.photoshop";
777
789
  /** MP3 音频(.mp3) */
@@ -784,8 +796,12 @@ declare class MimeUtil {
784
796
  readonly OGG_AUDIO: "audio/ogg";
785
797
  /** Opus 音频(.opus) */
786
798
  readonly OPUS: "audio/opus";
799
+ /** FLAC 无损音频(.flac) */
800
+ readonly FLAC: "audio/flac";
787
801
  /** WAV 音频(.wav) */
788
802
  readonly WAV: "audio/wav";
803
+ /** WebM 音频(.weba) */
804
+ readonly WEBM_AUDIO: "audio/webm";
789
805
  /** RealAudio 音频(.ra/.ram) */
790
806
  readonly REAL_AUDIO: "audio/x-pn-realaudio";
791
807
  /** MP4 视频(.mp4) */
@@ -802,7 +818,9 @@ declare class MimeUtil {
802
818
  readonly THREE_GPP2: "video/3gpp2";
803
819
  /** WebM 视频(.webm) */
804
820
  readonly WEBM: "video/webm";
805
- /** PDF 文档 */
821
+ /** QuickTime 视频(.mov) */
822
+ readonly QUICKTIME: "video/quicktime";
823
+ /** PDF 文档(.pdf) */
806
824
  readonly PDF: "application/pdf";
807
825
  /** Word 97-2003 文档(.doc) */
808
826
  readonly DOC: "application/msword";
@@ -832,8 +850,6 @@ declare class MimeUtil {
832
850
  readonly ZIP: "application/zip";
833
851
  /** GZIP 压缩文件(.gz) */
834
852
  readonly GZIP: "application/gzip";
835
- /** GZIP 压缩文件(旧格式) */
836
- readonly X_GZIP: "application/x-gzip";
837
853
  /** TAR 归档文件(.tar) */
838
854
  readonly TAR: "application/x-tar";
839
855
  /** BZip 归档(.bz) */
@@ -844,12 +860,18 @@ declare class MimeUtil {
844
860
  readonly SEVEN_Z: "application/x-7z-compressed";
845
861
  /** RAR 压缩文件(.rar) */
846
862
  readonly RAR: "application/vnd.rar";
847
- /** 通用二进制数据(默认类型) */
848
- readonly OCTET_STREAM: "application/octet-stream";
863
+ /** XZ 压缩文件(.xz) */
864
+ readonly XZ: "application/x-xz";
865
+ /** Zstandard 压缩文件(.zst) */
866
+ readonly ZSTD: "application/zstd";
867
+ /** ISO 光盘镜像(.iso) */
868
+ readonly ISO9660_IMAGE: "application/x-iso9660-image";
849
869
  /** JSON 数据格式(.json) */
850
870
  readonly JSON: "application/json";
851
871
  /** JSON-LD 格式(.jsonld) */
852
872
  readonly LD_JSON: "application/ld+json";
873
+ /** Web App Manifest(.webmanifest) */
874
+ readonly MANIFEST: "application/manifest+json";
853
875
  /** Java 归档文件(.jar) */
854
876
  readonly JAR: "application/java-archive";
855
877
  /** WebAssembly 二进制指令格式(.wasm) */
@@ -871,6 +893,26 @@ declare class MimeUtil {
871
893
  /** Word 启用宏文档(.docm) */
872
894
  readonly DOCM: "application/vnd.ms-word.document.macroEnabled.12";
873
895
  };
896
+ /**
897
+ * 协议/内容类型 MIME 常量
898
+ * - 用于 HTTP 请求/响应内容协商,无对应文件扩展名
899
+ */
900
+ static readonly PROTOCOL_MIME: {
901
+ /** 通用二进制数据流 */
902
+ readonly OCTET_STREAM: "application/octet-stream";
903
+ /** URL 编码表单 */
904
+ readonly FORM_URLENCODED: "application/x-www-form-urlencoded";
905
+ /** multipart 表单 */
906
+ readonly FORM_DATA: "multipart/form-data";
907
+ /** Server-Sent Events 数据流 */
908
+ readonly EVENT_STREAM: "text/event-stream";
909
+ /** 问题详情 JSON(RFC 9457) */
910
+ readonly PROBLEM_JSON: "application/problem+json";
911
+ /** JSON Patch(RFC 6902) */
912
+ readonly JSON_PATCH: "application/json-patch+json";
913
+ /** JSON Merge Patch(RFC 7386) */
914
+ readonly MERGE_PATCH_JSON: "application/merge-patch+json";
915
+ };
874
916
  }
875
917
  //#endregion
876
918
  //#region src/number/numberUtil.d.ts
@@ -704,57 +704,65 @@ var FunctionUtil = class {
704
704
  */
705
705
  var MimeUtil = class {
706
706
  /**
707
- * 标准 MIME 类型常量,用于文件类型标识和 HTTP Content-Type 头部
708
- * 基于 IANA 注册标准和浏览器兼容性验证
707
+ * 文件类型 MIME 常量
708
+ * - 每个类型对应具体的文件扩展名
709
709
  */
710
- static MIME = {
711
- /** 普通文本文件 */
710
+ static FILE_MIME = {
711
+ /** 普通文本文件(.txt) */
712
712
  TEXT: "text/plain",
713
- /** 超文本标记语言文档 */
713
+ /** 超文本标记语言文档(.html/.htm) */
714
714
  HTML: "text/html",
715
- /** 层叠样式表文件 */
715
+ /** 层叠样式表文件(.css) */
716
716
  CSS: "text/css",
717
- /** 逗号分隔值文件(表格数据) */
717
+ /** 逗号分隔值文件/表格数据(.csv) */
718
718
  CSV: "text/csv",
719
- /** 制表符分隔值文件 */
719
+ /** 制表符分隔值文件(.tsv) */
720
720
  TSV: "text/tab-separated-values",
721
- /** XML 文档 */
722
- XML: "text/xml",
723
- /** XHTML 文档(XML 严格格式的 HTML) */
721
+ /** XML 文档(.xml) */
722
+ XML: "application/xml",
723
+ /** XML 文档/兼容值 */
724
+ XML_TEXT: "text/xml",
725
+ /** XHTML 文档(.xhtml/.xht) */
724
726
  XHTML: "application/xhtml+xml",
725
- /** JavaScript 文件 */
727
+ /** JavaScript 文件(.js) */
726
728
  JS: "text/javascript",
727
- /** TypeScript 文件 */
729
+ /** TypeScript 文件(.ts) */
728
730
  TS: "text/typescript",
729
- /** Python 文件 */
731
+ /** Python 文件(.py) */
730
732
  PY: "text/x-python",
731
733
  /** Shell 脚本 (.sh) */
732
734
  SH: "text/x-sh",
733
- /** C 语言源文件 */
735
+ /** C 语言源文件(.c) */
734
736
  C: "text/x-c",
735
- /** C++ 源文件 */
737
+ /** C++ 源文件(.cpp/.cc/.cxx) */
736
738
  CPP: "text/x-c++",
737
- /** C# 源文件 */
739
+ /** C# 源文件(.cs) */
738
740
  CSHARP: "text/x-csharp",
739
- /** Java 源文件 */
741
+ /** Java 源文件(.java) */
740
742
  JAVA: "text/x-java",
741
- /** Go 源文件 */
743
+ /** Go 源文件(.go) */
742
744
  GO: "text/x-go",
743
- /** Rust 源文件 */
745
+ /** Rust 源文件(.rs) */
744
746
  RUST: "text/x-rust",
745
- /** PHP 文件 */
747
+ /** PHP 文件(.php) */
746
748
  PHP: "text/x-php",
747
- /** Ruby 文件 */
749
+ /** Ruby 文件(.rb) */
748
750
  RUBY: "text/x-ruby",
749
- /** Swift 源文件 */
751
+ /** Swift 源文件(.swift) */
750
752
  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 格式文档 */
753
+ /** YAML 文档(.yaml/.yml) */
754
+ YAML: "application/yaml",
755
+ /** YAML 文档/兼容值 */
756
+ YAML_TEXT: "text/vnd.yaml",
757
+ /** TOML 文档(.toml) */
758
+ TOML: "application/toml",
759
+ /** TOML 文档/兼容值 */
760
+ TOML_TEXT: "text/x-toml",
761
+ /** SQL 脚本(.sql) */
762
+ SQL: "application/sql",
763
+ /** SQL 脚本/兼容值 */
764
+ SQL_TEXT: "text/x-sql",
765
+ /** Markdown 格式文档(.md/.markdown) */
758
766
  MARKDOWN: "text/markdown",
759
767
  /** 富文本格式文档(.rtf) */
760
768
  RTF: "application/rtf",
@@ -762,9 +770,11 @@ var MimeUtil = class {
762
770
  CALENDAR: "text/calendar",
763
771
  /** JPEG 图像(.jpg/.jpeg) */
764
772
  JPEG: "image/jpeg",
765
- /** PNG 图像(无损压缩,支持透明) */
773
+ /** JPG 图像(JPEG 别名,.jpg) */
774
+ JPG: "image/jpeg",
775
+ /** PNG 图像/无损压缩,支持透明(.png) */
766
776
  PNG: "image/png",
767
- /** GIF 图像(支持动画) */
777
+ /** GIF 图像/支持动画(.gif) */
768
778
  GIF: "image/gif",
769
779
  /** Windows 位图(.bmp) */
770
780
  BMP: "image/bmp",
@@ -772,16 +782,18 @@ var MimeUtil = class {
772
782
  SVG: "image/svg+xml",
773
783
  /** APNG 动态图像(.apng) */
774
784
  APNG: "image/apng",
775
- /** AVIF 图像(高效压缩) */
785
+ /** AVIF 图像/高效压缩(.avif) */
776
786
  AVIF: "image/avif",
777
787
  /** 图标文件格式(.ico) */
778
788
  ICO: "image/vnd.microsoft.icon",
779
- /** WebP 图像(高效压缩) */
789
+ /** WebP 图像/高效压缩(.webp) */
780
790
  WEBP: "image/webp",
781
791
  /** TIFF 图像(.tif/.tiff) */
782
792
  TIFF: "image/tiff",
783
- /** HEIC 图像(高效编码) */
793
+ /** HEIC 图像/高效编码(.heic) */
784
794
  HEIC: "image/heic",
795
+ /** HEIF 图像/高效编码(.heif) */
796
+ HEIF: "image/heif",
785
797
  /** Adobe Photoshop 文件(.psd) */
786
798
  PSD: "image/vnd.adobe.photoshop",
787
799
  /** MP3 音频(.mp3) */
@@ -794,8 +806,12 @@ var MimeUtil = class {
794
806
  OGG_AUDIO: "audio/ogg",
795
807
  /** Opus 音频(.opus) */
796
808
  OPUS: "audio/opus",
809
+ /** FLAC 无损音频(.flac) */
810
+ FLAC: "audio/flac",
797
811
  /** WAV 音频(.wav) */
798
812
  WAV: "audio/wav",
813
+ /** WebM 音频(.weba) */
814
+ WEBM_AUDIO: "audio/webm",
799
815
  /** RealAudio 音频(.ra/.ram) */
800
816
  REAL_AUDIO: "audio/x-pn-realaudio",
801
817
  /** MP4 视频(.mp4) */
@@ -812,7 +828,9 @@ var MimeUtil = class {
812
828
  THREE_GPP2: "video/3gpp2",
813
829
  /** WebM 视频(.webm) */
814
830
  WEBM: "video/webm",
815
- /** PDF 文档 */
831
+ /** QuickTime 视频(.mov) */
832
+ QUICKTIME: "video/quicktime",
833
+ /** PDF 文档(.pdf) */
816
834
  PDF: "application/pdf",
817
835
  /** Word 97-2003 文档(.doc) */
818
836
  DOC: "application/msword",
@@ -842,8 +860,6 @@ var MimeUtil = class {
842
860
  ZIP: "application/zip",
843
861
  /** GZIP 压缩文件(.gz) */
844
862
  GZIP: "application/gzip",
845
- /** GZIP 压缩文件(旧格式) */
846
- X_GZIP: "application/x-gzip",
847
863
  /** TAR 归档文件(.tar) */
848
864
  TAR: "application/x-tar",
849
865
  /** BZip 归档(.bz) */
@@ -854,12 +870,18 @@ var MimeUtil = class {
854
870
  SEVEN_Z: "application/x-7z-compressed",
855
871
  /** RAR 压缩文件(.rar) */
856
872
  RAR: "application/vnd.rar",
857
- /** 通用二进制数据(默认类型) */
858
- OCTET_STREAM: "application/octet-stream",
873
+ /** XZ 压缩文件(.xz) */
874
+ XZ: "application/x-xz",
875
+ /** Zstandard 压缩文件(.zst) */
876
+ ZSTD: "application/zstd",
877
+ /** ISO 光盘镜像(.iso) */
878
+ ISO9660_IMAGE: "application/x-iso9660-image",
859
879
  /** JSON 数据格式(.json) */
860
880
  JSON: "application/json",
861
881
  /** JSON-LD 格式(.jsonld) */
862
882
  LD_JSON: "application/ld+json",
883
+ /** Web App Manifest(.webmanifest) */
884
+ MANIFEST: "application/manifest+json",
863
885
  /** Java 归档文件(.jar) */
864
886
  JAR: "application/java-archive",
865
887
  /** WebAssembly 二进制指令格式(.wasm) */
@@ -881,6 +903,26 @@ var MimeUtil = class {
881
903
  /** Word 启用宏文档(.docm) */
882
904
  DOCM: "application/vnd.ms-word.document.macroEnabled.12"
883
905
  };
906
+ /**
907
+ * 协议/内容类型 MIME 常量
908
+ * - 用于 HTTP 请求/响应内容协商,无对应文件扩展名
909
+ */
910
+ static PROTOCOL_MIME = {
911
+ /** 通用二进制数据流 */
912
+ OCTET_STREAM: "application/octet-stream",
913
+ /** URL 编码表单 */
914
+ FORM_URLENCODED: "application/x-www-form-urlencoded",
915
+ /** multipart 表单 */
916
+ FORM_DATA: "multipart/form-data",
917
+ /** Server-Sent Events 数据流 */
918
+ EVENT_STREAM: "text/event-stream",
919
+ /** 问题详情 JSON(RFC 9457) */
920
+ PROBLEM_JSON: "application/problem+json",
921
+ /** JSON Patch(RFC 6902) */
922
+ JSON_PATCH: "application/json-patch+json",
923
+ /** JSON Merge Patch(RFC 7386) */
924
+ MERGE_PATCH_JSON: "application/merge-patch+json"
925
+ };
884
926
  };
885
927
  //#endregion
886
928
  //#region src/number/numberUtil.ts