@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
package/dist/index.cjs
DELETED
|
@@ -1,403 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
|
-
const assert = (condition, message) => {
|
|
6
|
-
if (!condition) {
|
|
7
|
-
throw new Error(message);
|
|
8
|
-
}
|
|
9
|
-
};
|
|
10
|
-
function callString(target, mode) {
|
|
11
|
-
const result = Object.prototype.toString.call(target);
|
|
12
|
-
if (typeof mode === "undefined") {
|
|
13
|
-
return result;
|
|
14
|
-
}
|
|
15
|
-
const typeStr = result.slice(8, -1);
|
|
16
|
-
if (mode === 0) {
|
|
17
|
-
return typeStr;
|
|
18
|
-
}
|
|
19
|
-
if (mode === -1) {
|
|
20
|
-
return typeStr.toLowerCase();
|
|
21
|
-
}
|
|
22
|
-
return typeStr.toUpperCase();
|
|
23
|
-
}
|
|
24
|
-
const noop = () => {
|
|
25
|
-
};
|
|
26
|
-
|
|
27
|
-
function randomRange(min, max) {
|
|
28
|
-
return Math.floor(Math.random() * (max - min + 1)) + min;
|
|
29
|
-
}
|
|
30
|
-
function randomRgbColor(raw = false) {
|
|
31
|
-
const [r, g, b] = Array(3).fill(0).map(() => Math.random()).map((item) => raw ? item * 255 : parseInt(`${item * 255}`, 10));
|
|
32
|
-
return `rgb(${r}, ${g}, ${b})`;
|
|
33
|
-
}
|
|
34
|
-
function randomHexColor() {
|
|
35
|
-
return `#${(Math.random() * 1048575 * 1e6).toString(16).slice(0, 6)}`;
|
|
36
|
-
}
|
|
37
|
-
function randomDate(start = "1999/01/1", end) {
|
|
38
|
-
const date = new Date();
|
|
39
|
-
const splitTag = start.includes("/") ? "/" : "-";
|
|
40
|
-
const [endY, endM, endD] = (end || "").split(splitTag);
|
|
41
|
-
const y = +endY || date.getFullYear();
|
|
42
|
-
const m = +endM || date.getMonth() + 1;
|
|
43
|
-
const d = +endD || date.getDate();
|
|
44
|
-
const [startY, startM, startD] = start.split("/");
|
|
45
|
-
const startDate = new Date(+startY, +startM, +startD).getTime();
|
|
46
|
-
const endDate = new Date(y, m, d).getTime();
|
|
47
|
-
return new Date(startDate + Math.round(Math.random() * (endDate - startDate)));
|
|
48
|
-
}
|
|
49
|
-
function randomUUID() {
|
|
50
|
-
return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, (c) => {
|
|
51
|
-
const r = Math.random() * 16 | 0;
|
|
52
|
-
const v = c === "x" ? r : r & 3 | 8;
|
|
53
|
-
return v.toString(16);
|
|
54
|
-
});
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
const regUriAndPort = /^((ht|f)tps?:\/\/)?[\w-]+(\.[\w-]+)+:\d{1,5}\/?$/;
|
|
58
|
-
const regUri = /^(((ht|f)tps?):\/\/)?([^!@#$%^&*?.\s-]([^!@#$%^&*?.\s]{0,63}[^!@#$%^&*?.\s])?\.)+[a-z]{2,6}\/?/;
|
|
59
|
-
const regDomain = /^([0-9a-zA-Z-]{1,}\.)+([a-zA-Z]{2,})$/;
|
|
60
|
-
const regIPV4 = /^((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.){3}(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])(?::(?:[0-9]|[1-9][0-9]{1,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5]))?$/;
|
|
61
|
-
const regIPV6 = /(^(?:(?:(?:[0-9A-Fa-f]{1,4}:){7}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){6}:[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){5}:([0-9A-Fa-f]{1,4}:)?[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){4}:([0-9A-Fa-f]{1,4}:){0,2}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){3}:([0-9A-Fa-f]{1,4}:){0,3}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){2}:([0-9A-Fa-f]{1,4}:){0,4}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){6}((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b)\.){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|(([0-9A-Fa-f]{1,4}:){0,5}:((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b)\.){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|(::([0-9A-Fa-f]{1,4}:){0,5}((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b)\.){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|([0-9A-Fa-f]{1,4}::([0-9A-Fa-f]{1,4}:){0,5}[0-9A-Fa-f]{1,4})|(::([0-9A-Fa-f]{1,4}:){0,6}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){1,7}:))$)|(^\[(?:(?:(?:[0-9A-Fa-f]{1,4}:){7}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){6}:[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){5}:([0-9A-Fa-f]{1,4}:)?[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){4}:([0-9A-Fa-f]{1,4}:){0,2}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){3}:([0-9A-Fa-f]{1,4}:){0,3}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){2}:([0-9A-Fa-f]{1,4}:){0,4}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){6}((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b)\.){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|(([0-9A-Fa-f]{1,4}:){0,5}:((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b)\.){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|(::([0-9A-Fa-f]{1,4}:){0,5}((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b)\.){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|([0-9A-Fa-f]{1,4}::([0-9A-Fa-f]{1,4}:){0,5}[0-9A-Fa-f]{1,4})|(::([0-9A-Fa-f]{1,4}:){0,6}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){1,7}:))\](?::(?:[0-9]|[1-9][0-9]{1,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5]))?$)/i;
|
|
62
|
-
const regJAVAPackageName = /^([a-zA-Z_]\w*)+([.][a-zA-Z_]\w*)+$/;
|
|
63
|
-
const regMacAddr = /^((([a-f0-9]{2}:){5})|(([a-f0-9]{2}-){5}))[a-f0-9]{2}$/i;
|
|
64
|
-
const regThunderEasy = /^thunderx?:\/\/[a-zA-Z\d]+=$/;
|
|
65
|
-
const regEd2kEasy = /^ed2k:\/\/\|file\|.+\|\/$/;
|
|
66
|
-
const regMagnetEasy = /^magnet:\?xt=urn:btih:[0-9a-fA-F]{40,}.*$/;
|
|
67
|
-
const regSubnetMask = /^(254|252|248|240|224|192|128)\.0\.0\.0|255\.(254|252|248|240|224|192|128|0)\.0\.0|255\.255\.(254|252|248|240|224|192|128|0)\.0|255\.255\.255\.(255|254|252|248|240|224|192|128|0)$/;
|
|
68
|
-
const regLinuxHideFilePath = /^\/(?:[^/]+\/)*\.[^/]*/;
|
|
69
|
-
const regLinuxFilePath = /^\/(?:[^/]+\/)*[^/]+$/;
|
|
70
|
-
const regLinuxFolderPath = /^\/(?:[^/]+\/)*$/;
|
|
71
|
-
const regWindowsFilePath = /^[a-zA-Z]:\\(?:\w+\\)*\w+\.\w+$/;
|
|
72
|
-
const regWindowsFolderPath = /^[a-zA-Z]:\\(?:\w+\\?)*$/;
|
|
73
|
-
const regHexadecimalColor = /^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/;
|
|
74
|
-
const regHtmlComments = /<!--[\s\S]*?-->/g;
|
|
75
|
-
const regHtmlTags = /<(\w+)[^>]*>(.*?<\/\1>)?/;
|
|
76
|
-
const regMD5 = /^[a-fA-F0-9]{32}$/;
|
|
77
|
-
const regUUID = /^[a-f\d]{4}(?:[a-f\d]{4}-){4}[a-f\d]{12}$/i;
|
|
78
|
-
const regSemVer = /^\d+(?:\.\d+){2}$/;
|
|
79
|
-
const regVideoUri = /^https?:\/\/(.+\/)+.+(\.(swf|avi|flv|mpg|rm|mov|wav|asf|3gp|mkv|rmvb|mp4))$/i;
|
|
80
|
-
const regImageUri = /^https?:\/\/(.+\/)+.+(\.(gif|png|jpg|jpeg|webp|svg|psd|bmp|tif))$/i;
|
|
81
|
-
const regBase64 = /^\s*data:(?:[a-z]+\/[a-z0-9-+.]+(?:;[a-z-]+=[a-z0-9-]+)?)?(?:;base64)?,([a-z0-9!$&',()*+;=\-._~:@/?%\s]*?)\s*$/i;
|
|
82
|
-
const regHHmmss = /^(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d$/;
|
|
83
|
-
const reghhmmss = /^(?:1[0-2]|0?[1-9]):[0-5]\d:[0-5]\d$/;
|
|
84
|
-
const regDateEasy = /^\d{1,4}(-)(1[0-2]|0?[1-9])\1(0?[1-9]|[1-2]\d|30|31)$/;
|
|
85
|
-
const regDate = /^(([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})-(((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)-(0[1-9]|[12][0-9]|30))|(02-(0[1-9]|[1][0-9]|2[0-8]))))|((([0-9]{2})(0[48]|[2468][048]|[13579][26])|((0[48]|[2468][048]|[3579][26])00))-02-29)$/;
|
|
86
|
-
const regDateMoment = /^\d{4}([/:-\S])(1[0-2]|0?[1-9])\1(0?[1-9]|[1-2]\d|30|31) (?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d$/;
|
|
87
|
-
const regEmail = /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
|
|
88
|
-
const regEmailEasy = /^[A-Za-z0-9\u4E00-\u9FA5]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/;
|
|
89
|
-
const regRepeat = /(.)\1+/;
|
|
90
|
-
const regASCII = /[\x21-\x2F\x3A-\x40\x5B-\x60\x7B-\x7E]+/;
|
|
91
|
-
const regChineseCharacters = /^(?:[\u3400-\u4DB5\u4E00-\u9FEA\uFA0E\uFA0F\uFA11\uFA13\uFA14\uFA1F\uFA21\uFA23\uFA24\uFA27-\uFA29]|[\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0])+$/;
|
|
92
|
-
const regChineseCharacterAndPoint = /[\u4E00-\u9FA5|\u3002|\uFF1F|\uFF01|\uFF0C|\u3001|\uFF1B|\uFF1A|\u201C|\u201D|\u2018|\u2019|\uFF08|\uFF09|\u300A|\u300B|\u3008|\u3009|\u3010|\u3011|\u300E|\u300F|\u300C|\u300D|\uFE43|\uFE44|\u3014|\u3015|\u2026|\u2014|\uFF5E|\uFE4F|\uFFE5]/;
|
|
93
|
-
const regChineseAndNumber = /^((?:[\u3400-\u4DB5\u4E00-\u9FEA\uFA0E\uFA0F\uFA11\uFA13\uFA14\uFA1F\uFA21\uFA23\uFA24\uFA27-\uFA29]|[\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0])|(\d))+$/;
|
|
94
|
-
const regLetterAndNumber = /^(?=.*[a-zA-Z])(?=.*\d).+$/;
|
|
95
|
-
const regLetterOrNumber = /^[A-Za-z0-9]+$/;
|
|
96
|
-
const regOnlyNumber = /^\d+$/;
|
|
97
|
-
const regLetters = /^[a-zA-Z]+$/;
|
|
98
|
-
const regLettersLower = /^[a-z]+$/;
|
|
99
|
-
const regLettersUpper = /^[A-Z]+$/;
|
|
100
|
-
const regNotLetter = /^[^A-Za-z]*$/;
|
|
101
|
-
const regDecimal = /^\d+\.\d+$/;
|
|
102
|
-
const regIntegerPositive = /^\+?[1-9]\d*$/;
|
|
103
|
-
const regIntegerNegative = /^-[1-9]\d*$/;
|
|
104
|
-
const regInteger = /^(?:0|(?:-?[1-9]\d*))$/;
|
|
105
|
-
const regFloatEasy = /^(-?[1-9]\d*\.\d+|-?0\.\d*[1-9]\d*|0\.0+)$/;
|
|
106
|
-
const regFloat = /^(-?[1-9]\d*\.\d+|-?0\.\d*[1-9])$/;
|
|
107
|
-
const regLicensePlateNE = /^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领][A-HJ-NP-Z](?:((\d{5}[A-HJK])|([A-HJK][A-HJ-NP-Z0-9][0-9]{4}))|[A-HJ-NP-Z0-9]{4}[A-HJ-NP-Z0-9挂学警港澳])$/;
|
|
108
|
-
const regLicensePlateLegacy = /^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领][A-HJ-NP-Z][A-HJ-NP-Z0-9]{4}[A-HJ-NP-Z0-9挂学警港澳]$/;
|
|
109
|
-
const regLicensePlateAll = /^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领][A-HJ-NP-Z][A-HJ-NP-Z0-9]{4,5}[A-HJ-NP-Z0-9挂学警港澳]$/;
|
|
110
|
-
const regIdentityCardV1 = /^[1-9]\d{7}(?:0\d|10|11|12)(?:0[1-9]|[1-2][\d]|30|31)\d{3}$/;
|
|
111
|
-
const regIdentityCardV2 = /^[1-9]\d{5}(?:18|19|20)\d{2}(?:0[1-9]|10|11|12)(?:0[1-9]|[1-2]\d|30|31)\d{3}[\dXx]$/;
|
|
112
|
-
const regIdentityCard = /^\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}))(\d|X|x)$/;
|
|
113
|
-
const regIdentityCardHK = /^[a-zA-Z]\d{6}\([\dA]\)$/;
|
|
114
|
-
const regIdentityCardMO = /^[1|5|7]\d{6}\(\d\)$/;
|
|
115
|
-
const regIdentityCardTWN = /^[a-zA-Z][0-9]{9}$/;
|
|
116
|
-
const regPassport = /(^[EeKkGgDdSsPpHh]\d{8}$)|(^(([Ee][a-fA-F])|([DdSsPp][Ee])|([Kk][Jj])|([Mm][Aa])|(1[45]))\d{7}$)/;
|
|
117
|
-
const regBankCardNo = /^[1-9]\d{9,29}$/;
|
|
118
|
-
const regChineseProvince = /^浙江|上海|北京|天津|重庆|黑龙江|吉林|辽宁|内蒙古|河北|新疆|甘肃|青海|陕西|宁夏|河南|山东|山西|安徽|湖北|湖南|江苏|四川|贵州|云南|广西|西藏|江西|广东|福建|台湾|海南|香港|澳门$/;
|
|
119
|
-
const regMobile = /^(?:(?:\+|00)86)?1(?:(?:3[\d])|(?:4[5-79])|(?:5[0-35-9])|(?:6[5-7])|(?:7[0-8])|(?:8[\d])|(?:9[189]))\d{8}$/;
|
|
120
|
-
const regMobileEasy = /^(?:(?:\+|00)86)?1[3-9]\d{9}$/;
|
|
121
|
-
const regMobileEasiest = /^(?:(?:\+|00)86)?1\d{10}$/;
|
|
122
|
-
const regTelephone = /^(?:(?:\d{3}-)?\d{8}|^(?:\d{4}-)?\d{7,8})(?:-\d+)?$/;
|
|
123
|
-
const regTrainNumber = /^[GCDZTSPKXLY1-9]\d{1,4}$/;
|
|
124
|
-
const regStockCodeA = /^(s[hz]|S[HZ])(000[\d]{3}|002[\d]{3}|300[\d]{3}|600[\d]{3}|60[\d]{4})$/;
|
|
125
|
-
const regIMEI = /^\d{15,17}$/;
|
|
126
|
-
const regCreditCode = /^[0-9A-HJ-NPQRTUWXY]{2}\d{6}[0-9A-HJ-NPQRTUWXY]{10}$/;
|
|
127
|
-
const regCreditCodeEasy = /^(([0-9A-Za-z]{15})|([0-9A-Za-z]{18})|([0-9A-Za-z]{20}))$/;
|
|
128
|
-
const regPostalCode = /^(0[1-7]|1[0-356]|2[0-7]|3[0-6]|4[0-7]|5[1-7]|6[1-7]|7[0-5]|8[013-6])\d{4}$/;
|
|
129
|
-
const regAmount = /^-?\d+(,\d{3})*(\.\d{1,2})?$/;
|
|
130
|
-
const regAmountEasy = /(?:^[1-9]([0-9]+)?(?:\.[0-9]{1,2})?$)|(?:^(?:0)$)|(?:^[0-9]\.[0-9](?:[0-9])?$)/;
|
|
131
|
-
const regExamScore = /^150$|^(?:\d|[1-9]\d|1[0-4]\d)(?:\.5)?$/;
|
|
132
|
-
const regChineseName = /^(?:[\u4E00-\u9FA5·]{2,16})$/;
|
|
133
|
-
const regEnglishName = /(^[a-zA-Z][a-zA-Z\s]{0,20}[a-zA-Z]$)/;
|
|
134
|
-
const regValidAccountV1 = /^[a-zA-Z0-9_-]{4,16}$/;
|
|
135
|
-
const regValidAccountV2 = /^[a-zA-Z]\w{4,15}$/;
|
|
136
|
-
const regQQ = /^[1-9][0-9]{4,10}$/;
|
|
137
|
-
const regWechatID = /^[a-zA-Z][-_a-zA-Z0-9]{5,19}$/;
|
|
138
|
-
const regPasswordV1 = /^(?![a-zA-Z]+$)(?![A-Z0-9]+$)(?![A-Z\W_!@#$%^&*`~()-+=]+$)(?![a-z0-9]+$)(?![a-z\W_!@#$%^&*`~()-+=]+$)(?![0-9\W_!@#$%^&*`~()-+=]+$)[a-zA-Z0-9\W_!@#$%^&*`~()-+=]/;
|
|
139
|
-
const regPasswordV2 = /^\S*(?=\S{6,})(?=\S*\d)(?=\S*[A-Z])(?=\S*[a-z])(?=\S*[!@#$%^&*? ])\S*$/;
|
|
140
|
-
|
|
141
|
-
/* eslint-disable no-undefined,no-param-reassign,no-shadow */
|
|
142
|
-
|
|
143
|
-
/**
|
|
144
|
-
* Throttle execution of a function. Especially useful for rate limiting
|
|
145
|
-
* execution of handlers on events like resize and scroll.
|
|
146
|
-
*
|
|
147
|
-
* @param {number} delay - A zero-or-greater delay in milliseconds. For event callbacks, values around 100 or 250 (or even higher)
|
|
148
|
-
* are most useful.
|
|
149
|
-
* @param {Function} callback - A function to be executed after delay milliseconds. The `this` context and all arguments are passed through,
|
|
150
|
-
* as-is, to `callback` when the throttled-function is executed.
|
|
151
|
-
* @param {object} [options] - An object to configure options.
|
|
152
|
-
* @param {boolean} [options.noTrailing] - Optional, defaults to false. If noTrailing is true, callback will only execute every `delay` milliseconds
|
|
153
|
-
* while the throttled-function is being called. If noTrailing is false or unspecified, callback will be executed
|
|
154
|
-
* one final time after the last throttled-function call. (After the throttled-function has not been called for
|
|
155
|
-
* `delay` milliseconds, the internal counter is reset).
|
|
156
|
-
* @param {boolean} [options.noLeading] - Optional, defaults to false. If noLeading is false, the first throttled-function call will execute callback
|
|
157
|
-
* immediately. If noLeading is true, the first the callback execution will be skipped. It should be noted that
|
|
158
|
-
* callback will never executed if both noLeading = true and noTrailing = true.
|
|
159
|
-
* @param {boolean} [options.debounceMode] - If `debounceMode` is true (at begin), schedule `clear` to execute after `delay` ms. If `debounceMode` is
|
|
160
|
-
* false (at end), schedule `callback` to execute after `delay` ms.
|
|
161
|
-
*
|
|
162
|
-
* @returns {Function} A new, throttled, function.
|
|
163
|
-
*/
|
|
164
|
-
function throttle (delay, callback, options) {
|
|
165
|
-
var _ref = options || {},
|
|
166
|
-
_ref$noTrailing = _ref.noTrailing,
|
|
167
|
-
noTrailing = _ref$noTrailing === void 0 ? false : _ref$noTrailing,
|
|
168
|
-
_ref$noLeading = _ref.noLeading,
|
|
169
|
-
noLeading = _ref$noLeading === void 0 ? false : _ref$noLeading,
|
|
170
|
-
_ref$debounceMode = _ref.debounceMode,
|
|
171
|
-
debounceMode = _ref$debounceMode === void 0 ? undefined : _ref$debounceMode;
|
|
172
|
-
/*
|
|
173
|
-
* After wrapper has stopped being called, this timeout ensures that
|
|
174
|
-
* `callback` is executed at the proper times in `throttle` and `end`
|
|
175
|
-
* debounce modes.
|
|
176
|
-
*/
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
var timeoutID;
|
|
180
|
-
var cancelled = false; // Keep track of the last time `callback` was executed.
|
|
181
|
-
|
|
182
|
-
var lastExec = 0; // Function to clear existing timeout
|
|
183
|
-
|
|
184
|
-
function clearExistingTimeout() {
|
|
185
|
-
if (timeoutID) {
|
|
186
|
-
clearTimeout(timeoutID);
|
|
187
|
-
}
|
|
188
|
-
} // Function to cancel next exec
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
function cancel(options) {
|
|
192
|
-
var _ref2 = options || {},
|
|
193
|
-
_ref2$upcomingOnly = _ref2.upcomingOnly,
|
|
194
|
-
upcomingOnly = _ref2$upcomingOnly === void 0 ? false : _ref2$upcomingOnly;
|
|
195
|
-
|
|
196
|
-
clearExistingTimeout();
|
|
197
|
-
cancelled = !upcomingOnly;
|
|
198
|
-
}
|
|
199
|
-
/*
|
|
200
|
-
* The `wrapper` function encapsulates all of the throttling / debouncing
|
|
201
|
-
* functionality and when executed will limit the rate at which `callback`
|
|
202
|
-
* is executed.
|
|
203
|
-
*/
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
function wrapper() {
|
|
207
|
-
for (var _len = arguments.length, arguments_ = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
208
|
-
arguments_[_key] = arguments[_key];
|
|
209
|
-
}
|
|
210
|
-
|
|
211
|
-
var self = this;
|
|
212
|
-
var elapsed = Date.now() - lastExec;
|
|
213
|
-
|
|
214
|
-
if (cancelled) {
|
|
215
|
-
return;
|
|
216
|
-
} // Execute `callback` and update the `lastExec` timestamp.
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
function exec() {
|
|
220
|
-
lastExec = Date.now();
|
|
221
|
-
callback.apply(self, arguments_);
|
|
222
|
-
}
|
|
223
|
-
/*
|
|
224
|
-
* If `debounceMode` is true (at begin) this is used to clear the flag
|
|
225
|
-
* to allow future `callback` executions.
|
|
226
|
-
*/
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
function clear() {
|
|
230
|
-
timeoutID = undefined;
|
|
231
|
-
}
|
|
232
|
-
|
|
233
|
-
if (!noLeading && debounceMode && !timeoutID) {
|
|
234
|
-
/*
|
|
235
|
-
* Since `wrapper` is being called for the first time and
|
|
236
|
-
* `debounceMode` is true (at begin), execute `callback`
|
|
237
|
-
* and noLeading != true.
|
|
238
|
-
*/
|
|
239
|
-
exec();
|
|
240
|
-
}
|
|
241
|
-
|
|
242
|
-
clearExistingTimeout();
|
|
243
|
-
|
|
244
|
-
if (debounceMode === undefined && elapsed > delay) {
|
|
245
|
-
if (noLeading) {
|
|
246
|
-
/*
|
|
247
|
-
* In throttle mode with noLeading, if `delay` time has
|
|
248
|
-
* been exceeded, update `lastExec` and schedule `callback`
|
|
249
|
-
* to execute after `delay` ms.
|
|
250
|
-
*/
|
|
251
|
-
lastExec = Date.now();
|
|
252
|
-
|
|
253
|
-
if (!noTrailing) {
|
|
254
|
-
timeoutID = setTimeout(debounceMode ? clear : exec, delay);
|
|
255
|
-
}
|
|
256
|
-
} else {
|
|
257
|
-
/*
|
|
258
|
-
* In throttle mode without noLeading, if `delay` time has been exceeded, execute
|
|
259
|
-
* `callback`.
|
|
260
|
-
*/
|
|
261
|
-
exec();
|
|
262
|
-
}
|
|
263
|
-
} else if (noTrailing !== true) {
|
|
264
|
-
/*
|
|
265
|
-
* In trailing throttle mode, since `delay` time has not been
|
|
266
|
-
* exceeded, schedule `callback` to execute `delay` ms after most
|
|
267
|
-
* recent execution.
|
|
268
|
-
*
|
|
269
|
-
* If `debounceMode` is true (at begin), schedule `clear` to execute
|
|
270
|
-
* after `delay` ms.
|
|
271
|
-
*
|
|
272
|
-
* If `debounceMode` is false (at end), schedule `callback` to
|
|
273
|
-
* execute after `delay` ms.
|
|
274
|
-
*/
|
|
275
|
-
timeoutID = setTimeout(debounceMode ? clear : exec, debounceMode === undefined ? delay - elapsed : delay);
|
|
276
|
-
}
|
|
277
|
-
}
|
|
278
|
-
|
|
279
|
-
wrapper.cancel = cancel; // Return the wrapper function.
|
|
280
|
-
|
|
281
|
-
return wrapper;
|
|
282
|
-
}
|
|
283
|
-
|
|
284
|
-
/* eslint-disable no-undefined */
|
|
285
|
-
/**
|
|
286
|
-
* Debounce execution of a function. Debouncing, unlike throttling,
|
|
287
|
-
* guarantees that a function is only executed a single time, either at the
|
|
288
|
-
* very beginning of a series of calls, or at the very end.
|
|
289
|
-
*
|
|
290
|
-
* @param {number} delay - A zero-or-greater delay in milliseconds. For event callbacks, values around 100 or 250 (or even higher) are most useful.
|
|
291
|
-
* @param {Function} callback - A function to be executed after delay milliseconds. The `this` context and all arguments are passed through, as-is,
|
|
292
|
-
* to `callback` when the debounced-function is executed.
|
|
293
|
-
* @param {object} [options] - An object to configure options.
|
|
294
|
-
* @param {boolean} [options.atBegin] - Optional, defaults to false. If atBegin is false or unspecified, callback will only be executed `delay` milliseconds
|
|
295
|
-
* after the last debounced-function call. If atBegin is true, callback will be executed only at the first debounced-function call.
|
|
296
|
-
* (After the throttled-function has not been called for `delay` milliseconds, the internal counter is reset).
|
|
297
|
-
*
|
|
298
|
-
* @returns {Function} A new, debounced function.
|
|
299
|
-
*/
|
|
300
|
-
|
|
301
|
-
function debounce (delay, callback, options) {
|
|
302
|
-
var _ref = options || {},
|
|
303
|
-
_ref$atBegin = _ref.atBegin,
|
|
304
|
-
atBegin = _ref$atBegin === void 0 ? false : _ref$atBegin;
|
|
305
|
-
|
|
306
|
-
return throttle(delay, callback, {
|
|
307
|
-
debounceMode: atBegin !== false
|
|
308
|
-
});
|
|
309
|
-
}
|
|
310
|
-
|
|
311
|
-
exports.assert = assert;
|
|
312
|
-
exports.callString = callString;
|
|
313
|
-
exports.debounce = debounce;
|
|
314
|
-
exports.noop = noop;
|
|
315
|
-
exports.randomDate = randomDate;
|
|
316
|
-
exports.randomHexColor = randomHexColor;
|
|
317
|
-
exports.randomRange = randomRange;
|
|
318
|
-
exports.randomRgbColor = randomRgbColor;
|
|
319
|
-
exports.randomUUID = randomUUID;
|
|
320
|
-
exports.regASCII = regASCII;
|
|
321
|
-
exports.regAmount = regAmount;
|
|
322
|
-
exports.regAmountEasy = regAmountEasy;
|
|
323
|
-
exports.regBankCardNo = regBankCardNo;
|
|
324
|
-
exports.regBase64 = regBase64;
|
|
325
|
-
exports.regChineseAndNumber = regChineseAndNumber;
|
|
326
|
-
exports.regChineseCharacterAndPoint = regChineseCharacterAndPoint;
|
|
327
|
-
exports.regChineseCharacters = regChineseCharacters;
|
|
328
|
-
exports.regChineseName = regChineseName;
|
|
329
|
-
exports.regChineseProvince = regChineseProvince;
|
|
330
|
-
exports.regCreditCode = regCreditCode;
|
|
331
|
-
exports.regCreditCodeEasy = regCreditCodeEasy;
|
|
332
|
-
exports.regDate = regDate;
|
|
333
|
-
exports.regDateEasy = regDateEasy;
|
|
334
|
-
exports.regDateMoment = regDateMoment;
|
|
335
|
-
exports.regDecimal = regDecimal;
|
|
336
|
-
exports.regDomain = regDomain;
|
|
337
|
-
exports.regEd2kEasy = regEd2kEasy;
|
|
338
|
-
exports.regEmail = regEmail;
|
|
339
|
-
exports.regEmailEasy = regEmailEasy;
|
|
340
|
-
exports.regEnglishName = regEnglishName;
|
|
341
|
-
exports.regExamScore = regExamScore;
|
|
342
|
-
exports.regFloat = regFloat;
|
|
343
|
-
exports.regFloatEasy = regFloatEasy;
|
|
344
|
-
exports.regHHmmss = regHHmmss;
|
|
345
|
-
exports.regHexadecimalColor = regHexadecimalColor;
|
|
346
|
-
exports.regHtmlComments = regHtmlComments;
|
|
347
|
-
exports.regHtmlTags = regHtmlTags;
|
|
348
|
-
exports.regIMEI = regIMEI;
|
|
349
|
-
exports.regIPV4 = regIPV4;
|
|
350
|
-
exports.regIPV6 = regIPV6;
|
|
351
|
-
exports.regIdentityCard = regIdentityCard;
|
|
352
|
-
exports.regIdentityCardHK = regIdentityCardHK;
|
|
353
|
-
exports.regIdentityCardMO = regIdentityCardMO;
|
|
354
|
-
exports.regIdentityCardTWN = regIdentityCardTWN;
|
|
355
|
-
exports.regIdentityCardV1 = regIdentityCardV1;
|
|
356
|
-
exports.regIdentityCardV2 = regIdentityCardV2;
|
|
357
|
-
exports.regImageUri = regImageUri;
|
|
358
|
-
exports.regInteger = regInteger;
|
|
359
|
-
exports.regIntegerNegative = regIntegerNegative;
|
|
360
|
-
exports.regIntegerPositive = regIntegerPositive;
|
|
361
|
-
exports.regJAVAPackageName = regJAVAPackageName;
|
|
362
|
-
exports.regLetterAndNumber = regLetterAndNumber;
|
|
363
|
-
exports.regLetterOrNumber = regLetterOrNumber;
|
|
364
|
-
exports.regLetters = regLetters;
|
|
365
|
-
exports.regLettersLower = regLettersLower;
|
|
366
|
-
exports.regLettersUpper = regLettersUpper;
|
|
367
|
-
exports.regLicensePlateAll = regLicensePlateAll;
|
|
368
|
-
exports.regLicensePlateLegacy = regLicensePlateLegacy;
|
|
369
|
-
exports.regLicensePlateNE = regLicensePlateNE;
|
|
370
|
-
exports.regLinuxFilePath = regLinuxFilePath;
|
|
371
|
-
exports.regLinuxFolderPath = regLinuxFolderPath;
|
|
372
|
-
exports.regLinuxHideFilePath = regLinuxHideFilePath;
|
|
373
|
-
exports.regMD5 = regMD5;
|
|
374
|
-
exports.regMacAddr = regMacAddr;
|
|
375
|
-
exports.regMagnetEasy = regMagnetEasy;
|
|
376
|
-
exports.regMobile = regMobile;
|
|
377
|
-
exports.regMobileEasiest = regMobileEasiest;
|
|
378
|
-
exports.regMobileEasy = regMobileEasy;
|
|
379
|
-
exports.regNotLetter = regNotLetter;
|
|
380
|
-
exports.regOnlyNumber = regOnlyNumber;
|
|
381
|
-
exports.regPassport = regPassport;
|
|
382
|
-
exports.regPasswordV1 = regPasswordV1;
|
|
383
|
-
exports.regPasswordV2 = regPasswordV2;
|
|
384
|
-
exports.regPostalCode = regPostalCode;
|
|
385
|
-
exports.regQQ = regQQ;
|
|
386
|
-
exports.regRepeat = regRepeat;
|
|
387
|
-
exports.regSemVer = regSemVer;
|
|
388
|
-
exports.regStockCodeA = regStockCodeA;
|
|
389
|
-
exports.regSubnetMask = regSubnetMask;
|
|
390
|
-
exports.regTelephone = regTelephone;
|
|
391
|
-
exports.regThunderEasy = regThunderEasy;
|
|
392
|
-
exports.regTrainNumber = regTrainNumber;
|
|
393
|
-
exports.regUUID = regUUID;
|
|
394
|
-
exports.regUri = regUri;
|
|
395
|
-
exports.regUriAndPort = regUriAndPort;
|
|
396
|
-
exports.regValidAccountV1 = regValidAccountV1;
|
|
397
|
-
exports.regValidAccountV2 = regValidAccountV2;
|
|
398
|
-
exports.regVideoUri = regVideoUri;
|
|
399
|
-
exports.regWechatID = regWechatID;
|
|
400
|
-
exports.regWindowsFilePath = regWindowsFilePath;
|
|
401
|
-
exports.regWindowsFolderPath = regWindowsFolderPath;
|
|
402
|
-
exports.reghhmmss = reghhmmss;
|
|
403
|
-
exports.throttle = throttle;
|