@wener/utils 1.1.27 → 1.1.29
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/lib/arrays/MaybeArray.js +36 -25
- package/lib/arrays/MaybeArray.js.map +1 -1
- package/lib/arrays/arrayFromAsync.js +5 -7
- package/lib/arrays/arrayFromAsync.js.map +1 -1
- package/lib/asyncs/AsyncInterval.js +11 -12
- package/lib/asyncs/AsyncInterval.js.map +1 -1
- package/lib/asyncs/MaybePromise.js +3 -0
- package/lib/asyncs/MaybePromise.js.map +1 -0
- package/lib/asyncs/createAsyncIterator.js +37 -35
- package/lib/asyncs/createAsyncIterator.js.map +1 -1
- package/lib/asyncs/createLazyPromise.js +59 -60
- package/lib/asyncs/createLazyPromise.js.map +1 -1
- package/lib/asyncs/firstOfAsyncIterator.js +7 -9
- package/lib/asyncs/firstOfAsyncIterator.js.map +1 -1
- package/lib/asyncs/generatorOfStream.js +16 -0
- package/lib/asyncs/generatorOfStream.js.map +1 -0
- package/lib/asyncs/isIterator.js +3 -4
- package/lib/asyncs/isIterator.js.map +1 -1
- package/lib/asyncs/isPromise.js +3 -4
- package/lib/asyncs/isPromise.js.map +1 -1
- package/lib/asyncs/isThenable.js +6 -0
- package/lib/asyncs/isThenable.js.map +1 -0
- package/lib/asyncs/nextOfAsyncIterator.js +20 -14
- package/lib/asyncs/nextOfAsyncIterator.js.map +1 -1
- package/lib/asyncs/promiseOfCallback.js +17 -0
- package/lib/asyncs/promiseOfCallback.js.map +1 -0
- package/lib/asyncs/sleep.js +2 -3
- package/lib/asyncs/sleep.js.map +1 -1
- package/lib/asyncs/timeout.js +22 -26
- package/lib/asyncs/timeout.js.map +1 -1
- package/lib/browsers/copy.js +47 -45
- package/lib/browsers/copy.js.map +1 -1
- package/lib/browsers/download.js +38 -27
- package/lib/browsers/download.js.map +1 -1
- package/lib/browsers/getFileFromDataTransfer.js +41 -28
- package/lib/browsers/getFileFromDataTransfer.js.map +1 -1
- package/lib/browsers/loaders.js +43 -43
- package/lib/browsers/loaders.js.map +1 -1
- package/lib/crypto/base.js +5 -4
- package/lib/crypto/base.js.map +1 -1
- package/lib/crypto/getNodeCrypto.js +14 -13
- package/lib/crypto/getNodeCrypto.js.map +1 -1
- package/lib/crypto/getRandomValues.js +22 -26
- package/lib/crypto/getRandomValues.js.map +1 -1
- package/lib/crypto/hashing.js +42 -50
- package/lib/crypto/hashing.js.map +1 -1
- package/lib/crypto/md5.bench.js +21 -0
- package/lib/crypto/md5.bench.js.map +1 -0
- package/lib/crypto/md5.d.js +3 -0
- package/lib/crypto/md5.d.js.map +1 -0
- package/lib/crypto/md5.js +119 -121
- package/lib/crypto/md5.js.map +1 -1
- package/lib/crypto/pem/pem.js +32 -35
- package/lib/crypto/pem/pem.js.map +1 -1
- package/lib/crypto/randomUUID.js +12 -11
- package/lib/crypto/randomUUID.js.map +1 -1
- package/lib/crypto/ulid.js +123 -112
- package/lib/crypto/ulid.js.map +1 -1
- package/lib/errors/Errors.js +167 -149
- package/lib/errors/Errors.js.map +1 -1
- package/lib/fetch/createFetchWith.js +20 -23
- package/lib/fetch/createFetchWith.js.map +1 -1
- package/lib/fetch/createFetchWithLogging.js +20 -16
- package/lib/fetch/createFetchWithLogging.js.map +1 -1
- package/lib/fetch/createFetchWithRetry.js +61 -65
- package/lib/fetch/createFetchWithRetry.js.map +1 -1
- package/lib/fetch/dumpRequest.js +39 -42
- package/lib/fetch/dumpRequest.js.map +1 -1
- package/lib/fetch/dumpResponse.js +13 -20
- package/lib/fetch/dumpResponse.js.map +1 -1
- package/lib/fetch/index.js +7 -0
- package/lib/fetch/index.js.map +1 -0
- package/lib/fetch/types.js +3 -0
- package/lib/fetch/types.js.map +1 -0
- package/lib/http/HttpStatus.js +89 -80
- package/lib/http/HttpStatus.js.map +1 -1
- package/lib/i18n/createTranslate.js +48 -48
- package/lib/i18n/createTranslate.js.map +1 -1
- package/lib/index.js +28 -14
- package/lib/index.js.map +1 -1
- package/lib/io/AbstractEncoding.js +7 -0
- package/lib/io/AbstractEncoding.js.map +1 -0
- package/lib/io/ArrayBuffer.test-d.js +7 -0
- package/lib/io/ArrayBuffer.test-d.js.map +1 -0
- package/lib/io/ArrayBuffers.js +198 -172
- package/lib/io/ArrayBuffers.js.map +1 -1
- package/lib/io/Buffer.js +21 -20
- package/lib/io/Buffer.js.map +1 -1
- package/lib/io/base64.js +49 -48
- package/lib/io/base64.js.map +1 -1
- package/lib/io/isBuffer.js +7 -5
- package/lib/io/isBuffer.js.map +1 -1
- package/lib/io/isTransferable.js +23 -19
- package/lib/io/isTransferable.js.map +1 -1
- package/lib/isomorphics/getGlobalThis.js +17 -12
- package/lib/isomorphics/getGlobalThis.js.map +1 -1
- package/lib/isomorphics/structuredClone.js +71 -63
- package/lib/isomorphics/structuredClone.js.map +1 -1
- package/lib/langs/MaybeFunction.js +7 -7
- package/lib/langs/MaybeFunction.js.map +1 -1
- package/lib/langs/classOf.js +3 -4
- package/lib/langs/classOf.js.map +1 -1
- package/lib/langs/deepEqual.js +77 -85
- package/lib/langs/deepEqual.js.map +1 -1
- package/lib/langs/deepFreeze.js +17 -13
- package/lib/langs/deepFreeze.js.map +1 -1
- package/lib/langs/hashCode.ignored.js +112 -0
- package/lib/langs/hashCode.ignored.js.map +1 -0
- package/lib/langs/isClass.js +3 -4
- package/lib/langs/isClass.js.map +1 -1
- package/lib/langs/isDefined.js +3 -4
- package/lib/langs/isDefined.js.map +1 -1
- package/lib/langs/isEmptyObject.js +3 -5
- package/lib/langs/isEmptyObject.js.map +1 -1
- package/lib/langs/isFunction.js +5 -0
- package/lib/langs/isFunction.js.map +1 -0
- package/lib/langs/isPlainObject.js +7 -8
- package/lib/langs/isPlainObject.js.map +1 -1
- package/lib/langs/memoize.js +19 -21
- package/lib/langs/memoize.js.map +1 -1
- package/lib/langs/parseBoolean.js +26 -27
- package/lib/langs/parseBoolean.js.map +1 -1
- package/lib/langs/shallowClone.js +12 -12
- package/lib/langs/shallowClone.js.map +1 -1
- package/lib/langs/shallowEqual.js +21 -18
- package/lib/langs/shallowEqual.js.map +1 -1
- package/lib/libs/ms.js +123 -103
- package/lib/libs/ms.js.map +1 -1
- package/lib/logging/Logger.js +5 -0
- package/lib/logging/Logger.js.map +1 -0
- package/lib/logging/createChildLogger.js +12 -14
- package/lib/logging/createChildLogger.js.map +1 -1
- package/lib/logging/createLogger.js +59 -33
- package/lib/logging/createLogger.js.map +1 -1
- package/lib/logging/createNoopLogger.js +11 -12
- package/lib/logging/createNoopLogger.js.map +1 -1
- package/lib/logging/slog.js +143 -0
- package/lib/logging/slog.js.map +1 -0
- package/lib/maths/clamp.js +20 -20
- package/lib/maths/clamp.js.map +1 -1
- package/lib/maths/random.js +14 -15
- package/lib/maths/random.js.map +1 -1
- package/lib/modules/isModule.js +5 -4
- package/lib/modules/isModule.js.map +1 -1
- package/lib/modules/parseModuleId.js +36 -31
- package/lib/modules/parseModuleId.js.map +1 -1
- package/lib/objects/get.js +13 -11
- package/lib/objects/get.js.map +1 -1
- package/lib/objects/get.test-d.js +33 -0
- package/lib/objects/get.test-d.js.map +1 -0
- package/lib/objects/merge/index.js +3 -0
- package/lib/objects/merge/index.js.map +1 -0
- package/lib/objects/merge/isMergeableObject.js +11 -10
- package/lib/objects/merge/isMergeableObject.js.map +1 -1
- package/lib/objects/merge/merge.js +65 -66
- package/lib/objects/merge/merge.js.map +1 -1
- package/lib/objects/parseObjectPath.js +35 -23
- package/lib/objects/parseObjectPath.js.map +1 -1
- package/lib/objects/set.js +33 -34
- package/lib/objects/set.js.map +1 -1
- package/lib/schema/typebox/gen/codegen/common/encoder.js +93 -67
- package/lib/schema/typebox/gen/codegen/common/encoder.js.map +1 -1
- package/lib/schema/typebox/gen/codegen/common/formatter.js +31 -8
- package/lib/schema/typebox/gen/codegen/common/formatter.js.map +1 -1
- package/lib/schema/typebox/gen/codegen/common/index.js +5 -0
- package/lib/schema/typebox/gen/codegen/common/index.js.map +1 -0
- package/lib/schema/typebox/gen/codegen/common/jsdoc.js +109 -60
- package/lib/schema/typebox/gen/codegen/common/jsdoc.js.map +1 -1
- package/lib/schema/typebox/gen/codegen/expression/compiler.js +359 -317
- package/lib/schema/typebox/gen/codegen/expression/compiler.js.map +1 -1
- package/lib/schema/typebox/gen/codegen/expression/errors.js +255 -233
- package/lib/schema/typebox/gen/codegen/expression/errors.js.map +1 -1
- package/lib/schema/typebox/gen/codegen/expression/evaluator.js +249 -236
- package/lib/schema/typebox/gen/codegen/expression/evaluator.js.map +1 -1
- package/lib/schema/typebox/gen/codegen/expression/expression.js +382 -198
- package/lib/schema/typebox/gen/codegen/expression/expression.js.map +1 -1
- package/lib/schema/typebox/gen/codegen/expression/index.js +6 -0
- package/lib/schema/typebox/gen/codegen/expression/index.js.map +1 -0
- package/lib/schema/typebox/gen/codegen/index.js +5 -19
- package/lib/schema/typebox/gen/codegen/index.js.map +1 -1
- package/lib/schema/typebox/gen/codegen/model/index.js +16 -0
- package/lib/schema/typebox/gen/codegen/model/index.js.map +1 -0
- package/lib/schema/typebox/gen/codegen/model/model-to-arktype.js +236 -260
- package/lib/schema/typebox/gen/codegen/model/model-to-arktype.js.map +1 -1
- package/lib/schema/typebox/gen/codegen/model/model-to-expression.js +348 -352
- package/lib/schema/typebox/gen/codegen/model/model-to-expression.js.map +1 -1
- package/lib/schema/typebox/gen/codegen/model/model-to-grpc.js +214 -242
- package/lib/schema/typebox/gen/codegen/model/model-to-grpc.js.map +1 -1
- package/lib/schema/typebox/gen/codegen/model/model-to-io-ts.js +229 -292
- package/lib/schema/typebox/gen/codegen/model/model-to-io-ts.js.map +1 -1
- package/lib/schema/typebox/gen/codegen/model/model-to-javascript.js +42 -15
- package/lib/schema/typebox/gen/codegen/model/model-to-javascript.js.map +1 -1
- package/lib/schema/typebox/gen/codegen/model/model-to-json-schema.js +168 -168
- package/lib/schema/typebox/gen/codegen/model/model-to-json-schema.js.map +1 -1
- package/lib/schema/typebox/gen/codegen/model/model-to-typebox.js +31 -8
- package/lib/schema/typebox/gen/codegen/model/model-to-typebox.js.map +1 -1
- package/lib/schema/typebox/gen/codegen/model/model-to-typescript.js +156 -190
- package/lib/schema/typebox/gen/codegen/model/model-to-typescript.js.map +1 -1
- package/lib/schema/typebox/gen/codegen/model/model-to-valibot.js +215 -249
- package/lib/schema/typebox/gen/codegen/model/model-to-valibot.js.map +1 -1
- package/lib/schema/typebox/gen/codegen/model/model-to-value.js +37 -13
- package/lib/schema/typebox/gen/codegen/model/model-to-value.js.map +1 -1
- package/lib/schema/typebox/gen/codegen/model/model-to-yrel.js +201 -242
- package/lib/schema/typebox/gen/codegen/model/model-to-yrel.js.map +1 -1
- package/lib/schema/typebox/gen/codegen/model/model-to-yup.js +200 -245
- package/lib/schema/typebox/gen/codegen/model/model-to-yup.js.map +1 -1
- package/lib/schema/typebox/gen/codegen/model/model-to-zod.js +223 -268
- package/lib/schema/typebox/gen/codegen/model/model-to-zod.js.map +1 -1
- package/lib/schema/typebox/gen/codegen/model/model.js +27 -0
- package/lib/schema/typebox/gen/codegen/model/model.js.map +1 -0
- package/lib/schema/typebox/gen/codegen/typescript/index.js +4 -0
- package/lib/schema/typebox/gen/codegen/typescript/index.js.map +1 -0
- package/lib/schema/typebox/gen/codegen/typescript/typescript-to-model.js +43 -40
- package/lib/schema/typebox/gen/codegen/typescript/typescript-to-model.js.map +1 -1
- package/lib/schema/typebox/gen/codegen/typescript/typescript-to-typebox.js +592 -616
- package/lib/schema/typebox/gen/codegen/typescript/typescript-to-typebox.js.map +1 -1
- package/lib/schema/typebox/gen/index.js +3 -3
- package/lib/schema/typebox/gen/index.js.map +1 -1
- package/lib/schema/typebox/index.js +3 -3
- package/lib/schema/typebox/index.js.map +1 -1
- package/lib/schema/typebox/typebox.js +18 -29
- package/lib/schema/typebox/typebox.js.map +1 -1
- package/lib/server.js +2 -1
- package/lib/server.js.map +1 -1
- package/lib/servers/crypto/md5.js +3 -5
- package/lib/servers/crypto/md5.js.map +1 -1
- package/lib/servers/fetch/createFetchWithProxy.js +2 -4
- package/lib/servers/fetch/createFetchWithProxy.js.map +1 -1
- package/lib/servers/fetch/createFetchWithProxyByNodeFetch.js +34 -34
- package/lib/servers/fetch/createFetchWithProxyByNodeFetch.js.map +1 -1
- package/lib/servers/fetch/createFetchWithProxyByUndici.js +57 -58
- package/lib/servers/fetch/createFetchWithProxyByUndici.js.map +1 -1
- package/lib/servers/getPackageDir.js +8 -10
- package/lib/servers/getPackageDir.js.map +1 -1
- package/lib/servers/jsdom.js +3 -2
- package/lib/servers/jsdom.js.map +1 -1
- package/lib/servers/node-fetch.js +4 -3
- package/lib/servers/node-fetch.js.map +1 -1
- package/lib/servers/polyfill/polyfillBrowser.js +17 -0
- package/lib/servers/polyfill/polyfillBrowser.js.map +1 -0
- package/lib/servers/polyfill/polyfillCrypto.js +8 -10
- package/lib/servers/polyfill/polyfillCrypto.js.map +1 -1
- package/lib/servers/polyfill/polyfillFetch.js +23 -22
- package/lib/servers/polyfill/polyfillFetch.js.map +1 -1
- package/lib/servers/polyfill/polyfillJsDom.js +59 -52
- package/lib/servers/polyfill/polyfillJsDom.js.map +1 -1
- package/lib/servers/polyfill/polyfillWebSocket.js +13 -13
- package/lib/servers/polyfill/polyfillWebSocket.js.map +1 -1
- package/lib/servers/ws.js +3 -2
- package/lib/servers/ws.js.map +1 -1
- package/lib/strings/camelCase.js +51 -49
- package/lib/strings/camelCase.js.map +1 -1
- package/lib/strings/formatBytes.js +41 -15
- package/lib/strings/formatBytes.js.map +1 -1
- package/lib/strings/renderTemplate.js +27 -20
- package/lib/strings/renderTemplate.js.map +1 -1
- package/lib/typedoc.js +4 -0
- package/lib/typedoc.js.map +1 -0
- package/lib/types/global.d.js +2 -0
- package/lib/types/global.d.js.map +1 -0
- package/lib/types/index.d.js +6 -0
- package/lib/types/index.d.js.map +1 -0
- package/lib/validations/asserts.js +14 -0
- package/lib/validations/asserts.js.map +1 -0
- package/lib/validations/isUUID.js +3 -4
- package/lib/validations/isUUID.js.map +1 -1
- package/lib/validations/parseTimestamp.js +25 -21
- package/lib/validations/parseTimestamp.js.map +1 -1
- package/package.json +47 -47
- package/dist/LICENSE.txt +0 -1
- package/dist/cjs/createFetchWith-qhRObsE4.js +0 -2
- package/dist/cjs/createFetchWith-qhRObsE4.js.map +0 -1
- package/dist/cjs/getGlobalThis-GhffAgiG.js +0 -2
- package/dist/cjs/getGlobalThis-GhffAgiG.js.map +0 -1
- package/dist/cjs/index.cjs +0 -21
- package/dist/cjs/index.cjs.map +0 -1
- package/dist/cjs/schema/typebox/gen/index.cjs +0 -118
- package/dist/cjs/schema/typebox/gen/index.cjs.map +0 -1
- package/dist/cjs/schema/typebox/index.cjs +0 -2
- package/dist/cjs/schema/typebox/index.cjs.map +0 -1
- package/dist/cjs/server.cjs +0 -2
- package/dist/cjs/server.cjs.map +0 -1
- package/dist/cjs/servers/jsdom.cjs +0 -2
- package/dist/cjs/servers/jsdom.cjs.map +0 -1
- package/dist/cjs/servers/node-fetch.cjs +0 -2
- package/dist/cjs/servers/node-fetch.cjs.map +0 -1
- package/dist/cjs/servers/ws.cjs +0 -2
- package/dist/cjs/servers/ws.cjs.map +0 -1
- package/dist/esm/createFetchWith-1q1S-Xro.js +0 -2
- package/dist/esm/createFetchWith-1q1S-Xro.js.map +0 -1
- package/dist/esm/getGlobalThis-A8F-nU7J.js +0 -2
- package/dist/esm/getGlobalThis-A8F-nU7J.js.map +0 -1
- package/dist/esm/index.js +0 -21
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/schema/typebox/gen.js +0 -118
- package/dist/esm/schema/typebox/gen.js.map +0 -1
- package/dist/esm/schema/typebox.js +0 -2
- package/dist/esm/schema/typebox.js.map +0 -1
- package/dist/esm/server.js +0 -2
- package/dist/esm/server.js.map +0 -1
- package/dist/esm/servers/jsdom.js +0 -2
- package/dist/esm/servers/jsdom.js.map +0 -1
- package/dist/esm/servers/node-fetch.js +0 -2
- package/dist/esm/servers/node-fetch.js.map +0 -1
- package/dist/esm/servers/ws.js +0 -2
- package/dist/esm/servers/ws.js.map +0 -1
- package/dist/system/createFetchWith-TjUle-dI.js +0 -2
- package/dist/system/createFetchWith-TjUle-dI.js.map +0 -1
- package/dist/system/getGlobalThis-X5ifUXDI.js +0 -2
- package/dist/system/getGlobalThis-X5ifUXDI.js.map +0 -1
- package/dist/system/index.js +0 -21
- package/dist/system/index.js.map +0 -1
- package/dist/system/schema/typebox/gen.js +0 -118
- package/dist/system/schema/typebox/gen.js.map +0 -1
- package/dist/system/schema/typebox.js +0 -2
- package/dist/system/schema/typebox.js.map +0 -1
- package/dist/system/server.js +0 -2
- package/dist/system/server.js.map +0 -1
- package/dist/system/servers/jsdom.js +0 -2
- package/dist/system/servers/jsdom.js.map +0 -1
- package/dist/system/servers/node-fetch.js +0 -2
- package/dist/system/servers/node-fetch.js.map +0 -1
- package/dist/system/servers/ws.js +0 -2
- package/dist/system/servers/ws.js.map +0 -1
package/lib/strings/camelCase.js
CHANGED
|
@@ -1,56 +1,58 @@
|
|
|
1
|
+
// https://github.com/sindresorhus/camelcase/blob/master/index.js
|
|
1
2
|
function preserveCamelCase(string) {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
3
|
+
let isLastCharLower = false;
|
|
4
|
+
let isLastCharUpper = false;
|
|
5
|
+
let isLastLastCharUpper = false;
|
|
6
|
+
for(let i = 0; i < string.length; i++){
|
|
7
|
+
const character = string[i];
|
|
8
|
+
if (isLastCharLower && /[a-zA-Z]/.test(character) && character.toUpperCase() === character) {
|
|
9
|
+
string = string.slice(0, i) + '-' + string.slice(i);
|
|
10
|
+
isLastCharLower = false;
|
|
11
|
+
isLastLastCharUpper = isLastCharUpper;
|
|
12
|
+
isLastCharUpper = true;
|
|
13
|
+
i++;
|
|
14
|
+
} else if (isLastCharUpper && isLastLastCharUpper && /[a-zA-Z]/.test(character) && character.toLowerCase() === character) {
|
|
15
|
+
string = string.slice(0, i - 1) + '-' + string.slice(i - 1);
|
|
16
|
+
isLastLastCharUpper = isLastCharUpper;
|
|
17
|
+
isLastCharUpper = false;
|
|
18
|
+
isLastCharLower = true;
|
|
19
|
+
} else {
|
|
20
|
+
isLastCharLower = character.toLowerCase() === character && character.toUpperCase() !== character;
|
|
21
|
+
isLastLastCharUpper = isLastCharUpper;
|
|
22
|
+
isLastCharUpper = character.toUpperCase() === character && character.toLowerCase() !== character;
|
|
23
|
+
}
|
|
22
24
|
}
|
|
23
|
-
|
|
24
|
-
return string;
|
|
25
|
+
return string;
|
|
25
26
|
}
|
|
26
|
-
function pascalCase(input) {
|
|
27
|
-
|
|
27
|
+
export function pascalCase(input) {
|
|
28
|
+
return camelCase(input, {
|
|
29
|
+
pascalCase: true
|
|
30
|
+
});
|
|
28
31
|
}
|
|
29
|
-
function camelCase(input, options = {
|
|
30
|
-
|
|
32
|
+
export function camelCase(input, options = {
|
|
33
|
+
pascalCase: false
|
|
31
34
|
}) {
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
35
|
+
if (!(typeof input === 'string' || Array.isArray(input))) {
|
|
36
|
+
throw new TypeError('Expected the input to be `string | string[]`');
|
|
37
|
+
}
|
|
38
|
+
const postProcess = (x)=>options.pascalCase ? x.charAt(0).toUpperCase() + x.slice(1) : x;
|
|
39
|
+
if (Array.isArray(input)) {
|
|
40
|
+
input = input.map((x)=>x.trim()).filter((x)=>x.length).join('-');
|
|
41
|
+
} else {
|
|
42
|
+
input = input.trim();
|
|
43
|
+
}
|
|
44
|
+
if (input.length === 0) {
|
|
45
|
+
return '';
|
|
46
|
+
}
|
|
47
|
+
if (input.length === 1) {
|
|
48
|
+
return options.pascalCase ? input.toUpperCase() : input.toLowerCase();
|
|
49
|
+
}
|
|
50
|
+
const hasUpperCase = input !== input.toLowerCase();
|
|
51
|
+
if (hasUpperCase) {
|
|
52
|
+
input = preserveCamelCase(input);
|
|
53
|
+
}
|
|
54
|
+
input = input.replace(/^[_.\- ]+/, '').toLowerCase().replace(/[_.\- ]+(\w|$)/g, (_, p1)=>p1.toUpperCase()).replace(/\d+(\w|$)/g, (m)=>m.toUpperCase());
|
|
55
|
+
return postProcess(input);
|
|
53
56
|
}
|
|
54
57
|
|
|
55
|
-
|
|
56
|
-
//# sourceMappingURL=camelCase.js.map
|
|
58
|
+
//# sourceMappingURL=camelCase.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../../src/strings/camelCase.ts"],"sourcesContent":["// https://github.com/sindresorhus/camelcase/blob/master/index.js\n\nfunction preserveCamelCase(string: string) {\n let isLastCharLower = false;\n let isLastCharUpper = false;\n let isLastLastCharUpper = false;\n\n for (let i = 0; i < string.length; i++) {\n const character = string[i];\n\n if (isLastCharLower && /[a-zA-Z]/.test(character) && character.toUpperCase() === character) {\n string = string.slice(0, i) + '-' + string.slice(i);\n isLastCharLower = false;\n isLastLastCharUpper = isLastCharUpper;\n isLastCharUpper = true;\n i++;\n } else if (\n isLastCharUpper &&\n isLastLastCharUpper &&\n /[a-zA-Z]/.test(character) &&\n character.toLowerCase() === character\n ) {\n string = string.slice(0, i - 1) + '-' + string.slice(i - 1);\n isLastLastCharUpper = isLastCharUpper;\n isLastCharUpper = false;\n isLastCharLower = true;\n } else {\n isLastCharLower = character.toLowerCase() === character && character.toUpperCase() !== character;\n isLastLastCharUpper = isLastCharUpper;\n isLastCharUpper = character.toUpperCase() === character && character.toLowerCase() !== character;\n }\n }\n\n return string;\n}\n\nexport function pascalCase(input: string | string[]) {\n return camelCase(input, { pascalCase: true });\n}\n\nexport function camelCase(\n input: string | string[],\n options: { pascalCase: boolean } = {\n pascalCase: false,\n },\n) {\n if (!(typeof input === 'string' || Array.isArray(input))) {\n throw new TypeError('Expected the input to be `string | string[]`');\n }\n\n const postProcess = (x: string) => (options.pascalCase ? x.charAt(0).toUpperCase() + x.slice(1) : x);\n\n if (Array.isArray(input)) {\n input = input\n .map((x) => x.trim())\n .filter((x) => x.length)\n .join('-');\n } else {\n input = input.trim();\n }\n\n if (input.length === 0) {\n return '';\n }\n\n if (input.length === 1) {\n return options.pascalCase ? input.toUpperCase() : input.toLowerCase();\n }\n\n const hasUpperCase = input !== input.toLowerCase();\n\n if (hasUpperCase) {\n input = preserveCamelCase(input);\n }\n\n input = input\n .replace(/^[_.\\- ]+/, '')\n .toLowerCase()\n .replace(/[_.\\- ]+(\\w|$)/g, (_, p1) => p1.toUpperCase())\n .replace(/\\d+(\\w|$)/g, (m) => m.toUpperCase());\n\n return postProcess(input);\n}\n"],"names":["preserveCamelCase","string","isLastCharLower","isLastCharUpper","isLastLastCharUpper","i","length","character","test","toUpperCase","slice","toLowerCase","pascalCase","input","camelCase","options","Array","isArray","TypeError","postProcess","x","charAt","map","trim","filter","join","hasUpperCase","replace","_","p1","m"],"mappings":"AAAA,iEAAiE;AAEjE,SAASA,kBAAkBC,MAAc;IACvC,IAAIC,kBAAkB;IACtB,IAAIC,kBAAkB;IACtB,IAAIC,sBAAsB;IAE1B,IAAK,IAAIC,IAAI,GAAGA,IAAIJ,OAAOK,MAAM,EAAED,IAAK;QACtC,MAAME,YAAYN,MAAM,CAACI,EAAE;QAE3B,IAAIH,mBAAmB,WAAWM,IAAI,CAACD,cAAcA,UAAUE,WAAW,OAAOF,WAAW;YAC1FN,SAASA,OAAOS,KAAK,CAAC,GAAGL,KAAK,MAAMJ,OAAOS,KAAK,CAACL;YACjDH,kBAAkB;YAClBE,sBAAsBD;YACtBA,kBAAkB;YAClBE;QACF,OAAO,IACLF,mBACAC,uBACA,WAAWI,IAAI,CAACD,cAChBA,UAAUI,WAAW,OAAOJ,WAC5B;YACAN,SAASA,OAAOS,KAAK,CAAC,GAAGL,IAAI,KAAK,MAAMJ,OAAOS,KAAK,CAACL,IAAI;YACzDD,sBAAsBD;YACtBA,kBAAkB;YAClBD,kBAAkB;QACpB,OAAO;YACLA,kBAAkBK,UAAUI,WAAW,OAAOJ,aAAaA,UAAUE,WAAW,OAAOF;YACvFH,sBAAsBD;YACtBA,kBAAkBI,UAAUE,WAAW,OAAOF,aAAaA,UAAUI,WAAW,OAAOJ;QACzF;IACF;IAEA,OAAON;AACT;AAEA,OAAO,SAASW,WAAWC,KAAwB;IACjD,OAAOC,UAAUD,OAAO;QAAED,YAAY;IAAK;AAC7C;AAEA,OAAO,SAASE,UACdD,KAAwB,EACxBE,UAAmC;IACjCH,YAAY;AACd,CAAC;IAED,IAAI,CAAE,CAAA,OAAOC,UAAU,YAAYG,MAAMC,OAAO,CAACJ,MAAK,GAAI;QACxD,MAAM,IAAIK,UAAU;IACtB;IAEA,MAAMC,cAAc,CAACC,IAAeL,QAAQH,UAAU,GAAGQ,EAAEC,MAAM,CAAC,GAAGZ,WAAW,KAAKW,EAAEV,KAAK,CAAC,KAAKU;IAElG,IAAIJ,MAAMC,OAAO,CAACJ,QAAQ;QACxBA,QAAQA,MACLS,GAAG,CAAC,CAACF,IAAMA,EAAEG,IAAI,IACjBC,MAAM,CAAC,CAACJ,IAAMA,EAAEd,MAAM,EACtBmB,IAAI,CAAC;IACV,OAAO;QACLZ,QAAQA,MAAMU,IAAI;IACpB;IAEA,IAAIV,MAAMP,MAAM,KAAK,GAAG;QACtB,OAAO;IACT;IAEA,IAAIO,MAAMP,MAAM,KAAK,GAAG;QACtB,OAAOS,QAAQH,UAAU,GAAGC,MAAMJ,WAAW,KAAKI,MAAMF,WAAW;IACrE;IAEA,MAAMe,eAAeb,UAAUA,MAAMF,WAAW;IAEhD,IAAIe,cAAc;QAChBb,QAAQb,kBAAkBa;IAC5B;IAEAA,QAAQA,MACLc,OAAO,CAAC,aAAa,IACrBhB,WAAW,GACXgB,OAAO,CAAC,mBAAmB,CAACC,GAAGC,KAAOA,GAAGpB,WAAW,IACpDkB,OAAO,CAAC,cAAc,CAACG,IAAMA,EAAErB,WAAW;IAE7C,OAAOU,YAAYN;AACrB"}
|
|
@@ -1,17 +1,43 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Format bytes as human-readable text.
|
|
3
|
+
*
|
|
4
|
+
* @param bytes Number of bytes.
|
|
5
|
+
* @param si True to use metric (SI) units, aka powers of 1000. False to use
|
|
6
|
+
* binary (IEC), aka powers of 1024.
|
|
7
|
+
* @param dp Number of decimal places to display.
|
|
8
|
+
*
|
|
9
|
+
* @return Formatted string.
|
|
10
|
+
*/ export function formatBytes(bytes, si = false, dp = 1) {
|
|
11
|
+
const thresh = si ? 1000 : 1024;
|
|
12
|
+
if (Math.abs(bytes) < thresh) {
|
|
13
|
+
return `${bytes} B`;
|
|
14
|
+
}
|
|
15
|
+
const units = si ? [
|
|
16
|
+
'kB',
|
|
17
|
+
'MB',
|
|
18
|
+
'GB',
|
|
19
|
+
'TB',
|
|
20
|
+
'PB',
|
|
21
|
+
'EB',
|
|
22
|
+
'ZB',
|
|
23
|
+
'YB'
|
|
24
|
+
] : [
|
|
25
|
+
'KiB',
|
|
26
|
+
'MiB',
|
|
27
|
+
'GiB',
|
|
28
|
+
'TiB',
|
|
29
|
+
'PiB',
|
|
30
|
+
'EiB',
|
|
31
|
+
'ZiB',
|
|
32
|
+
'YiB'
|
|
33
|
+
];
|
|
34
|
+
let u = -1;
|
|
35
|
+
const r = 10 ** dp;
|
|
36
|
+
do {
|
|
37
|
+
bytes /= thresh;
|
|
38
|
+
++u;
|
|
39
|
+
}while (Math.round(Math.abs(bytes) * r) / r >= thresh && u < units.length - 1)
|
|
40
|
+
return bytes.toFixed(dp) + ' ' + units[u];
|
|
14
41
|
}
|
|
15
42
|
|
|
16
|
-
|
|
17
|
-
//# sourceMappingURL=formatBytes.js.map
|
|
43
|
+
//# sourceMappingURL=formatBytes.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../../src/strings/formatBytes.ts"],"sourcesContent":["/**\n * Format bytes as human-readable text.\n *\n * @param bytes Number of bytes.\n * @param si True to use metric (SI) units, aka powers of 1000. False to use\n * binary (IEC), aka powers of 1024.\n * @param dp Number of decimal places to display.\n *\n * @return Formatted string.\n */\nexport function formatBytes(bytes: number, si = false, dp = 1) {\n const thresh = si ? 1000 : 1024;\n\n if (Math.abs(bytes) < thresh) {\n return `${bytes} B`;\n }\n\n const units = si\n ? ['kB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB']\n : ['KiB', 'MiB', 'GiB', 'TiB', 'PiB', 'EiB', 'ZiB', 'YiB'];\n let u = -1;\n const r = 10 ** dp;\n\n do {\n bytes /= thresh;\n ++u;\n } while (Math.round(Math.abs(bytes) * r) / r >= thresh && u < units.length - 1);\n\n return bytes.toFixed(dp) + ' ' + units[u];\n}\n"],"names":["formatBytes","bytes","si","dp","thresh","Math","abs","units","u","r","round","length","toFixed"],"mappings":"AAAA;;;;;;;;;CASC,GACD,OAAO,SAASA,YAAYC,KAAa,EAAEC,KAAK,KAAK,EAAEC,KAAK,CAAC;IAC3D,MAAMC,SAASF,KAAK,OAAO;IAE3B,IAAIG,KAAKC,GAAG,CAACL,SAASG,QAAQ;QAC5B,OAAO,CAAC,EAAEH,MAAM,EAAE,CAAC;IACrB;IAEA,MAAMM,QAAQL,KACV;QAAC;QAAM;QAAM;QAAM;QAAM;QAAM;QAAM;QAAM;KAAK,GAChD;QAAC;QAAO;QAAO;QAAO;QAAO;QAAO;QAAO;QAAO;KAAM;IAC5D,IAAIM,IAAI,CAAC;IACT,MAAMC,IAAI,MAAMN;IAEhB,GAAG;QACDF,SAASG;QACT,EAAEI;IACJ,QAASH,KAAKK,KAAK,CAACL,KAAKC,GAAG,CAACL,SAASQ,KAAKA,KAAKL,UAAUI,IAAID,MAAMI,MAAM,GAAG,EAAG;IAEhF,OAAOV,MAAMW,OAAO,CAACT,MAAM,MAAMI,KAAK,CAACC,EAAE;AAC3C"}
|
|
@@ -1,25 +1,32 @@
|
|
|
1
1
|
import { get } from '../objects/get.js';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
2
|
+
/**
|
|
3
|
+
* render template like js template string
|
|
4
|
+
*
|
|
5
|
+
* @example
|
|
6
|
+
* renderTemplate('My name is ${name}',{name:'wener'})
|
|
7
|
+
* // 'My name is wener'
|
|
8
|
+
*
|
|
9
|
+
* @param match `js` for `${name}`, common for `{{name}}`
|
|
10
|
+
*/ export function renderTemplate(template, data, match = 'js') {
|
|
11
|
+
let getter;
|
|
12
|
+
if (!data) {
|
|
13
|
+
// todo warning in dev
|
|
14
|
+
getter = ()=>'';
|
|
15
|
+
} else if (typeof data === 'function') {
|
|
16
|
+
getter = data;
|
|
17
|
+
} else {
|
|
18
|
+
getter = (v)=>get(data, v);
|
|
19
|
+
}
|
|
20
|
+
if (typeof match === 'string') {
|
|
21
|
+
match = Matches[match] || Matches.js;
|
|
22
|
+
}
|
|
23
|
+
return template.replace(match, (_, g)=>{
|
|
24
|
+
return getter(g.trim());
|
|
25
|
+
});
|
|
18
26
|
}
|
|
19
27
|
const Matches = {
|
|
20
|
-
|
|
21
|
-
|
|
28
|
+
js: /\${(.*?)}/g,
|
|
29
|
+
common: /{{(.*?)}}/g
|
|
22
30
|
};
|
|
23
31
|
|
|
24
|
-
|
|
25
|
-
//# sourceMappingURL=renderTemplate.js.map
|
|
32
|
+
//# sourceMappingURL=renderTemplate.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../../src/strings/renderTemplate.ts"],"sourcesContent":["import { get } from '../objects/get';\n\n/**\n * render template like js template string\n *\n * @example\n * renderTemplate('My name is ${name}',{name:'wener'})\n * // 'My name is wener'\n *\n * @param match `js` for `${name}`, common for `{{name}}`\n */\nexport function renderTemplate(\n template: string,\n data: ((v: string) => any) | object | undefined,\n match: 'js' | 'common' | RegExp = 'js',\n) {\n let getter: Function;\n if (!data) {\n // todo warning in dev\n getter = () => '';\n } else if (typeof data === 'function') {\n getter = data;\n } else {\n getter = (v: string) => get(data, v);\n }\n if (typeof match === 'string') {\n match = Matches[match] || Matches.js;\n }\n return template.replace(match, (_, g) => {\n return getter(g.trim());\n });\n}\n\nconst Matches: Record<string, RegExp> = {\n js: /\\${(.*?)}/g,\n common: /{{(.*?)}}/g,\n};\n"],"names":["get","renderTemplate","template","data","match","getter","v","Matches","js","replace","_","g","trim","common"],"mappings":"AAAA,SAASA,GAAG,QAAQ,iBAAiB;AAErC;;;;;;;;CAQC,GACD,OAAO,SAASC,eACdC,QAAgB,EAChBC,IAA+C,EAC/CC,QAAkC,IAAI;IAEtC,IAAIC;IACJ,IAAI,CAACF,MAAM;QACT,sBAAsB;QACtBE,SAAS,IAAM;IACjB,OAAO,IAAI,OAAOF,SAAS,YAAY;QACrCE,SAASF;IACX,OAAO;QACLE,SAAS,CAACC,IAAcN,IAAIG,MAAMG;IACpC;IACA,IAAI,OAAOF,UAAU,UAAU;QAC7BA,QAAQG,OAAO,CAACH,MAAM,IAAIG,QAAQC,EAAE;IACtC;IACA,OAAON,SAASO,OAAO,CAACL,OAAO,CAACM,GAAGC;QACjC,OAAON,OAAOM,EAAEC,IAAI;IACtB;AACF;AAEA,MAAML,UAAkC;IACtCC,IAAI;IACJK,QAAQ;AACV"}
|
package/lib/typedoc.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/typedoc.ts"],"sourcesContent":["export * from './index';\n// fixme md5 conflict\n// export * from './server';\n"],"names":[],"mappings":"AAAA,cAAc,UAAU,CACxB,qBAAqB;CACrB,4BAA4B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/types/global.d.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/types/index.d.ts"],"sourcesContent":["export type AbstractConstructor<T = unknown> = abstract new (...args: any[]) => T;\nexport type Constructor<T = unknown> = new (...args: any[]) => T;\nexport type Optional<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>;\nexport type PartialRequired<T, K extends keyof T> = Partial<Omit<T, K>> & Required<Pick<T, K>>;\n\n/*\nhttps://github.com/total-typescript/ts-reset/blob/main/src/entrypoints/filter-boolean.d.ts\nhttps://github.com/sindresorhus/type-fest\n */\n"],"names":[],"mappings":"AAAA,WAG+F,CAE/F;;;CAGC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export function assert(condition, msg) {
|
|
2
|
+
// if (!condition) {
|
|
3
|
+
// throw new AssertionError(msg);
|
|
4
|
+
// }
|
|
5
|
+
console.assert(!condition, msg);
|
|
6
|
+
}
|
|
7
|
+
export function assertIsDefined(val) {
|
|
8
|
+
// if (val === undefined || val === null) {
|
|
9
|
+
// throw new AssertionError(`Expected 'val' to be defined, but received ${val}`);
|
|
10
|
+
// }
|
|
11
|
+
console.assert(val === undefined || val === null, 'Expected defined');
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
//# sourceMappingURL=asserts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/validations/asserts.ts"],"sourcesContent":["export function assert(condition: any, msg?: string): asserts condition {\n // if (!condition) {\n // throw new AssertionError(msg);\n // }\n console.assert(!condition, msg);\n}\n\nexport function assertIsDefined<T>(val: T): asserts val is NonNullable<T> {\n // if (val === undefined || val === null) {\n // throw new AssertionError(`Expected 'val' to be defined, but received ${val}`);\n // }\n console.assert(val === undefined || val === null, 'Expected defined');\n}\n"],"names":["assert","condition","msg","console","assertIsDefined","val","undefined"],"mappings":"AAAA,OAAO,SAASA,OAAOC,SAAc,EAAEC,GAAY;IACjD,oBAAoB;IACpB,mCAAmC;IACnC,IAAI;IACJC,QAAQH,MAAM,CAAC,CAACC,WAAWC;AAC7B;AAEA,OAAO,SAASE,gBAAmBC,GAAM;IACvC,2CAA2C;IAC3C,mFAAmF;IACnF,IAAI;IACJF,QAAQH,MAAM,CAACK,QAAQC,aAAaD,QAAQ,MAAM;AACpD"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
function isUUID(str) {
|
|
2
|
-
|
|
1
|
+
export function isUUID(str) {
|
|
2
|
+
return Boolean(str) && /^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(String(str));
|
|
3
3
|
}
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
//# sourceMappingURL=isUUID.js.map
|
|
5
|
+
//# sourceMappingURL=isUUID.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../../src/validations/isUUID.ts"],"sourcesContent":["export function isUUID(str: string | undefined | null) {\n return Boolean(str) && /^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(String(str));\n}\n"],"names":["isUUID","str","Boolean","test","String"],"mappings":"AAAA,OAAO,SAASA,OAAOC,GAA8B;IACnD,OAAOC,QAAQD,QAAQ,yEAAyEE,IAAI,CAACC,OAAOH;AAC9G"}
|
|
@@ -1,25 +1,29 @@
|
|
|
1
|
-
function parseTimestamp(raw) {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
}
|
|
5
|
-
if (raw instanceof Date) {
|
|
6
|
-
return raw;
|
|
7
|
-
}
|
|
8
|
-
if (typeof raw === "string" && /^[0-9.]+$/.test(raw)) {
|
|
9
|
-
let n = parseFloat(raw);
|
|
10
|
-
const len = Math.floor(n).toString().length;
|
|
11
|
-
if (len <= 11) {
|
|
12
|
-
n *= 1e3;
|
|
1
|
+
export function parseTimestamp(raw) {
|
|
2
|
+
if (!raw) {
|
|
3
|
+
return undefined;
|
|
13
4
|
}
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
const date = new Date(raw);
|
|
17
|
-
if (!isNaN(+date)) {
|
|
18
|
-
return date;
|
|
5
|
+
if (raw instanceof Date) {
|
|
6
|
+
return raw;
|
|
19
7
|
}
|
|
20
|
-
|
|
21
|
-
|
|
8
|
+
if (typeof raw === 'string' && /^[0-9.]+$/.test(raw)) {
|
|
9
|
+
let n = parseFloat(raw);
|
|
10
|
+
const len = Math.floor(n).toString().length;
|
|
11
|
+
/*
|
|
12
|
+
最常见的是 10 位和 13 位
|
|
13
|
+
9999999999 - 10*9 - 1970-04-26
|
|
14
|
+
99999999999 - 11*9 - 1973
|
|
15
|
+
999999999999 - 12*9 - 2001
|
|
16
|
+
*/ if (len <= 11) {
|
|
17
|
+
n *= 1000;
|
|
18
|
+
}
|
|
19
|
+
return new Date(n);
|
|
20
|
+
} else if (typeof raw === 'string') {
|
|
21
|
+
const date = new Date(raw);
|
|
22
|
+
if (!isNaN(+date)) {
|
|
23
|
+
return date;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
throw new Error(`parseTimestamp: invalid "${raw}"`);
|
|
22
27
|
}
|
|
23
28
|
|
|
24
|
-
|
|
25
|
-
//# sourceMappingURL=parseTimestamp.js.map
|
|
29
|
+
//# sourceMappingURL=parseTimestamp.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../../src/validations/parseTimestamp.ts"],"sourcesContent":["export function parseTimestamp(raw?: string | number | Date): Date | undefined {\n if (!raw) {\n return undefined;\n }\n if (raw instanceof Date) {\n return raw;\n }\n\n if (typeof raw === 'string' && /^[0-9.]+$/.test(raw)) {\n let n = parseFloat(raw);\n const len = Math.floor(n).toString().length;\n /*\n 最常见的是 10 位和 13 位\n 9999999999 - 10*9 - 1970-04-26\n 99999999999 - 11*9 - 1973\n 999999999999 - 12*9 - 2001\n */\n if (len <= 11) {\n n *= 1000;\n }\n return new Date(n);\n } else if (typeof raw === 'string') {\n const date = new Date(raw);\n if (!isNaN(+date)) {\n return date;\n }\n }\n throw new Error(`parseTimestamp: invalid \"${raw}\"`);\n}\n"],"names":["parseTimestamp","raw","undefined","Date","test","n","parseFloat","len","Math","floor","toString","length","date","isNaN","Error"],"mappings":"AAAA,OAAO,SAASA,eAAeC,GAA4B;IACzD,IAAI,CAACA,KAAK;QACR,OAAOC;IACT;IACA,IAAID,eAAeE,MAAM;QACvB,OAAOF;IACT;IAEA,IAAI,OAAOA,QAAQ,YAAY,YAAYG,IAAI,CAACH,MAAM;QACpD,IAAII,IAAIC,WAAWL;QACnB,MAAMM,MAAMC,KAAKC,KAAK,CAACJ,GAAGK,QAAQ,GAAGC,MAAM;QAC3C;;;;;KAKC,GACD,IAAIJ,OAAO,IAAI;YACbF,KAAK;QACP;QACA,OAAO,IAAIF,KAAKE;IAClB,OAAO,IAAI,OAAOJ,QAAQ,UAAU;QAClC,MAAMW,OAAO,IAAIT,KAAKF;QACtB,IAAI,CAACY,MAAM,CAACD,OAAO;YACjB,OAAOA;QACT;IACF;IACA,MAAM,IAAIE,MAAM,CAAC,yBAAyB,EAAEb,IAAI,CAAC,CAAC;AACpD"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wener/utils",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.29",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Utils for daily use",
|
|
6
6
|
"repository": {
|
|
@@ -30,6 +30,12 @@
|
|
|
30
30
|
"template",
|
|
31
31
|
"lodash"
|
|
32
32
|
],
|
|
33
|
+
"scripts": {
|
|
34
|
+
"build": "make prepublish",
|
|
35
|
+
"clean": "make clean",
|
|
36
|
+
"dev": "make dev",
|
|
37
|
+
"test": "make test"
|
|
38
|
+
},
|
|
33
39
|
"peerDependencies": {
|
|
34
40
|
"undici": "*"
|
|
35
41
|
},
|
|
@@ -50,7 +56,45 @@
|
|
|
50
56
|
},
|
|
51
57
|
"publishConfig": {
|
|
52
58
|
"registry": "https://registry.npmjs.org",
|
|
53
|
-
"access": "public"
|
|
59
|
+
"access": "public",
|
|
60
|
+
"exports": {
|
|
61
|
+
".": {
|
|
62
|
+
"types": "./src/index.ts",
|
|
63
|
+
"typescript": "./src/index.ts",
|
|
64
|
+
"system": "./dist/system/index.js",
|
|
65
|
+
"import": "./lib/index.js"
|
|
66
|
+
},
|
|
67
|
+
"./types": {
|
|
68
|
+
"types": "./types.d.ts"
|
|
69
|
+
},
|
|
70
|
+
"./server": {
|
|
71
|
+
"types": "./src/server.ts",
|
|
72
|
+
"typescript": "./src/server.ts",
|
|
73
|
+
"system": "./dist/system/server.js",
|
|
74
|
+
"import": "./lib/server.js"
|
|
75
|
+
},
|
|
76
|
+
"./server/node-fetch": {
|
|
77
|
+
"types": "./server/node-fetch.ts",
|
|
78
|
+
"default": "./lib/servers/node-fetch.js"
|
|
79
|
+
},
|
|
80
|
+
"./server/jsdom": {
|
|
81
|
+
"types": "./server/jsdom.ts",
|
|
82
|
+
"default": "./lib/servers/jsdom.js"
|
|
83
|
+
},
|
|
84
|
+
"./server/ws": {
|
|
85
|
+
"types": "./server/ws.ts",
|
|
86
|
+
"default": "./lib/servers/ws.js"
|
|
87
|
+
},
|
|
88
|
+
"./schema/typebox": {
|
|
89
|
+
"types": "./schema/typebox/index.ts",
|
|
90
|
+
"default": "./lib/schema/typebox/index.js"
|
|
91
|
+
},
|
|
92
|
+
"./schema/typebox/gen": {
|
|
93
|
+
"types": "./schema/typebox/gen/index.ts",
|
|
94
|
+
"default": "./lib/schema/typebox/gen/index.js"
|
|
95
|
+
},
|
|
96
|
+
"./package.json": "./package.json"
|
|
97
|
+
}
|
|
54
98
|
},
|
|
55
99
|
"sideEffects": false,
|
|
56
100
|
"rollup": {
|
|
@@ -74,49 +118,5 @@
|
|
|
74
118
|
"typescript",
|
|
75
119
|
"@sinclair/typebox"
|
|
76
120
|
]
|
|
77
|
-
},
|
|
78
|
-
"scripts": {
|
|
79
|
-
"build": "make prepublish",
|
|
80
|
-
"clean": "make clean",
|
|
81
|
-
"dev": "make dev",
|
|
82
|
-
"test": "make test"
|
|
83
|
-
},
|
|
84
|
-
"exports": {
|
|
85
|
-
".": {
|
|
86
|
-
"types": "./src/index.ts",
|
|
87
|
-
"typescript": "./src/index.ts",
|
|
88
|
-
"system": "./dist/system/index.js",
|
|
89
|
-
"import": "./lib/index.js"
|
|
90
|
-
},
|
|
91
|
-
"./types": {
|
|
92
|
-
"types": "./types.d.ts"
|
|
93
|
-
},
|
|
94
|
-
"./server": {
|
|
95
|
-
"types": "./src/server.ts",
|
|
96
|
-
"typescript": "./src/server.ts",
|
|
97
|
-
"system": "./dist/system/server.js",
|
|
98
|
-
"import": "./lib/server.js"
|
|
99
|
-
},
|
|
100
|
-
"./server/node-fetch": {
|
|
101
|
-
"types": "./server/node-fetch.ts",
|
|
102
|
-
"default": "./lib/servers/node-fetch.js"
|
|
103
|
-
},
|
|
104
|
-
"./server/jsdom": {
|
|
105
|
-
"types": "./server/jsdom.ts",
|
|
106
|
-
"default": "./lib/servers/jsdom.js"
|
|
107
|
-
},
|
|
108
|
-
"./server/ws": {
|
|
109
|
-
"types": "./server/ws.ts",
|
|
110
|
-
"default": "./lib/servers/ws.js"
|
|
111
|
-
},
|
|
112
|
-
"./schema/typebox": {
|
|
113
|
-
"types": "./src/schema/typebox/index.ts",
|
|
114
|
-
"default": "./lib/schema/typebox/index.js"
|
|
115
|
-
},
|
|
116
|
-
"./schema/typebox/gen": {
|
|
117
|
-
"types": "./src/schema/typebox/gen/index.ts",
|
|
118
|
-
"default": "./lib/schema/typebox/gen/index.js"
|
|
119
|
-
},
|
|
120
|
-
"./package.json": "./package.json"
|
|
121
121
|
}
|
|
122
|
-
}
|
|
122
|
+
}
|
package/dist/LICENSE.txt
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
No third parties dependencies
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";var o=require("./getGlobalThis-GhffAgiG.js");function q({fetch:a=o.getGlobalThis().fetch,onRequest:i=e=>e.next(e.url,e.req),onResponse:h=e=>e.res}){return async(e,n)=>{const r=String(e);let t=n||{};const c=t.fetch||a,u=await i({url:r,req:t,next:(l,s)=>(t=s,c(l,s))})??await c(r,n);return h({url:r,req:t,res:u})}}exports.createFetchWith=q;
|
|
2
|
-
//# sourceMappingURL=createFetchWith-qhRObsE4.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"createFetchWith-qhRObsE4.js","sources":["../../src/fetch/createFetchWith.ts"],"sourcesContent":["import { MaybePromise } from '../asyncs/MaybePromise';\nimport { getGlobalThis } from '../isomorphics/getGlobalThis';\nimport { type FetchLike } from './types';\n\nexport function createFetchWith({\n fetch = getGlobalThis().fetch,\n onRequest = (ctx) => ctx.next(ctx.url, ctx.req),\n onResponse = (ctx) => ctx.res,\n}: {\n fetch?: FetchLike;\n onRequest?: (ctx: {\n url: string;\n req: RequestInit;\n next: (url: string, req: RequestInit) => Promise<Response>;\n }) => MaybePromise<Response | void>;\n onResponse?: (ctx: { url: string; req: RequestInit; res: Response }) => MaybePromise<Response>;\n}) {\n return async (urlOrRequest: string | URL | Request, init?: RequestInit & { fetch?: FetchLike }) => {\n const url = String(urlOrRequest);\n let req = init || {};\n const nextFetch = req.fetch || fetch;\n const res =\n (await onRequest({\n url,\n req,\n next: (url, init) => {\n req = init;\n return nextFetch(url, init);\n },\n })) ?? (await nextFetch(url, init));\n return onResponse({ url, req, res });\n };\n}\n"],"names":["createFetchWith","fetch","getGlobalThis","onRequest","ctx","onResponse","urlOrRequest","init","url","req","nextFetch","res"],"mappings":"2DAIgBA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAgB,CAC9B,CAAAC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAQC,EAAAA,CAAgB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MACxB,CAAAC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAaC,GAAQA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAKA,EAAI,CAAKA,CAAAA,CAAAA,CAAAA,CAAAA,CAAI,CAAG,CAAA,CAAA,CAAA,CAC9C,WAAAC,CAAcD,CAAAA,CAAAA,CAAAA,CAAQA,EAAI,CAC5B,CAAA,CAAA,CAAA,CAQG,CACD,CAAcE,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,EAAsCC,CAA+C,CAAA,CAAA,CAAA,CACjG,MAAMC,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAOF,CAAY,CAC/B,CAAA,CAAA,CAAA,CAAA,CAAIG,EAAMF,CAAQ,CAAA,CAAA,CAAA,CAClB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAMG,EAAYD,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAASR,EACzBU,CACH,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAMR,EAAU,CACf,CAAA,CAAA,CAAA,CAAAK,EACA,CAAAC,CAAAA,CAAAA,CAAAA,CAAAA,CACA,KAAM,CAACD,CAAAA,CAAKD,KACVE,CAAMF,CAAAA,CAAAA,CACCG,EAAUF,CAAKD,CAAAA,CAAI,EAE9B,CAAC,CAAA,CAAA,CAAO,MAAMG,CAAUF,CAAAA,CAAAA,CAAKD,CAAI,CACnC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAOF,EAAW,CAAE,CAAA,CAAA,CAAA,CAAAG,EAAK,CAAAC,CAAAA,CAAAA,CAAAA,CAAAA,CAAK,IAAAE,CAAI,CAAC,CACrC,CACF;"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";const l=()=>{if(typeof globalThis<"u")return globalThis;if(typeof self<"u")return self;if(typeof window<"u")return window;if(typeof global<"u")return global;throw new Error("Unable to locate global `this`")};exports.getGlobalThis=l;
|
|
2
|
-
//# sourceMappingURL=getGlobalThis-GhffAgiG.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getGlobalThis-GhffAgiG.js","sources":["../../src/isomorphics/getGlobalThis.ts"],"sourcesContent":["declare const global: typeof globalThis;\n\n/**\n * isomorphic globalThis\n *\n * globalThis supported by ff 65, Chrome 71, Node 12, babel\n *\n * non-standard globalThis supported for Alipay Miniprogram\n *\n * @see https://caniuse.com/#search=globalThis\n * @see https://v8.dev/features/globalthis\n */\nexport const getGlobalThis = (): typeof globalThis => {\n if (typeof globalThis !== 'undefined') return globalThis;\n if (typeof self !== 'undefined') return self;\n if (typeof window !== 'undefined') return window;\n if (typeof global !== 'undefined') return global as any;\n if (typeof this !== 'undefined') return this as any;\n throw new Error('Unable to locate global `this`');\n};\n"],"names":["getGlobalThis"],"mappings":"AAYO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAMA,CAAgB,CAAA,CAAA,CAAA,CAAA,CAAyB,CACpD,CAAA,CAAA,CAAI,OAAO,CAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAC9C,GAAI,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAa,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,KACxC,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAC1C,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,OAAW,CAAa,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAE1C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,IAAI,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgC,CAClD,CAAA;"}
|