@odinlin/utils 0.0.2 → 1.0.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/README.md +16 -20
- package/dist/browser/_virtual/rolldown_runtime.cjs +29 -0
- package/dist/browser/array/arrayCast.cjs +29 -0
- package/dist/browser/array/arrayCast.d.ts +27 -0
- package/dist/browser/array/arrayCast.d.ts.map +1 -0
- package/dist/browser/array/arrayCast.js +30 -0
- package/dist/browser/array/arrayCast.js.map +1 -0
- package/dist/browser/array/index.cjs +3 -0
- package/dist/browser/array/index.d.ts +2 -0
- package/dist/browser/array/index.js +3 -0
- package/dist/browser/browser.cjs +196 -0
- package/dist/browser/browser.d.ts +37 -0
- package/dist/browser/browser.js +30 -0
- package/dist/browser/constants/index.cjs +19 -0
- package/dist/browser/constants/index.d.ts +16 -0
- package/dist/browser/constants/index.d.ts.map +1 -0
- package/dist/browser/constants/index.js +17 -0
- package/dist/browser/constants/index.js.map +1 -0
- package/dist/browser/date/index.cjs +8 -0
- package/dist/browser/date/index.d.ts +3 -0
- package/dist/browser/date/index.js +4 -0
- package/dist/browser/date/prettyMs.cjs +9 -0
- package/dist/browser/date/prettyMs.d.ts +8 -0
- package/dist/browser/date/prettyMs.d.ts.map +1 -0
- package/dist/browser/date/prettyMs.js +8 -0
- package/dist/browser/date/prettyMs.js.map +1 -0
- package/dist/browser/date/timeAgo.cjs +14 -0
- package/dist/browser/date/timeAgo.d.ts +15 -0
- package/dist/browser/date/timeAgo.d.ts.map +1 -0
- package/dist/browser/date/timeAgo.js +11 -0
- package/dist/browser/date/timeAgo.js.map +1 -0
- package/dist/browser/file/browser.cjs +25 -0
- package/dist/browser/file/browser.d.ts +7 -0
- package/dist/browser/file/browser.js +7 -0
- package/dist/browser/file/fileBuffer.browser.cjs +115 -0
- package/dist/browser/file/fileBuffer.browser.d.ts +88 -0
- package/dist/browser/file/fileBuffer.browser.d.ts.map +1 -0
- package/dist/browser/file/fileBuffer.browser.js +115 -0
- package/dist/browser/file/fileBuffer.browser.js.map +1 -0
- package/dist/browser/file/fileBytes.cjs +9 -0
- package/dist/browser/file/fileBytes.d.ts +8 -0
- package/dist/browser/file/fileBytes.d.ts.map +1 -0
- package/dist/browser/file/fileBytes.js +8 -0
- package/dist/browser/file/fileBytes.js.map +1 -0
- package/dist/browser/file/fileType.browser.cjs +22 -0
- package/dist/browser/file/fileType.browser.d.ts +19 -0
- package/dist/browser/file/fileType.browser.d.ts.map +1 -0
- package/dist/browser/file/fileType.browser.js +15 -0
- package/dist/browser/file/fileType.browser.js.map +1 -0
- package/dist/browser/file/fileXml.browser.cjs +8 -0
- package/dist/browser/file/fileXml.browser.d.ts +12 -0
- package/dist/browser/file/fileXml.browser.d.ts.map +1 -0
- package/dist/browser/file/fileXml.browser.js +7 -0
- package/dist/browser/file/fileXml.browser.js.map +1 -0
- package/dist/browser/file/interface.d.ts +26 -0
- package/dist/browser/file/interface.d.ts.map +1 -0
- package/dist/browser/function/index.cjs +10 -0
- package/dist/browser/function/index.d.ts +8 -0
- package/dist/browser/function/index.d.ts.map +1 -0
- package/dist/browser/function/index.js +9 -0
- package/dist/browser/function/index.js.map +1 -0
- package/dist/browser/is/index.cjs +42 -0
- package/dist/browser/is/index.d.ts +7 -0
- package/dist/browser/is/index.js +8 -0
- package/dist/browser/is/isJSON.cjs +44 -0
- package/dist/browser/is/isJSON.d.ts +30 -0
- package/dist/browser/is/isJSON.d.ts.map +1 -0
- package/dist/browser/is/isJSON.js +41 -0
- package/dist/browser/is/isJSON.js.map +1 -0
- package/dist/browser/is/isPlatform.cjs +20 -0
- package/dist/browser/is/isPlatform.d.ts +16 -0
- package/dist/browser/is/isPlatform.d.ts.map +1 -0
- package/dist/browser/is/isPlatform.js +19 -0
- package/dist/browser/is/isPlatform.js.map +1 -0
- package/dist/browser/is/isPrimitive.cjs +91 -0
- package/dist/browser/is/isPrimitive.d.ts +79 -0
- package/dist/browser/is/isPrimitive.d.ts.map +1 -0
- package/dist/browser/is/isPrimitive.js +79 -0
- package/dist/browser/is/isPrimitive.js.map +1 -0
- package/dist/browser/is/isPrimitiveWithout.cjs +86 -0
- package/dist/browser/is/isPrimitiveWithout.d.ts +72 -0
- package/dist/browser/is/isPrimitiveWithout.d.ts.map +1 -0
- package/dist/browser/is/isPrimitiveWithout.js +74 -0
- package/dist/browser/is/isPrimitiveWithout.js.map +1 -0
- package/dist/browser/is/isTagOf.cjs +21 -0
- package/dist/browser/is/isTagOf.d.ts +12 -0
- package/dist/browser/is/isTagOf.d.ts.map +1 -0
- package/dist/browser/is/isTagOf.js +21 -0
- package/dist/browser/is/isTagOf.js.map +1 -0
- package/dist/browser/is/isTypeOf.cjs +29 -0
- package/dist/browser/is/isTypeOf.d.ts +16 -0
- package/dist/browser/is/isTypeOf.d.ts.map +1 -0
- package/dist/browser/is/isTypeOf.js +28 -0
- package/dist/browser/is/isTypeOf.js.map +1 -0
- package/dist/browser/object/index.cjs +3 -0
- package/dist/browser/object/index.d.ts +2 -0
- package/dist/browser/object/index.js +3 -0
- package/dist/browser/object/objectClone.cjs +22 -0
- package/dist/browser/object/objectClone.d.ts +8 -0
- package/dist/browser/object/objectClone.d.ts.map +1 -0
- package/dist/browser/object/objectClone.js +22 -0
- package/dist/browser/object/objectClone.js.map +1 -0
- package/dist/browser/promise/awaitTo.cjs +8 -0
- package/dist/browser/promise/awaitTo.d.ts +7 -0
- package/dist/browser/promise/awaitTo.d.ts.map +1 -0
- package/dist/browser/promise/awaitTo.js +8 -0
- package/dist/browser/promise/awaitTo.js.map +1 -0
- package/dist/browser/promise/index.cjs +6 -0
- package/dist/browser/promise/index.d.ts +3 -0
- package/dist/browser/promise/index.js +4 -0
- package/dist/browser/promise/pLimit.cjs +11 -0
- package/dist/browser/promise/pLimit.d.ts +10 -0
- package/dist/browser/promise/pLimit.d.ts.map +1 -0
- package/dist/browser/promise/pLimit.js +9 -0
- package/dist/browser/promise/pLimit.js.map +1 -0
- package/dist/browser/regexp/OTHERS.cjs +16 -0
- package/dist/browser/regexp/OTHERS.d.ts +14 -0
- package/dist/browser/regexp/OTHERS.d.ts.map +1 -0
- package/dist/browser/regexp/OTHERS.js +15 -0
- package/dist/browser/regexp/OTHERS.js.map +1 -0
- package/dist/browser/regexp/RULES.cjs +698 -0
- package/dist/browser/regexp/RULES.d.ts +434 -0
- package/dist/browser/regexp/RULES.d.ts.map +1 -0
- package/dist/browser/regexp/RULES.js +615 -0
- package/dist/browser/regexp/RULES.js.map +1 -0
- package/dist/browser/regexp/index.cjs +89 -0
- package/dist/browser/regexp/index.d.ts +13 -0
- package/dist/browser/regexp/index.d.ts.map +1 -0
- package/dist/browser/regexp/index.js +4 -0
- package/dist/browser/request/browser.cjs +8 -0
- package/dist/browser/request/browser.d.ts +4 -0
- package/dist/browser/request/browser.js +4 -0
- package/dist/browser/request/instance.cjs +135 -0
- package/dist/browser/request/instance.d.ts +45 -0
- package/dist/browser/request/instance.d.ts.map +1 -0
- package/dist/browser/request/instance.js +134 -0
- package/dist/browser/request/instance.js.map +1 -0
- package/dist/browser/request/interceptors.browser.cjs +66 -0
- package/dist/browser/request/interceptors.browser.d.ts +25 -0
- package/dist/browser/request/interceptors.browser.d.ts.map +1 -0
- package/dist/browser/request/interceptors.browser.js +63 -0
- package/dist/browser/request/interceptors.browser.js.map +1 -0
- package/dist/browser/request/interface.d.ts +54 -0
- package/dist/browser/request/interface.d.ts.map +1 -0
- package/dist/browser/string/className.cjs +13 -0
- package/dist/browser/string/className.d.ts +11 -0
- package/dist/browser/string/className.d.ts.map +1 -0
- package/dist/browser/string/className.js +10 -0
- package/dist/browser/string/className.js.map +1 -0
- package/dist/browser/string/index.cjs +7 -0
- package/dist/browser/string/index.d.ts +3 -0
- package/dist/browser/string/index.js +4 -0
- package/dist/browser/string/proto.cjs +37 -0
- package/dist/browser/string/proto.d.ts +19 -0
- package/dist/browser/string/proto.d.ts.map +1 -0
- package/dist/browser/string/proto.js +36 -0
- package/dist/browser/string/proto.js.map +1 -0
- package/dist/browser/tree/index.cjs +7 -0
- package/dist/browser/tree/index.d.ts +5 -0
- package/dist/browser/tree/index.js +5 -0
- package/dist/browser/tree/interface.d.ts +40 -0
- package/dist/browser/tree/interface.d.ts.map +1 -0
- package/dist/browser/tree/treeFilter.cjs +58 -0
- package/dist/browser/tree/treeFilter.d.ts +14 -0
- package/dist/browser/tree/treeFilter.d.ts.map +1 -0
- package/dist/browser/tree/treeFilter.js +59 -0
- package/dist/browser/tree/treeFilter.js.map +1 -0
- package/dist/browser/tree/treeFlatten.cjs +23 -0
- package/dist/browser/tree/treeFlatten.d.ts +15 -0
- package/dist/browser/tree/treeFlatten.d.ts.map +1 -0
- package/dist/browser/tree/treeFlatten.js +24 -0
- package/dist/browser/tree/treeFlatten.js.map +1 -0
- package/dist/browser/tree/treeGenerate.cjs +37 -0
- package/dist/browser/tree/treeGenerate.d.ts +16 -0
- package/dist/browser/tree/treeGenerate.d.ts.map +1 -0
- package/dist/browser/tree/treeGenerate.js +37 -0
- package/dist/browser/tree/treeGenerate.js.map +1 -0
- package/dist/noExternal/browser.esm.html +94 -0
- package/dist/noExternal/browser.esm.js +10734 -0
- package/dist/noExternal/browser.esm.min.js +16 -0
- package/dist/noExternal/browser.esm.min.js.map +1 -0
- package/dist/noExternal/browser.umd.html +28 -0
- package/dist/noExternal/browser.umd.js +10905 -0
- package/dist/noExternal/browser.umd.min.js +16 -0
- package/dist/noExternal/browser.umd.min.js.map +1 -0
- package/dist/noExternal/node.cjs.js +18282 -0
- package/dist/noExternal/node.cjs.min.js +0 -0
- package/dist/noExternal/node.cjs.min.js.map +1 -0
- package/dist/noExternal/node.esm.js +21727 -0
- package/dist/noExternal/node.esm.min.js +36 -0
- package/dist/noExternal/node.esm.min.js.map +1 -0
- package/dist/node/_virtual/rolldown_runtime.cjs +29 -0
- package/dist/node/array/arrayCast.cjs +29 -0
- package/dist/node/array/arrayCast.d.ts +27 -0
- package/dist/node/array/arrayCast.d.ts.map +1 -0
- package/dist/node/array/arrayCast.js +30 -0
- package/dist/node/array/arrayCast.js.map +1 -0
- package/dist/node/array/index.cjs +3 -0
- package/dist/node/array/index.d.ts +2 -0
- package/dist/node/array/index.js +3 -0
- package/dist/node/constants/index.cjs +19 -0
- package/dist/node/constants/index.d.ts +16 -0
- package/dist/node/constants/index.d.ts.map +1 -0
- package/dist/node/constants/index.js +17 -0
- package/dist/node/constants/index.js.map +1 -0
- package/dist/node/date/index.cjs +8 -0
- package/dist/node/date/index.d.ts +3 -0
- package/dist/node/date/index.js +4 -0
- package/dist/node/date/prettyMs.cjs +9 -0
- package/dist/node/date/prettyMs.d.ts +8 -0
- package/dist/node/date/prettyMs.d.ts.map +1 -0
- package/dist/node/date/prettyMs.js +8 -0
- package/dist/node/date/prettyMs.js.map +1 -0
- package/dist/node/date/timeAgo.cjs +14 -0
- package/dist/node/date/timeAgo.d.ts +15 -0
- package/dist/node/date/timeAgo.d.ts.map +1 -0
- package/dist/node/date/timeAgo.js +11 -0
- package/dist/node/date/timeAgo.js.map +1 -0
- package/dist/node/file/fileBuffer.node.cjs +115 -0
- package/dist/node/file/fileBuffer.node.d.ts +88 -0
- package/dist/node/file/fileBuffer.node.d.ts.map +1 -0
- package/dist/node/file/fileBuffer.node.js +115 -0
- package/dist/node/file/fileBuffer.node.js.map +1 -0
- package/dist/node/file/fileBytes.cjs +9 -0
- package/dist/node/file/fileBytes.d.ts +8 -0
- package/dist/node/file/fileBytes.d.ts.map +1 -0
- package/dist/node/file/fileBytes.js +8 -0
- package/dist/node/file/fileBytes.js.map +1 -0
- package/dist/node/file/fileType.node.cjs +22 -0
- package/dist/node/file/fileType.node.d.ts +19 -0
- package/dist/node/file/fileType.node.d.ts.map +1 -0
- package/dist/node/file/fileType.node.js +15 -0
- package/dist/node/file/fileType.node.js.map +1 -0
- package/dist/node/file/fileXml.node.cjs +10 -0
- package/dist/node/file/fileXml.node.d.ts +8 -0
- package/dist/node/file/fileXml.node.d.ts.map +1 -0
- package/dist/node/file/fileXml.node.js +9 -0
- package/dist/node/file/fileXml.node.js.map +1 -0
- package/dist/node/file/interface.d.ts +26 -0
- package/dist/node/file/interface.d.ts.map +1 -0
- package/dist/node/file/node.cjs +25 -0
- package/dist/node/file/node.d.ts +7 -0
- package/dist/node/file/node.js +7 -0
- package/dist/node/function/index.cjs +10 -0
- package/dist/node/function/index.d.ts +8 -0
- package/dist/node/function/index.d.ts.map +1 -0
- package/dist/node/function/index.js +9 -0
- package/dist/node/function/index.js.map +1 -0
- package/dist/node/is/index.cjs +42 -0
- package/dist/node/is/index.d.ts +7 -0
- package/dist/node/is/index.js +8 -0
- package/dist/node/is/isJSON.cjs +44 -0
- package/dist/node/is/isJSON.d.ts +30 -0
- package/dist/node/is/isJSON.d.ts.map +1 -0
- package/dist/node/is/isJSON.js +41 -0
- package/dist/node/is/isJSON.js.map +1 -0
- package/dist/node/is/isPlatform.cjs +20 -0
- package/dist/node/is/isPlatform.d.ts +16 -0
- package/dist/node/is/isPlatform.d.ts.map +1 -0
- package/dist/node/is/isPlatform.js +19 -0
- package/dist/node/is/isPlatform.js.map +1 -0
- package/dist/node/is/isPrimitive.cjs +91 -0
- package/dist/node/is/isPrimitive.d.ts +79 -0
- package/dist/node/is/isPrimitive.d.ts.map +1 -0
- package/dist/node/is/isPrimitive.js +79 -0
- package/dist/node/is/isPrimitive.js.map +1 -0
- package/dist/node/is/isPrimitiveWithout.cjs +86 -0
- package/dist/node/is/isPrimitiveWithout.d.ts +72 -0
- package/dist/node/is/isPrimitiveWithout.d.ts.map +1 -0
- package/dist/node/is/isPrimitiveWithout.js +74 -0
- package/dist/node/is/isPrimitiveWithout.js.map +1 -0
- package/dist/node/is/isTagOf.cjs +21 -0
- package/dist/node/is/isTagOf.d.ts +12 -0
- package/dist/node/is/isTagOf.d.ts.map +1 -0
- package/dist/node/is/isTagOf.js +21 -0
- package/dist/node/is/isTagOf.js.map +1 -0
- package/dist/node/is/isTypeOf.cjs +29 -0
- package/dist/node/is/isTypeOf.d.ts +16 -0
- package/dist/node/is/isTypeOf.d.ts.map +1 -0
- package/dist/node/is/isTypeOf.js +28 -0
- package/dist/node/is/isTypeOf.js.map +1 -0
- package/dist/node/node.cjs +196 -0
- package/dist/node/node.d.ts +37 -0
- package/dist/node/node.js +30 -0
- package/dist/node/object/index.cjs +3 -0
- package/dist/node/object/index.d.ts +2 -0
- package/dist/node/object/index.js +3 -0
- package/dist/node/object/objectClone.cjs +22 -0
- package/dist/node/object/objectClone.d.ts +8 -0
- package/dist/node/object/objectClone.d.ts.map +1 -0
- package/dist/node/object/objectClone.js +22 -0
- package/dist/node/object/objectClone.js.map +1 -0
- package/dist/node/promise/awaitTo.cjs +8 -0
- package/dist/node/promise/awaitTo.d.ts +7 -0
- package/dist/node/promise/awaitTo.d.ts.map +1 -0
- package/dist/node/promise/awaitTo.js +8 -0
- package/dist/node/promise/awaitTo.js.map +1 -0
- package/dist/node/promise/index.cjs +6 -0
- package/dist/node/promise/index.d.ts +3 -0
- package/dist/node/promise/index.js +4 -0
- package/dist/node/promise/pLimit.cjs +11 -0
- package/dist/node/promise/pLimit.d.ts +10 -0
- package/dist/node/promise/pLimit.d.ts.map +1 -0
- package/dist/node/promise/pLimit.js +9 -0
- package/dist/node/promise/pLimit.js.map +1 -0
- package/dist/node/regexp/OTHERS.cjs +16 -0
- package/dist/node/regexp/OTHERS.d.ts +14 -0
- package/dist/node/regexp/OTHERS.d.ts.map +1 -0
- package/dist/node/regexp/OTHERS.js +15 -0
- package/dist/node/regexp/OTHERS.js.map +1 -0
- package/dist/node/regexp/RULES.cjs +698 -0
- package/dist/node/regexp/RULES.d.ts +434 -0
- package/dist/node/regexp/RULES.d.ts.map +1 -0
- package/dist/node/regexp/RULES.js +615 -0
- package/dist/node/regexp/RULES.js.map +1 -0
- package/dist/node/regexp/index.cjs +89 -0
- package/dist/node/regexp/index.d.ts +13 -0
- package/dist/node/regexp/index.d.ts.map +1 -0
- package/dist/node/regexp/index.js +4 -0
- package/dist/node/request/instance.cjs +135 -0
- package/dist/node/request/instance.d.ts +45 -0
- package/dist/node/request/instance.d.ts.map +1 -0
- package/dist/node/request/instance.js +134 -0
- package/dist/node/request/instance.js.map +1 -0
- package/dist/node/request/interceptors.node.cjs +66 -0
- package/dist/node/request/interceptors.node.d.ts +25 -0
- package/dist/node/request/interceptors.node.d.ts.map +1 -0
- package/dist/node/request/interceptors.node.js +63 -0
- package/dist/node/request/interceptors.node.js.map +1 -0
- package/dist/node/request/interface.d.ts +54 -0
- package/dist/node/request/interface.d.ts.map +1 -0
- package/dist/node/request/node.cjs +8 -0
- package/dist/node/request/node.d.ts +4 -0
- package/dist/node/request/node.js +4 -0
- package/dist/node/string/className.cjs +13 -0
- package/dist/node/string/className.d.ts +11 -0
- package/dist/node/string/className.d.ts.map +1 -0
- package/dist/node/string/className.js +10 -0
- package/dist/node/string/className.js.map +1 -0
- package/dist/node/string/index.cjs +7 -0
- package/dist/node/string/index.d.ts +3 -0
- package/dist/node/string/index.js +4 -0
- package/dist/node/string/proto.cjs +37 -0
- package/dist/node/string/proto.d.ts +19 -0
- package/dist/node/string/proto.d.ts.map +1 -0
- package/dist/node/string/proto.js +36 -0
- package/dist/node/string/proto.js.map +1 -0
- package/dist/node/tree/index.cjs +7 -0
- package/dist/node/tree/index.d.ts +5 -0
- package/dist/node/tree/index.js +5 -0
- package/dist/node/tree/interface.d.ts +40 -0
- package/dist/node/tree/interface.d.ts.map +1 -0
- package/dist/node/tree/treeFilter.cjs +58 -0
- package/dist/node/tree/treeFilter.d.ts +14 -0
- package/dist/node/tree/treeFilter.d.ts.map +1 -0
- package/dist/node/tree/treeFilter.js +59 -0
- package/dist/node/tree/treeFilter.js.map +1 -0
- package/dist/node/tree/treeFlatten.cjs +23 -0
- package/dist/node/tree/treeFlatten.d.ts +15 -0
- package/dist/node/tree/treeFlatten.d.ts.map +1 -0
- package/dist/node/tree/treeFlatten.js +24 -0
- package/dist/node/tree/treeFlatten.js.map +1 -0
- package/dist/node/tree/treeGenerate.cjs +37 -0
- package/dist/node/tree/treeGenerate.d.ts +16 -0
- package/dist/node/tree/treeGenerate.d.ts.map +1 -0
- package/dist/node/tree/treeGenerate.js +37 -0
- package/dist/node/tree/treeGenerate.js.map +1 -0
- package/dist/version.d.ts +5 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +10 -0
- package/dist/version.js.map +1 -0
- package/package.json +95 -53
- package/LICENSE +0 -21
- package/dist/index.cjs +0 -403
- package/dist/index.d.ts +0 -496
- package/dist/index.mjs +0 -307
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
//#region rolldown:runtime
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __copyProps = (to, from, except, desc) => {
|
|
9
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
10
|
+
for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
|
|
11
|
+
key = keys[i];
|
|
12
|
+
if (!__hasOwnProp.call(to, key) && key !== except) {
|
|
13
|
+
__defProp(to, key, {
|
|
14
|
+
get: ((k) => from[k]).bind(null, key),
|
|
15
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
return to;
|
|
21
|
+
};
|
|
22
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
|
|
23
|
+
value: mod,
|
|
24
|
+
enumerable: true
|
|
25
|
+
}) : target, mod));
|
|
26
|
+
|
|
27
|
+
//#endregion
|
|
28
|
+
|
|
29
|
+
exports.__toESM = __toESM;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
const require_isPrimitive = require('../is/isPrimitive.cjs');
|
|
2
|
+
const require_isPrimitiveWithout = require('../is/isPrimitiveWithout.cjs');
|
|
3
|
+
|
|
4
|
+
//#region src/array/arrayCast.ts
|
|
5
|
+
/**
|
|
6
|
+
* Converts a value to an array.
|
|
7
|
+
*
|
|
8
|
+
* @param {unknown} value - The value to convert.
|
|
9
|
+
* @returns {any[]} Returns the converted array.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* arrayCast(null) // => returns []
|
|
13
|
+
* arrayCast(undefined) // => returns []
|
|
14
|
+
* arrayCast(1) // => returns [1]
|
|
15
|
+
* arrayCast([1, 2, 3]) // => returns [1, 2, 3]
|
|
16
|
+
* arrayCast('a') // => returns ['a']
|
|
17
|
+
* arrayCast(['a', 'b', 'c']) // => returns ['a', 'b', 'c']
|
|
18
|
+
* arrayCast(true) // => returns [true]
|
|
19
|
+
* arrayCast(false) // => returns [false]
|
|
20
|
+
* arrayCast([true, false]) // => returns [true, false]
|
|
21
|
+
* arrayCast({ a: '1' }) // => returns [{ a: '1' }]
|
|
22
|
+
*/
|
|
23
|
+
function arrayCast(value) {
|
|
24
|
+
if (require_isPrimitive.isNil(value)) return [];
|
|
25
|
+
return require_isPrimitiveWithout.isArray(value) ? Array.from(value) : [value];
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
//#endregion
|
|
29
|
+
exports.arrayCast = arrayCast;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
//#region src/array/arrayCast.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* 函数 arrayCast 的返回值
|
|
4
|
+
*/
|
|
5
|
+
type ArrayCastReturn<T> = T extends Array<infer U> ? U[] : (T extends null | undefined ? any[] : T[]);
|
|
6
|
+
/**
|
|
7
|
+
* Converts a value to an array.
|
|
8
|
+
*
|
|
9
|
+
* @param {unknown} value - The value to convert.
|
|
10
|
+
* @returns {any[]} Returns the converted array.
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* arrayCast(null) // => returns []
|
|
14
|
+
* arrayCast(undefined) // => returns []
|
|
15
|
+
* arrayCast(1) // => returns [1]
|
|
16
|
+
* arrayCast([1, 2, 3]) // => returns [1, 2, 3]
|
|
17
|
+
* arrayCast('a') // => returns ['a']
|
|
18
|
+
* arrayCast(['a', 'b', 'c']) // => returns ['a', 'b', 'c']
|
|
19
|
+
* arrayCast(true) // => returns [true]
|
|
20
|
+
* arrayCast(false) // => returns [false]
|
|
21
|
+
* arrayCast([true, false]) // => returns [true, false]
|
|
22
|
+
* arrayCast({ a: '1' }) // => returns [{ a: '1' }]
|
|
23
|
+
*/
|
|
24
|
+
declare function arrayCast<T>(value?: T): ArrayCastReturn<T>;
|
|
25
|
+
//#endregion
|
|
26
|
+
export { ArrayCastReturn, arrayCast };
|
|
27
|
+
//# sourceMappingURL=arrayCast.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"arrayCast.d.ts","names":[],"sources":["../../../src/array/arrayCast.ts"],"sourcesContent":[],"mappings":";;AAKA;;AAA2C,KAA/B,eAA+B,CAAA,CAAA,CAAA,GAAV,CAAU,SAAA,KAAA,CAAA,KAAA,EAAA,CAAA,GAAiB,CAAjB,EAAA,GAAA,CAAwB,CAAxB,SAAA,IAAA,GAAA,SAAA,GAAA,GAAA,EAAA,GAA6D,CAA7D,EAAA,CAAA;;;;;AAoB3C;;;;;;;;;;;;;;iBAAgB,qBAAqB,IAAI,gBAAgB"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { isNil } from "../is/isPrimitive.js";
|
|
2
|
+
import { isArray } from "../is/isPrimitiveWithout.js";
|
|
3
|
+
|
|
4
|
+
//#region src/array/arrayCast.ts
|
|
5
|
+
/**
|
|
6
|
+
* Converts a value to an array.
|
|
7
|
+
*
|
|
8
|
+
* @param {unknown} value - The value to convert.
|
|
9
|
+
* @returns {any[]} Returns the converted array.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* arrayCast(null) // => returns []
|
|
13
|
+
* arrayCast(undefined) // => returns []
|
|
14
|
+
* arrayCast(1) // => returns [1]
|
|
15
|
+
* arrayCast([1, 2, 3]) // => returns [1, 2, 3]
|
|
16
|
+
* arrayCast('a') // => returns ['a']
|
|
17
|
+
* arrayCast(['a', 'b', 'c']) // => returns ['a', 'b', 'c']
|
|
18
|
+
* arrayCast(true) // => returns [true]
|
|
19
|
+
* arrayCast(false) // => returns [false]
|
|
20
|
+
* arrayCast([true, false]) // => returns [true, false]
|
|
21
|
+
* arrayCast({ a: '1' }) // => returns [{ a: '1' }]
|
|
22
|
+
*/
|
|
23
|
+
function arrayCast(value) {
|
|
24
|
+
if (isNil(value)) return [];
|
|
25
|
+
return isArray(value) ? Array.from(value) : [value];
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
//#endregion
|
|
29
|
+
export { arrayCast };
|
|
30
|
+
//# sourceMappingURL=arrayCast.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"arrayCast.js","names":[],"sources":["../../../src/array/arrayCast.ts"],"sourcesContent":["import { isArray, isNil } from '../is'\n\n/**\n * 函数 arrayCast 的返回值\n */\nexport type ArrayCastReturn<T> = T extends Array<infer U> ? U[] : (T extends null | undefined ? any[] : T[])\n\n/**\n * Converts a value to an array.\n *\n * @param {unknown} value - The value to convert.\n * @returns {any[]} Returns the converted array.\n *\n * @example\n * arrayCast(null) // => returns []\n * arrayCast(undefined) // => returns []\n * arrayCast(1) // => returns [1]\n * arrayCast([1, 2, 3]) // => returns [1, 2, 3]\n * arrayCast('a') // => returns ['a']\n * arrayCast(['a', 'b', 'c']) // => returns ['a', 'b', 'c']\n * arrayCast(true) // => returns [true]\n * arrayCast(false) // => returns [false]\n * arrayCast([true, false]) // => returns [true, false]\n * arrayCast({ a: '1' }) // => returns [{ a: '1' }]\n */\nexport function arrayCast<T>(value?: T): ArrayCastReturn<T> {\n if (isNil(value)) return ([] as unknown as ArrayCastReturn<T>)\n return (isArray(value) ? Array.from(value) : [value]) as ArrayCastReturn<T>\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAyBA,SAAgB,UAAa,OAA+B;AAC1D,KAAI,MAAM,MAAM,CAAE,QAAQ,EAAE;AAC5B,QAAQ,QAAQ,MAAM,GAAG,MAAM,KAAK,MAAM,GAAG,CAAC,MAAM"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
|
|
2
|
+
//#region src/constants/index.ts
|
|
3
|
+
/**
|
|
4
|
+
* 空对象
|
|
5
|
+
*/
|
|
6
|
+
const CONSTANT_EMPTY_ARRAY = [];
|
|
7
|
+
/**
|
|
8
|
+
* 空数组
|
|
9
|
+
*/
|
|
10
|
+
const CONSTANT_EMPTY_OBJECT = {};
|
|
11
|
+
/**
|
|
12
|
+
* 空函数
|
|
13
|
+
*/
|
|
14
|
+
function CONSTANT_NOOP() {}
|
|
15
|
+
|
|
16
|
+
//#endregion
|
|
17
|
+
exports.CONSTANT_EMPTY_ARRAY = CONSTANT_EMPTY_ARRAY;
|
|
18
|
+
exports.CONSTANT_EMPTY_OBJECT = CONSTANT_EMPTY_OBJECT;
|
|
19
|
+
exports.CONSTANT_NOOP = CONSTANT_NOOP;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
//#region src/constants/index.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* 空对象
|
|
4
|
+
*/
|
|
5
|
+
declare const CONSTANT_EMPTY_ARRAY: never[];
|
|
6
|
+
/**
|
|
7
|
+
* 空数组
|
|
8
|
+
*/
|
|
9
|
+
declare const CONSTANT_EMPTY_OBJECT: {};
|
|
10
|
+
/**
|
|
11
|
+
* 空函数
|
|
12
|
+
*/
|
|
13
|
+
declare function CONSTANT_NOOP(): void;
|
|
14
|
+
//#endregion
|
|
15
|
+
export { CONSTANT_EMPTY_ARRAY, CONSTANT_EMPTY_OBJECT, CONSTANT_NOOP };
|
|
16
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/constants/index.ts"],"sourcesContent":[],"mappings":";;AAGA;AAKA;AAKgB,cAVH,oBAUgB,EAAA,KAAA,EAAA;;;;cALhB;;;;iBAKG,aAAA,CAAA"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
//#region src/constants/index.ts
|
|
2
|
+
/**
|
|
3
|
+
* 空对象
|
|
4
|
+
*/
|
|
5
|
+
const CONSTANT_EMPTY_ARRAY = [];
|
|
6
|
+
/**
|
|
7
|
+
* 空数组
|
|
8
|
+
*/
|
|
9
|
+
const CONSTANT_EMPTY_OBJECT = {};
|
|
10
|
+
/**
|
|
11
|
+
* 空函数
|
|
12
|
+
*/
|
|
13
|
+
function CONSTANT_NOOP() {}
|
|
14
|
+
|
|
15
|
+
//#endregion
|
|
16
|
+
export { CONSTANT_EMPTY_ARRAY, CONSTANT_EMPTY_OBJECT, CONSTANT_NOOP };
|
|
17
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../src/constants/index.ts"],"sourcesContent":["/**\n * 空对象\n */\nexport const CONSTANT_EMPTY_ARRAY = []\n\n/**\n * 空数组\n */\nexport const CONSTANT_EMPTY_OBJECT = {}\n\n/**\n * 空函数\n */\nexport function CONSTANT_NOOP(): void { }\n"],"mappings":";;;;AAGA,MAAa,uBAAuB,EAAE;;;;AAKtC,MAAa,wBAAwB,EAAE;;;;AAKvC,SAAgB,gBAAsB"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
const require_prettyMs = require('./prettyMs.cjs');
|
|
2
|
+
const require_timeAgo = require('./timeAgo.cjs');
|
|
3
|
+
|
|
4
|
+
exports.datePrettyMs = require_prettyMs.datePrettyMs;
|
|
5
|
+
exports.dateTimeAgoFormat = require_timeAgo.dateTimeAgoFormat;
|
|
6
|
+
exports.dateTimeAgoLocale = require_timeAgo.dateTimeAgoLocale;
|
|
7
|
+
exports.dateTimeAgoRender = require_timeAgo.dateTimeAgoRender;
|
|
8
|
+
exports.dateTimeAgoRenderCancel = require_timeAgo.dateTimeAgoRenderCancel;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { DatePrettyMsOptions, datePrettyMs } from "./prettyMs.js";
|
|
2
|
+
import { DateTimeAgoLocaleFunc, DateTimeAgoLocaleMap, DateTimeAgoOpts, DateTimeAgoTDate, DateTimeAgoTimerPool, dateTimeAgoFormat, dateTimeAgoLocale, dateTimeAgoRender, dateTimeAgoRenderCancel } from "./timeAgo.js";
|
|
3
|
+
export { DatePrettyMsOptions, DateTimeAgoLocaleFunc, DateTimeAgoLocaleMap, DateTimeAgoOpts, DateTimeAgoTDate, DateTimeAgoTimerPool, datePrettyMs, dateTimeAgoFormat, dateTimeAgoLocale, dateTimeAgoRender, dateTimeAgoRenderCancel };
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
|
|
2
|
+
let pretty_ms = require("pretty-ms");
|
|
3
|
+
pretty_ms = require_rolldown_runtime.__toESM(pretty_ms);
|
|
4
|
+
|
|
5
|
+
//#region src/date/prettyMs.ts
|
|
6
|
+
const datePrettyMs = pretty_ms.default;
|
|
7
|
+
|
|
8
|
+
//#endregion
|
|
9
|
+
exports.datePrettyMs = datePrettyMs;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import prettyMs, { Options } from "pretty-ms";
|
|
2
|
+
|
|
3
|
+
//#region src/date/prettyMs.d.ts
|
|
4
|
+
type DatePrettyMsOptions = Options;
|
|
5
|
+
declare const datePrettyMs: typeof prettyMs;
|
|
6
|
+
//#endregion
|
|
7
|
+
export { DatePrettyMsOptions, datePrettyMs };
|
|
8
|
+
//# sourceMappingURL=prettyMs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prettyMs.d.ts","names":[],"sources":["../../../src/date/prettyMs.ts"],"sourcesContent":[],"mappings":";;;KAGY,mBAAA,GAAsB;AAAtB,cAEC,YAFkB,EAAA,OAEN,QAFgB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prettyMs.js","names":[],"sources":["../../../src/date/prettyMs.ts"],"sourcesContent":["import type { Options } from 'pretty-ms'\nimport prettyMs from 'pretty-ms'\n\nexport type DatePrettyMsOptions = Options\n\nexport const datePrettyMs = prettyMs\n"],"mappings":";;;AAKA,MAAa,eAAe"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
|
|
2
|
+
let timeago_js = require("timeago.js");
|
|
3
|
+
|
|
4
|
+
//#region src/date/timeAgo.ts
|
|
5
|
+
const dateTimeAgoFormat = timeago_js.format;
|
|
6
|
+
const dateTimeAgoRender = timeago_js.render;
|
|
7
|
+
const dateTimeAgoRenderCancel = timeago_js.cancel;
|
|
8
|
+
const dateTimeAgoLocale = timeago_js.register;
|
|
9
|
+
|
|
10
|
+
//#endregion
|
|
11
|
+
exports.dateTimeAgoFormat = dateTimeAgoFormat;
|
|
12
|
+
exports.dateTimeAgoLocale = dateTimeAgoLocale;
|
|
13
|
+
exports.dateTimeAgoRender = dateTimeAgoRender;
|
|
14
|
+
exports.dateTimeAgoRenderCancel = dateTimeAgoRenderCancel;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { LocaleFunc, LocaleMap, Opts, TDate, TimerPool, cancel, render } from "timeago.js";
|
|
2
|
+
|
|
3
|
+
//#region src/date/timeAgo.d.ts
|
|
4
|
+
type DateTimeAgoLocaleFunc = LocaleFunc;
|
|
5
|
+
type DateTimeAgoLocaleMap = LocaleMap;
|
|
6
|
+
type DateTimeAgoOpts = Opts;
|
|
7
|
+
type DateTimeAgoTDate = TDate;
|
|
8
|
+
type DateTimeAgoTimerPool = TimerPool;
|
|
9
|
+
declare const dateTimeAgoFormat: (date: TDate, locale?: string, opts?: Opts) => string;
|
|
10
|
+
declare const dateTimeAgoRender: typeof render;
|
|
11
|
+
declare const dateTimeAgoRenderCancel: typeof cancel;
|
|
12
|
+
declare const dateTimeAgoLocale: (locale: string, func: LocaleFunc) => void;
|
|
13
|
+
//#endregion
|
|
14
|
+
export { DateTimeAgoLocaleFunc, DateTimeAgoLocaleMap, DateTimeAgoOpts, DateTimeAgoTDate, DateTimeAgoTimerPool, dateTimeAgoFormat, dateTimeAgoLocale, dateTimeAgoRender, dateTimeAgoRenderCancel };
|
|
15
|
+
//# sourceMappingURL=timeAgo.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"timeAgo.d.ts","names":[],"sources":["../../../src/date/timeAgo.ts"],"sourcesContent":[],"mappings":";;;KAGY,qBAAA,GAAwB;AAAxB,KACA,oBAAA,GAAuB,SADC;AACxB,KACA,eAAA,GAAkB,IADE;AACpB,KACA,gBAAA,GAAmB,KADD;AAClB,KACA,oBAAA,GAAuB,SADC;AACxB,cAEC,iBAFmB,EAAG,CAAA,IAAA,EAEL,KAFc,EAAA,MAAA,CAAA,EAAA,MAAA,EAAA,IAAA,CAAA,EAEd,IAFc,EAAA,GAAA,MAAA;AAE/B,cACA,iBADiB,EAAA,OACA,MADA;AACjB,cACA,uBAD0B,EAAA,OACH,MADG;AAC1B,cACA,iBADgC,EAAA,CAAA,MAAT,EAAA,MAAS,EAAA,IAAA,EACf,UADe,EAAA,GAAA,IAAA"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { cancel, format, register, render } from "timeago.js";
|
|
2
|
+
|
|
3
|
+
//#region src/date/timeAgo.ts
|
|
4
|
+
const dateTimeAgoFormat = format;
|
|
5
|
+
const dateTimeAgoRender = render;
|
|
6
|
+
const dateTimeAgoRenderCancel = cancel;
|
|
7
|
+
const dateTimeAgoLocale = register;
|
|
8
|
+
|
|
9
|
+
//#endregion
|
|
10
|
+
export { dateTimeAgoFormat, dateTimeAgoLocale, dateTimeAgoRender, dateTimeAgoRenderCancel };
|
|
11
|
+
//# sourceMappingURL=timeAgo.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"timeAgo.js","names":[],"sources":["../../../src/date/timeAgo.ts"],"sourcesContent":["import type { LocaleFunc, LocaleMap, Opts, TDate, TimerPool } from 'timeago.js'\nimport { cancel, format, register, render } from 'timeago.js'\n\nexport type DateTimeAgoLocaleFunc = LocaleFunc\nexport type DateTimeAgoLocaleMap = LocaleMap\nexport type DateTimeAgoOpts = Opts\nexport type DateTimeAgoTDate = TDate\nexport type DateTimeAgoTimerPool = TimerPool\n\nexport const dateTimeAgoFormat = format\nexport const dateTimeAgoRender = render\nexport const dateTimeAgoRenderCancel = cancel\nexport const dateTimeAgoLocale = register\n"],"mappings":";;;AASA,MAAa,oBAAoB;AACjC,MAAa,oBAAoB;AACjC,MAAa,0BAA0B;AACvC,MAAa,oBAAoB"}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
|
|
2
|
+
let es_toolkit = require("es-toolkit");
|
|
3
|
+
let node_buffer = require("node:buffer");
|
|
4
|
+
|
|
5
|
+
//#region src/file/fileBuffer.node.ts
|
|
6
|
+
/**
|
|
7
|
+
* 仅涉及到 Buffer/TypedArray/ArrayBuffer/String/Blob 之间的转换,不涉及修改操作
|
|
8
|
+
* From:
|
|
9
|
+
* Buffer/TypedArray/ArrayBuffer/String/Blob -> Buffer
|
|
10
|
+
* To:
|
|
11
|
+
* Buffer -> ArrayBuffer -> Blob -> File/ObjectURL
|
|
12
|
+
* Buffer -> ArrayBuffer -> TypedArray
|
|
13
|
+
* Buffer -> String
|
|
14
|
+
* 参考转化关系:
|
|
15
|
+
* typedArray
|
|
16
|
+
* ⬇️ typedArray.buffer <=> new Uint8Array/DataView(buffer)
|
|
17
|
+
* ArrayBuffer
|
|
18
|
+
* ⬇️ new Blob([buffer], { type: mimeType }) <=> await blob.arrayBuffer()
|
|
19
|
+
* Blob
|
|
20
|
+
* ⬇️ new File([blob], 'filename', { type: blob.type }) <=> file.slice(0, file.size, file.type)
|
|
21
|
+
* ⬇️ URL.createObjectURL(blob)
|
|
22
|
+
* File/ObjectURL
|
|
23
|
+
*/
|
|
24
|
+
var FileBuffer = class FileBuffer {
|
|
25
|
+
#buf;
|
|
26
|
+
/**
|
|
27
|
+
* 判断 TypedArray 类型的类型谓词
|
|
28
|
+
* @description 通过 ArrayBuffer.isView 判断是否为视图,并排除 DataView 类型
|
|
29
|
+
* @param {unknown} x 待检测值
|
|
30
|
+
*/
|
|
31
|
+
static isTypedArray(x) {
|
|
32
|
+
return (0, es_toolkit.isTypedArray)(x);
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* 判断 TypedArray 类型的类型谓词
|
|
36
|
+
* @description 通过 ArrayBuffer.isView 判断是否为视图,并排除 DataView 类型
|
|
37
|
+
* @param {unknown} x 待检测值
|
|
38
|
+
*/
|
|
39
|
+
static isDataView(x) {
|
|
40
|
+
return x instanceof DataView;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* 判断 ArrayBuffer 类型的类型谓词
|
|
44
|
+
* @param {unknown} x 待检测值
|
|
45
|
+
*/
|
|
46
|
+
static isArrayBuffer(x) {
|
|
47
|
+
return (0, es_toolkit.isArrayBuffer)(x);
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* 判断 Buffer 类型的类型谓词
|
|
51
|
+
* @param {unknown} x 待检测值
|
|
52
|
+
*/
|
|
53
|
+
static isBuffer(x) {
|
|
54
|
+
return typeof node_buffer.Buffer !== "undefined" && node_buffer.Buffer.isBuffer(x);
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* 判断 Blob 类型的类型谓词
|
|
58
|
+
* @param {unknown} x 待检测值
|
|
59
|
+
*/
|
|
60
|
+
static isBlob(x) {
|
|
61
|
+
return (0, es_toolkit.isBlob)(x);
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* 判断 File 类型的类型谓词
|
|
65
|
+
* @param {unknown} x 待检测值
|
|
66
|
+
*/
|
|
67
|
+
static isFile(x) {
|
|
68
|
+
return (0, es_toolkit.isFile)(x);
|
|
69
|
+
}
|
|
70
|
+
constructor(...args) {
|
|
71
|
+
if (new.target === FileBuffer) throw new Error("请使用静态方法 fromXXX 创建实例");
|
|
72
|
+
this.#buf = node_buffer.Buffer.from(...args);
|
|
73
|
+
}
|
|
74
|
+
/** Buffer -> Buffer ➡️ 新创建的 Buffer 与原 Buffer 共享相同的数据但修改互不影响 */
|
|
75
|
+
static fromBuffer(buffer) {
|
|
76
|
+
return new class extends FileBuffer {}(buffer);
|
|
77
|
+
}
|
|
78
|
+
toBuffer() {
|
|
79
|
+
return node_buffer.Buffer.from(this.#buf);
|
|
80
|
+
}
|
|
81
|
+
/** Buffer -> ArrayBuffer ➡️ 可指定区间;修改 Buffer 会直接修改 ArrayBuffer 的内容 */
|
|
82
|
+
static fromArrayBuffer(arrayBuffer, byteOffset, length) {
|
|
83
|
+
return new class extends FileBuffer {}(arrayBuffer, byteOffset, length);
|
|
84
|
+
}
|
|
85
|
+
toArrayBuffer() {
|
|
86
|
+
const begin = this.#buf.byteOffset;
|
|
87
|
+
const end = begin + this.#buf.length;
|
|
88
|
+
return this.#buf.buffer.slice(begin, end);
|
|
89
|
+
}
|
|
90
|
+
/** Buffer -> ArrayBuffer -> TypedArray ➡️ 修改 Buffer 会直接修改 TypedArray 的内容 */
|
|
91
|
+
static fromUint8Array(uint8Array) {
|
|
92
|
+
return new class extends FileBuffer {}(uint8Array);
|
|
93
|
+
}
|
|
94
|
+
toUint8Array() {
|
|
95
|
+
return new Uint8Array(this.toArrayBuffer());
|
|
96
|
+
}
|
|
97
|
+
/** Buffer -> ArrayBuffer -> Blob -> File/ObjectURL ➡️ 异步 + 参数指定 MIME 类型 */
|
|
98
|
+
static async fromBlob(blob) {
|
|
99
|
+
const arrayBuffer = await blob.arrayBuffer();
|
|
100
|
+
return new class extends FileBuffer {}(arrayBuffer);
|
|
101
|
+
}
|
|
102
|
+
toBlob(options) {
|
|
103
|
+
return new Blob([this.toArrayBuffer()], options);
|
|
104
|
+
}
|
|
105
|
+
/** Buffer -> String ➡️ 无需手动通过 Blob 和 FileReader 转换, Buffer.toString() 已实现 */
|
|
106
|
+
static fromString(str, encoding) {
|
|
107
|
+
return new class extends FileBuffer {}(str, encoding);
|
|
108
|
+
}
|
|
109
|
+
toString(encoding) {
|
|
110
|
+
return this.#buf.toString(encoding);
|
|
111
|
+
}
|
|
112
|
+
};
|
|
113
|
+
|
|
114
|
+
//#endregion
|
|
115
|
+
exports.FileBuffer = FileBuffer;
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { FileBlobOptions, FileBufferEncoding } from "./interface.js";
|
|
2
|
+
import { TypeTypedArray } from "../is/isPrimitiveWithout.js";
|
|
3
|
+
import { Buffer } from "node:buffer";
|
|
4
|
+
|
|
5
|
+
//#region src/file/fileBuffer.node.d.ts
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* 仅涉及到 Buffer/TypedArray/ArrayBuffer/String/Blob 之间的转换,不涉及修改操作
|
|
9
|
+
* From:
|
|
10
|
+
* Buffer/TypedArray/ArrayBuffer/String/Blob -> Buffer
|
|
11
|
+
* To:
|
|
12
|
+
* Buffer -> ArrayBuffer -> Blob -> File/ObjectURL
|
|
13
|
+
* Buffer -> ArrayBuffer -> TypedArray
|
|
14
|
+
* Buffer -> String
|
|
15
|
+
* 参考转化关系:
|
|
16
|
+
* typedArray
|
|
17
|
+
* ⬇️ typedArray.buffer <=> new Uint8Array/DataView(buffer)
|
|
18
|
+
* ArrayBuffer
|
|
19
|
+
* ⬇️ new Blob([buffer], { type: mimeType }) <=> await blob.arrayBuffer()
|
|
20
|
+
* Blob
|
|
21
|
+
* ⬇️ new File([blob], 'filename', { type: blob.type }) <=> file.slice(0, file.size, file.type)
|
|
22
|
+
* ⬇️ URL.createObjectURL(blob)
|
|
23
|
+
* File/ObjectURL
|
|
24
|
+
*/
|
|
25
|
+
declare class FileBuffer {
|
|
26
|
+
#private;
|
|
27
|
+
/**
|
|
28
|
+
* 判断 TypedArray 类型的类型谓词
|
|
29
|
+
* @description 通过 ArrayBuffer.isView 判断是否为视图,并排除 DataView 类型
|
|
30
|
+
* @param {unknown} x 待检测值
|
|
31
|
+
*/
|
|
32
|
+
static isTypedArray(x: unknown): x is TypeTypedArray;
|
|
33
|
+
/**
|
|
34
|
+
* 判断 TypedArray 类型的类型谓词
|
|
35
|
+
* @description 通过 ArrayBuffer.isView 判断是否为视图,并排除 DataView 类型
|
|
36
|
+
* @param {unknown} x 待检测值
|
|
37
|
+
*/
|
|
38
|
+
static isDataView(x: unknown): x is DataView;
|
|
39
|
+
/**
|
|
40
|
+
* 判断 ArrayBuffer 类型的类型谓词
|
|
41
|
+
* @param {unknown} x 待检测值
|
|
42
|
+
*/
|
|
43
|
+
static isArrayBuffer(x: unknown): x is ArrayBuffer;
|
|
44
|
+
/**
|
|
45
|
+
* 判断 Buffer 类型的类型谓词
|
|
46
|
+
* @param {unknown} x 待检测值
|
|
47
|
+
*/
|
|
48
|
+
static isBuffer(x: unknown): x is Buffer;
|
|
49
|
+
/**
|
|
50
|
+
* 判断 Blob 类型的类型谓词
|
|
51
|
+
* @param {unknown} x 待检测值
|
|
52
|
+
*/
|
|
53
|
+
static isBlob(x: unknown): x is Blob;
|
|
54
|
+
/**
|
|
55
|
+
* 判断 File 类型的类型谓词
|
|
56
|
+
* @param {unknown} x 待检测值
|
|
57
|
+
*/
|
|
58
|
+
static isFile(x: unknown): x is File;
|
|
59
|
+
constructor(...args: any[]);
|
|
60
|
+
/*************************************************************************/
|
|
61
|
+
/** Buffer -> Buffer ➡️ 新创建的 Buffer 与原 Buffer 共享相同的数据但修改互不影响 */
|
|
62
|
+
/*************************************************************************/
|
|
63
|
+
static fromBuffer(buffer: Buffer): FileBuffer;
|
|
64
|
+
toBuffer(): Uint8Array;
|
|
65
|
+
/***********************************************************************************/
|
|
66
|
+
/** Buffer -> ArrayBuffer ➡️ 可指定区间;修改 Buffer 会直接修改 ArrayBuffer 的内容 */
|
|
67
|
+
/***********************************************************************************/
|
|
68
|
+
static fromArrayBuffer(arrayBuffer: ArrayBuffer, byteOffset?: number, length?: number): FileBuffer;
|
|
69
|
+
toArrayBuffer(): ArrayBuffer;
|
|
70
|
+
/***********************************************************************************/
|
|
71
|
+
/** Buffer -> ArrayBuffer -> TypedArray ➡️ 修改 Buffer 会直接修改 TypedArray 的内容 */
|
|
72
|
+
/***********************************************************************************/
|
|
73
|
+
static fromUint8Array(uint8Array: Uint8Array): FileBuffer;
|
|
74
|
+
toUint8Array(): Uint8Array;
|
|
75
|
+
/***********************************************************************************/
|
|
76
|
+
/** Buffer -> ArrayBuffer -> Blob -> File/ObjectURL ➡️ 异步 + 参数指定 MIME 类型 */
|
|
77
|
+
/***********************************************************************************/
|
|
78
|
+
static fromBlob(blob: Blob): Promise<FileBuffer>;
|
|
79
|
+
toBlob(options?: FileBlobOptions): Blob;
|
|
80
|
+
/***********************************************************************************/
|
|
81
|
+
/** Buffer -> String ➡️ 无需手动通过 Blob 和 FileReader 转换, Buffer.toString() 已实现 */
|
|
82
|
+
/***********************************************************************************/
|
|
83
|
+
static fromString(str: string, encoding?: string): FileBuffer;
|
|
84
|
+
toString(encoding?: FileBufferEncoding): string;
|
|
85
|
+
}
|
|
86
|
+
//#endregion
|
|
87
|
+
export { FileBuffer };
|
|
88
|
+
//# sourceMappingURL=fileBuffer.node.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fileBuffer.node.d.ts","names":[],"sources":["../../../src/file/fileBuffer.node.ts"],"sourcesContent":[],"mappings":";;;;;;;;AA8BA;;;;;;;;;;;;;;;;AAyG8B,cAzGjB,UAAA,CAyGiB;EAAe,CAAA,OAAA;EAAR;;;;;EAiBG,OAAA,YAAA,CAAA,CAAA,EAAA,OAAA,CAAA,EAAA,CAAA,IAlHA,cAkHA;;;;;;sCAzGF;;;;;yCAQG;;;;;oCAQL;;;;;kCAQF;;;;;kCAQA;;;;;4BAgBN,SAAS;cAIvB;;;;sCAQwB,oDAAoD;mBAIvE;;;;oCAYiB,aAAa;kBAI/B;;;;wBAQY,OAAO,QAAQ;mBAK1B,kBAAkB;;;;qDAQgB;sBAI/B"}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import { isArrayBuffer, isBlob, isFile, isTypedArray } from "es-toolkit";
|
|
2
|
+
import { Buffer } from "node:buffer";
|
|
3
|
+
|
|
4
|
+
//#region src/file/fileBuffer.node.ts
|
|
5
|
+
/**
|
|
6
|
+
* 仅涉及到 Buffer/TypedArray/ArrayBuffer/String/Blob 之间的转换,不涉及修改操作
|
|
7
|
+
* From:
|
|
8
|
+
* Buffer/TypedArray/ArrayBuffer/String/Blob -> Buffer
|
|
9
|
+
* To:
|
|
10
|
+
* Buffer -> ArrayBuffer -> Blob -> File/ObjectURL
|
|
11
|
+
* Buffer -> ArrayBuffer -> TypedArray
|
|
12
|
+
* Buffer -> String
|
|
13
|
+
* 参考转化关系:
|
|
14
|
+
* typedArray
|
|
15
|
+
* ⬇️ typedArray.buffer <=> new Uint8Array/DataView(buffer)
|
|
16
|
+
* ArrayBuffer
|
|
17
|
+
* ⬇️ new Blob([buffer], { type: mimeType }) <=> await blob.arrayBuffer()
|
|
18
|
+
* Blob
|
|
19
|
+
* ⬇️ new File([blob], 'filename', { type: blob.type }) <=> file.slice(0, file.size, file.type)
|
|
20
|
+
* ⬇️ URL.createObjectURL(blob)
|
|
21
|
+
* File/ObjectURL
|
|
22
|
+
*/
|
|
23
|
+
var FileBuffer = class FileBuffer {
|
|
24
|
+
#buf;
|
|
25
|
+
/**
|
|
26
|
+
* 判断 TypedArray 类型的类型谓词
|
|
27
|
+
* @description 通过 ArrayBuffer.isView 判断是否为视图,并排除 DataView 类型
|
|
28
|
+
* @param {unknown} x 待检测值
|
|
29
|
+
*/
|
|
30
|
+
static isTypedArray(x) {
|
|
31
|
+
return isTypedArray(x);
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* 判断 TypedArray 类型的类型谓词
|
|
35
|
+
* @description 通过 ArrayBuffer.isView 判断是否为视图,并排除 DataView 类型
|
|
36
|
+
* @param {unknown} x 待检测值
|
|
37
|
+
*/
|
|
38
|
+
static isDataView(x) {
|
|
39
|
+
return x instanceof DataView;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* 判断 ArrayBuffer 类型的类型谓词
|
|
43
|
+
* @param {unknown} x 待检测值
|
|
44
|
+
*/
|
|
45
|
+
static isArrayBuffer(x) {
|
|
46
|
+
return isArrayBuffer(x);
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* 判断 Buffer 类型的类型谓词
|
|
50
|
+
* @param {unknown} x 待检测值
|
|
51
|
+
*/
|
|
52
|
+
static isBuffer(x) {
|
|
53
|
+
return typeof Buffer !== "undefined" && Buffer.isBuffer(x);
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* 判断 Blob 类型的类型谓词
|
|
57
|
+
* @param {unknown} x 待检测值
|
|
58
|
+
*/
|
|
59
|
+
static isBlob(x) {
|
|
60
|
+
return isBlob(x);
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* 判断 File 类型的类型谓词
|
|
64
|
+
* @param {unknown} x 待检测值
|
|
65
|
+
*/
|
|
66
|
+
static isFile(x) {
|
|
67
|
+
return isFile(x);
|
|
68
|
+
}
|
|
69
|
+
constructor(...args) {
|
|
70
|
+
if (new.target === FileBuffer) throw new Error("请使用静态方法 fromXXX 创建实例");
|
|
71
|
+
this.#buf = Buffer.from(...args);
|
|
72
|
+
}
|
|
73
|
+
/** Buffer -> Buffer ➡️ 新创建的 Buffer 与原 Buffer 共享相同的数据但修改互不影响 */
|
|
74
|
+
static fromBuffer(buffer) {
|
|
75
|
+
return new class extends FileBuffer {}(buffer);
|
|
76
|
+
}
|
|
77
|
+
toBuffer() {
|
|
78
|
+
return Buffer.from(this.#buf);
|
|
79
|
+
}
|
|
80
|
+
/** Buffer -> ArrayBuffer ➡️ 可指定区间;修改 Buffer 会直接修改 ArrayBuffer 的内容 */
|
|
81
|
+
static fromArrayBuffer(arrayBuffer, byteOffset, length) {
|
|
82
|
+
return new class extends FileBuffer {}(arrayBuffer, byteOffset, length);
|
|
83
|
+
}
|
|
84
|
+
toArrayBuffer() {
|
|
85
|
+
const begin = this.#buf.byteOffset;
|
|
86
|
+
const end = begin + this.#buf.length;
|
|
87
|
+
return this.#buf.buffer.slice(begin, end);
|
|
88
|
+
}
|
|
89
|
+
/** Buffer -> ArrayBuffer -> TypedArray ➡️ 修改 Buffer 会直接修改 TypedArray 的内容 */
|
|
90
|
+
static fromUint8Array(uint8Array) {
|
|
91
|
+
return new class extends FileBuffer {}(uint8Array);
|
|
92
|
+
}
|
|
93
|
+
toUint8Array() {
|
|
94
|
+
return new Uint8Array(this.toArrayBuffer());
|
|
95
|
+
}
|
|
96
|
+
/** Buffer -> ArrayBuffer -> Blob -> File/ObjectURL ➡️ 异步 + 参数指定 MIME 类型 */
|
|
97
|
+
static async fromBlob(blob) {
|
|
98
|
+
const arrayBuffer = await blob.arrayBuffer();
|
|
99
|
+
return new class extends FileBuffer {}(arrayBuffer);
|
|
100
|
+
}
|
|
101
|
+
toBlob(options) {
|
|
102
|
+
return new Blob([this.toArrayBuffer()], options);
|
|
103
|
+
}
|
|
104
|
+
/** Buffer -> String ➡️ 无需手动通过 Blob 和 FileReader 转换, Buffer.toString() 已实现 */
|
|
105
|
+
static fromString(str, encoding) {
|
|
106
|
+
return new class extends FileBuffer {}(str, encoding);
|
|
107
|
+
}
|
|
108
|
+
toString(encoding) {
|
|
109
|
+
return this.#buf.toString(encoding);
|
|
110
|
+
}
|
|
111
|
+
};
|
|
112
|
+
|
|
113
|
+
//#endregion
|
|
114
|
+
export { FileBuffer };
|
|
115
|
+
//# sourceMappingURL=fileBuffer.node.js.map
|