@ls-stack/utils 3.63.0 → 3.66.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/dist/{arrayUtils.d.cts → arrayUtils.d.mts} +24 -23
- package/dist/arrayUtils.mjs +249 -0
- package/dist/assertions-qMxfVhSu.mjs +207 -0
- package/dist/{assertions.d.ts → assertions.d.mts} +4 -3
- package/dist/assertions.mjs +3 -0
- package/dist/asyncQueue.d.mts +497 -0
- package/dist/asyncQueue.mjs +757 -0
- package/dist/{awaitDebounce.d.cts → awaitDebounce.d.mts} +11 -6
- package/dist/awaitDebounce.mjs +54 -0
- package/dist/{cache.d.ts → cache.d.mts} +76 -68
- package/dist/cache.mjs +355 -0
- package/dist/castValues-DfICShCc.mjs +19 -0
- package/dist/{castValues.d.cts → castValues.d.mts} +3 -2
- package/dist/castValues.mjs +3 -0
- package/dist/{concurrentCalls.d.ts → concurrentCalls.d.mts} +74 -65
- package/dist/concurrentCalls.mjs +295 -0
- package/dist/consoleFmt.d.mts +55 -0
- package/dist/consoleFmt.mjs +63 -0
- package/dist/conversions-DTmwEMIu.mjs +12 -0
- package/dist/conversions.d.mts +4 -0
- package/dist/conversions.mjs +3 -0
- package/dist/createThrottleController.d.mts +18 -0
- package/dist/createThrottleController.mjs +40 -0
- package/dist/debounce.d.mts +47 -0
- package/dist/debounce.mjs +117 -0
- package/dist/dedent.d.mts +74 -0
- package/dist/dedent.mjs +80 -0
- package/dist/deepEqual-C7EZEixx.mjs +78 -0
- package/dist/{deepEqual.d.cts → deepEqual.d.mts} +3 -2
- package/dist/deepEqual.mjs +3 -0
- package/dist/{deepReplaceValues.d.cts → deepReplaceValues.d.mts} +4 -3
- package/dist/deepReplaceValues.mjs +61 -0
- package/dist/diffParser.d.mts +63 -0
- package/dist/diffParser.mjs +410 -0
- package/dist/enhancedMap.d.mts +21 -0
- package/dist/enhancedMap.mjs +69 -0
- package/dist/exhaustiveMatch.d.mts +10 -0
- package/dist/exhaustiveMatch.mjs +48 -0
- package/dist/{filterObjectOrArrayKeys.d.cts → filterObjectOrArrayKeys.d.mts} +15 -8
- package/dist/filterObjectOrArrayKeys.mjs +497 -0
- package/dist/{getAutoIncrementId.d.cts → getAutoIncrementId.d.mts} +9 -5
- package/dist/getAutoIncrementId.mjs +53 -0
- package/dist/{getCompositeKey.d.cts → getCompositeKey.d.mts} +3 -2
- package/dist/getCompositeKey.mjs +50 -0
- package/dist/{getValueStableKey.d.cts → getValueStableKey.d.mts} +5 -3
- package/dist/getValueStableKey.mjs +17 -0
- package/dist/{hash.d.cts → hash.d.mts} +3 -2
- package/dist/hash.mjs +28 -0
- package/dist/interpolate.d.mts +17 -0
- package/dist/interpolate.mjs +28 -0
- package/dist/{iteratorUtils.d.cts → iteratorUtils.d.mts} +5 -4
- package/dist/iteratorUtils.mjs +39 -0
- package/dist/keepPrevIfUnchanged.d.mts +12 -0
- package/dist/keepPrevIfUnchanged.mjs +9 -0
- package/dist/keyedMap.d.mts +76 -0
- package/dist/keyedMap.mjs +139 -0
- package/dist/keyedSet.d.mts +77 -0
- package/dist/keyedSet.mjs +129 -0
- package/dist/{levenshtein.d.cts → levenshtein.d.mts} +3 -2
- package/dist/levenshtein.mjs +121 -0
- package/dist/main.d.mts +4 -0
- package/dist/main.mjs +7 -0
- package/dist/matchPath.d.mts +50 -0
- package/dist/matchPath.mjs +81 -0
- package/dist/mathUtils-BDP1lM_z.mjs +81 -0
- package/dist/{mathUtils.d.cts → mathUtils.d.mts} +3 -2
- package/dist/mathUtils.mjs +3 -0
- package/dist/{mutationUtils.d.cts → mutationUtils.d.mts} +6 -5
- package/dist/mutationUtils.mjs +44 -0
- package/dist/{objUtils.d.ts → objUtils.d.mts} +8 -6
- package/dist/objUtils.mjs +115 -0
- package/dist/parallelAsyncCalls.d.mts +83 -0
- package/dist/parallelAsyncCalls.mjs +121 -0
- package/dist/partialEqual.d.mts +139 -0
- package/dist/partialEqual.mjs +1055 -0
- package/dist/promiseUtils.d.mts +9 -0
- package/dist/promiseUtils.mjs +17 -0
- package/dist/regexUtils.d.mts +18 -0
- package/dist/regexUtils.mjs +34 -0
- package/dist/{retryOnError.d.cts → retryOnError.d.mts} +38 -37
- package/dist/retryOnError.mjs +91 -0
- package/dist/{runShellCmd.d.ts → runShellCmd.d.mts} +24 -15
- package/dist/runShellCmd.mjs +151 -0
- package/dist/{safeJson.d.cts → safeJson.d.mts} +3 -2
- package/dist/safeJson.mjs +30 -0
- package/dist/{saferTyping.d.cts → saferTyping.d.mts} +4 -3
- package/dist/saferTyping.mjs +45 -0
- package/dist/serializeXML.d.mts +23 -0
- package/dist/serializeXML.mjs +74 -0
- package/dist/{shallowEqual.d.cts → shallowEqual.d.mts} +3 -2
- package/dist/shallowEqual.mjs +54 -0
- package/dist/sleep.d.mts +4 -0
- package/dist/sleep.mjs +7 -0
- package/dist/stringUtils-DjhWOiYn.mjs +113 -0
- package/dist/{stringUtils.d.cts → stringUtils.d.mts} +3 -2
- package/dist/stringUtils.mjs +3 -0
- package/dist/{testUtils.d.ts → testUtils.d.mts} +83 -52
- package/dist/testUtils.mjs +310 -0
- package/dist/{throttle.d.ts → throttle.d.mts} +18 -17
- package/dist/throttle.mjs +102 -0
- package/dist/time-sr2lhQRw.mjs +67 -0
- package/dist/{time.d.ts → time.d.mts} +8 -7
- package/dist/time.mjs +3 -0
- package/dist/{timers.d.cts → timers.d.mts} +22 -13
- package/dist/timers.mjs +220 -0
- package/dist/{tsResult.d.cts → tsResult.d.mts} +52 -48
- package/dist/tsResult.mjs +142 -0
- package/dist/typeGuards-B1mzA-Rz.mjs +128 -0
- package/dist/{typeGuards.d.cts → typeGuards.d.mts} +3 -2
- package/dist/typeGuards.mjs +3 -0
- package/dist/{typeUtils.d.ts → typeUtils.d.mts} +13 -34
- package/dist/typeUtils.mjs +1 -0
- package/dist/{typedStrings.d.cts → typedStrings.d.mts} +5 -4
- package/dist/typedStrings.mjs +131 -0
- package/dist/typingFnUtils-Bb8drgKF.mjs +101 -0
- package/dist/{typingFnUtils.d.cts → typingFnUtils.d.mts} +13 -22
- package/dist/typingFnUtils.mjs +3 -0
- package/dist/{typingTestUtils.d.cts → typingTestUtils.d.mts} +11 -15
- package/dist/typingTestUtils.mjs +80 -0
- package/dist/typingUtils.d.mts +20 -0
- package/dist/typingUtils.mjs +1 -0
- package/dist/yamlStringify.d.mts +17 -0
- package/dist/yamlStringify.mjs +189 -0
- package/package.json +65 -234
- package/dist/arrayUtils.cjs +0 -229
- package/dist/arrayUtils.d.ts +0 -171
- package/dist/arrayUtils.js +0 -42
- package/dist/assertions.cjs +0 -107
- package/dist/assertions.d.cts +0 -192
- package/dist/assertions.js +0 -25
- package/dist/asyncQueue.cjs +0 -672
- package/dist/asyncQueue.d.cts +0 -488
- package/dist/asyncQueue.d.ts +0 -488
- package/dist/asyncQueue.js +0 -631
- package/dist/awaitDebounce.cjs +0 -106
- package/dist/awaitDebounce.d.ts +0 -41
- package/dist/awaitDebounce.js +0 -28
- package/dist/cache.cjs +0 -367
- package/dist/cache.d.cts +0 -228
- package/dist/cache.js +0 -19
- package/dist/castValues.cjs +0 -50
- package/dist/castValues.d.ts +0 -4
- package/dist/castValues.js +0 -8
- package/dist/chunk-5DZT3Z5Z.js +0 -8
- package/dist/chunk-6FBIEPWU.js +0 -96
- package/dist/chunk-6FIBVC2P.js +0 -56
- package/dist/chunk-7CQPOM5I.js +0 -100
- package/dist/chunk-B6DNOZCP.js +0 -369
- package/dist/chunk-BM4PYVOX.js +0 -109
- package/dist/chunk-C2SVCIWE.js +0 -57
- package/dist/chunk-CCUPDGSZ.js +0 -132
- package/dist/chunk-DBOWTYR4.js +0 -49
- package/dist/chunk-DFXNVEH6.js +0 -14
- package/dist/chunk-DX2524CZ.js +0 -314
- package/dist/chunk-GMJTLFM6.js +0 -60
- package/dist/chunk-IATIXMCE.js +0 -20
- package/dist/chunk-II4R3VVX.js +0 -25
- package/dist/chunk-JF2MDHOJ.js +0 -40
- package/dist/chunk-JQFUKJU5.js +0 -71
- package/dist/chunk-MI4UE2PQ.js +0 -561
- package/dist/chunk-PUKVXYYL.js +0 -52
- package/dist/chunk-QQS7I7ZL.js +0 -16
- package/dist/chunk-VAAMRG4K.js +0 -20
- package/dist/chunk-WFQJUJTC.js +0 -182
- package/dist/chunk-ZXIKIA5B.js +0 -178
- package/dist/concurrentCalls.cjs +0 -406
- package/dist/concurrentCalls.d.cts +0 -116
- package/dist/concurrentCalls.js +0 -346
- package/dist/consoleFmt.cjs +0 -85
- package/dist/consoleFmt.d.cts +0 -54
- package/dist/consoleFmt.d.ts +0 -54
- package/dist/consoleFmt.js +0 -60
- package/dist/conversions.cjs +0 -44
- package/dist/conversions.d.cts +0 -3
- package/dist/conversions.d.ts +0 -3
- package/dist/conversions.js +0 -6
- package/dist/createThrottleController.cjs +0 -193
- package/dist/createThrottleController.d.cts +0 -13
- package/dist/createThrottleController.d.ts +0 -13
- package/dist/createThrottleController.js +0 -61
- package/dist/debounce.cjs +0 -157
- package/dist/debounce.d.cts +0 -46
- package/dist/debounce.d.ts +0 -46
- package/dist/debounce.js +0 -8
- package/dist/dedent.cjs +0 -104
- package/dist/dedent.d.cts +0 -73
- package/dist/dedent.d.ts +0 -73
- package/dist/dedent.js +0 -79
- package/dist/deepEqual.cjs +0 -96
- package/dist/deepEqual.d.ts +0 -21
- package/dist/deepEqual.js +0 -8
- package/dist/deepReplaceValues.cjs +0 -87
- package/dist/deepReplaceValues.d.ts +0 -27
- package/dist/deepReplaceValues.js +0 -7
- package/dist/enhancedMap.cjs +0 -131
- package/dist/enhancedMap.d.cts +0 -20
- package/dist/enhancedMap.d.ts +0 -20
- package/dist/enhancedMap.js +0 -10
- package/dist/exhaustiveMatch.cjs +0 -66
- package/dist/exhaustiveMatch.d.cts +0 -9
- package/dist/exhaustiveMatch.d.ts +0 -9
- package/dist/exhaustiveMatch.js +0 -40
- package/dist/filterObjectOrArrayKeys.cjs +0 -619
- package/dist/filterObjectOrArrayKeys.d.ts +0 -88
- package/dist/filterObjectOrArrayKeys.js +0 -9
- package/dist/getAutoIncrementId.cjs +0 -44
- package/dist/getAutoIncrementId.d.ts +0 -46
- package/dist/getAutoIncrementId.js +0 -18
- package/dist/getCompositeKey.cjs +0 -86
- package/dist/getCompositeKey.d.ts +0 -11
- package/dist/getCompositeKey.js +0 -8
- package/dist/getValueStableKey.cjs +0 -89
- package/dist/getValueStableKey.d.ts +0 -15
- package/dist/getValueStableKey.js +0 -11
- package/dist/hash.cjs +0 -57
- package/dist/hash.d.ts +0 -7
- package/dist/hash.js +0 -32
- package/dist/interpolate.cjs +0 -88
- package/dist/interpolate.d.cts +0 -11
- package/dist/interpolate.d.ts +0 -11
- package/dist/interpolate.js +0 -46
- package/dist/iteratorUtils.cjs +0 -73
- package/dist/iteratorUtils.d.ts +0 -10
- package/dist/iteratorUtils.js +0 -44
- package/dist/keepPrevIfUnchanged.cjs +0 -102
- package/dist/keepPrevIfUnchanged.d.cts +0 -7
- package/dist/keepPrevIfUnchanged.d.ts +0 -7
- package/dist/keepPrevIfUnchanged.js +0 -7
- package/dist/levenshtein.cjs +0 -180
- package/dist/levenshtein.d.ts +0 -5
- package/dist/levenshtein.js +0 -153
- package/dist/main.cjs +0 -32
- package/dist/main.d.cts +0 -3
- package/dist/main.d.ts +0 -3
- package/dist/main.js +0 -7
- package/dist/matchPath.cjs +0 -155
- package/dist/matchPath.d.cts +0 -53
- package/dist/matchPath.d.ts +0 -53
- package/dist/matchPath.js +0 -108
- package/dist/mathUtils.cjs +0 -81
- package/dist/mathUtils.d.ts +0 -54
- package/dist/mathUtils.js +0 -22
- package/dist/mutationUtils.cjs +0 -153
- package/dist/mutationUtils.d.ts +0 -15
- package/dist/mutationUtils.js +0 -55
- package/dist/objUtils.cjs +0 -242
- package/dist/objUtils.d.cts +0 -28
- package/dist/objUtils.js +0 -38
- package/dist/parallelAsyncCalls.cjs +0 -162
- package/dist/parallelAsyncCalls.d.cts +0 -82
- package/dist/parallelAsyncCalls.d.ts +0 -82
- package/dist/parallelAsyncCalls.js +0 -126
- package/dist/partialEqual.cjs +0 -1196
- package/dist/partialEqual.d.cts +0 -141
- package/dist/partialEqual.d.ts +0 -141
- package/dist/partialEqual.js +0 -1168
- package/dist/promiseUtils.cjs +0 -38
- package/dist/promiseUtils.d.cts +0 -8
- package/dist/promiseUtils.d.ts +0 -8
- package/dist/promiseUtils.js +0 -6
- package/dist/regexUtils.cjs +0 -60
- package/dist/regexUtils.d.cts +0 -17
- package/dist/regexUtils.d.ts +0 -17
- package/dist/regexUtils.js +0 -33
- package/dist/retryOnError.cjs +0 -130
- package/dist/retryOnError.d.ts +0 -83
- package/dist/retryOnError.js +0 -101
- package/dist/runShellCmd.cjs +0 -127
- package/dist/runShellCmd.d.cts +0 -90
- package/dist/runShellCmd.js +0 -98
- package/dist/safeJson.cjs +0 -45
- package/dist/safeJson.d.ts +0 -16
- package/dist/safeJson.js +0 -8
- package/dist/saferTyping.cjs +0 -52
- package/dist/saferTyping.d.ts +0 -47
- package/dist/saferTyping.js +0 -23
- package/dist/serializeXML.cjs +0 -154
- package/dist/serializeXML.d.cts +0 -22
- package/dist/serializeXML.d.ts +0 -22
- package/dist/serializeXML.js +0 -116
- package/dist/shallowEqual.cjs +0 -88
- package/dist/shallowEqual.d.ts +0 -4
- package/dist/shallowEqual.js +0 -63
- package/dist/sleep.cjs +0 -32
- package/dist/sleep.d.cts +0 -3
- package/dist/sleep.d.ts +0 -3
- package/dist/sleep.js +0 -6
- package/dist/stringUtils.cjs +0 -155
- package/dist/stringUtils.d.ts +0 -55
- package/dist/stringUtils.js +0 -50
- package/dist/testUtils.cjs +0 -1490
- package/dist/testUtils.d.cts +0 -133
- package/dist/testUtils.js +0 -359
- package/dist/throttle.cjs +0 -282
- package/dist/throttle.d.cts +0 -98
- package/dist/throttle.js +0 -38
- package/dist/time.cjs +0 -152
- package/dist/time.d.cts +0 -25
- package/dist/time.js +0 -38
- package/dist/timers.cjs +0 -194
- package/dist/timers.d.ts +0 -121
- package/dist/timers.js +0 -156
- package/dist/tsResult.cjs +0 -226
- package/dist/tsResult.d.ts +0 -114
- package/dist/tsResult.js +0 -180
- package/dist/typeGuards.cjs +0 -70
- package/dist/typeGuards.d.ts +0 -111
- package/dist/typeGuards.js +0 -18
- package/dist/typeUtils.cjs +0 -18
- package/dist/typeUtils.d.cts +0 -61
- package/dist/typeUtils.js +0 -0
- package/dist/typedStrings.cjs +0 -90
- package/dist/typedStrings.d.ts +0 -163
- package/dist/typedStrings.js +0 -57
- package/dist/typingFnUtils.cjs +0 -96
- package/dist/typingFnUtils.d.ts +0 -100
- package/dist/typingFnUtils.js +0 -30
- package/dist/typingTestUtils.cjs +0 -52
- package/dist/typingTestUtils.d.ts +0 -79
- package/dist/typingTestUtils.js +0 -27
- package/dist/typingUtils.cjs +0 -18
- package/dist/typingUtils.d.cts +0 -35
- package/dist/typingUtils.d.ts +0 -35
- package/dist/typingUtils.js +0 -0
- package/dist/yamlStringify.cjs +0 -423
- package/dist/yamlStringify.d.cts +0 -10
- package/dist/yamlStringify.d.ts +0 -10
- package/dist/yamlStringify.js +0 -9
package/dist/tsResult.d.ts
DELETED
|
@@ -1,114 +0,0 @@
|
|
|
1
|
-
type Ok<T> = {
|
|
2
|
-
ok: true;
|
|
3
|
-
error: false;
|
|
4
|
-
value: T;
|
|
5
|
-
} & AnyResultMethods;
|
|
6
|
-
type AnyResultMethods = Record<ResultMethodsKeys, never>;
|
|
7
|
-
/** @deprecated Use `t-result` library instead. */
|
|
8
|
-
type ResultValidErrors = Error | Record<string, unknown> | unknown[] | readonly unknown[] | true;
|
|
9
|
-
type Err<E extends ResultValidErrors> = {
|
|
10
|
-
ok: false;
|
|
11
|
-
error: E;
|
|
12
|
-
/** @deprecated Use `t-result` library instead. */
|
|
13
|
-
errorResult: () => Err<E>;
|
|
14
|
-
} & AnyResultMethods;
|
|
15
|
-
type ResultMethods<T, E extends ResultValidErrors> = {
|
|
16
|
-
/** @deprecated Use `t-result` library instead. */
|
|
17
|
-
unwrapOrNull: () => T | null;
|
|
18
|
-
/** @deprecated Use `t-result` library instead. */
|
|
19
|
-
unwrapOr: <R extends T>(defaultValue: R) => T | R;
|
|
20
|
-
/** @deprecated Use `t-result` library instead. */
|
|
21
|
-
unwrap: () => T;
|
|
22
|
-
/** @deprecated Use `t-result` library instead. */
|
|
23
|
-
mapOk: <NewValue>(mapFn: (value: T) => NewValue) => Result<NewValue, E>;
|
|
24
|
-
/** @deprecated Use `t-result` library instead. */
|
|
25
|
-
mapErr: <NewError extends ResultValidErrors>(mapFn: (error: E) => NewError) => Result<T, NewError>;
|
|
26
|
-
/** @deprecated Use `t-result` library instead. */
|
|
27
|
-
mapOkAndErr: <NewValue, NewError extends ResultValidErrors>(mapFns: {
|
|
28
|
-
ok: (value: T) => NewValue;
|
|
29
|
-
err: (error: E) => NewError;
|
|
30
|
-
}) => Result<NewValue, NewError>;
|
|
31
|
-
/** @deprecated Use `t-result` library instead. */
|
|
32
|
-
ifOk: (fn: (value: T) => void) => Result<T, E>;
|
|
33
|
-
/** @deprecated Use `t-result` library instead. */
|
|
34
|
-
ifErr: (fn: (error: E) => void) => Result<T, E>;
|
|
35
|
-
};
|
|
36
|
-
type ResultMethodsKeys = keyof ResultMethods<any, any>;
|
|
37
|
-
/** @deprecated Use `t-result` library instead. */
|
|
38
|
-
declare function ok(): Ok<void>;
|
|
39
|
-
/**
|
|
40
|
-
* @deprecated Use `t-result` library instead.
|
|
41
|
-
* @param value
|
|
42
|
-
*/
|
|
43
|
-
declare function ok<T>(value: T): Ok<T>;
|
|
44
|
-
/**
|
|
45
|
-
* @deprecated Use `t-result` library instead.
|
|
46
|
-
* @param error
|
|
47
|
-
*/
|
|
48
|
-
declare function err<E extends ResultValidErrors>(error: E): Err<E>;
|
|
49
|
-
declare function unknownToResultError(error: unknown): Err<Error>;
|
|
50
|
-
/**
|
|
51
|
-
* Unwraps a promise result
|
|
52
|
-
*
|
|
53
|
-
* @param result
|
|
54
|
-
*/
|
|
55
|
-
declare function asyncUnwrap<T>(result: Promise<Result<T, ResultValidErrors>>): Promise<T>;
|
|
56
|
-
declare function asyncMap<T, E extends ResultValidErrors>(resultPromise: Promise<Result<T, E>>): {
|
|
57
|
-
err: <NewError extends ResultValidErrors>(mapFn: (error: E) => NewError) => Promise<Result<T, NewError>>;
|
|
58
|
-
ok: <NewValue>(mapFn: (value: T) => NewValue) => Promise<Result<NewValue, E>>;
|
|
59
|
-
okAndErr: <NewValue, NewError extends ResultValidErrors>({ ok: mapFn, err: mapErrFn, }: {
|
|
60
|
-
ok: (value: T) => NewValue;
|
|
61
|
-
err: (error: E) => NewError;
|
|
62
|
-
}) => Promise<Result<NewValue, NewError>>;
|
|
63
|
-
};
|
|
64
|
-
/** @deprecated Use `t-result` library instead. */
|
|
65
|
-
type Result<T, E extends ResultValidErrors = Error> = (Omit<Ok<T>, ResultMethodsKeys> | Omit<Err<E>, ResultMethodsKeys>) & ResultMethods<T, E>;
|
|
66
|
-
/** @deprecated Use `t-result` library instead. */
|
|
67
|
-
declare const Result: {
|
|
68
|
-
ok: typeof ok;
|
|
69
|
-
err: typeof err;
|
|
70
|
-
unknownToError: typeof unknownToResultError;
|
|
71
|
-
asyncUnwrap: typeof asyncUnwrap;
|
|
72
|
-
asyncMap: typeof asyncMap;
|
|
73
|
-
getOkErr: typeof getOkErr;
|
|
74
|
-
};
|
|
75
|
-
/**
|
|
76
|
-
* @deprecated Use `t-result` library instead.
|
|
77
|
-
* @param fn
|
|
78
|
-
* @param errorNormalizer
|
|
79
|
-
*/
|
|
80
|
-
declare function resultify<T, E extends ResultValidErrors = Error>(fn: () => T extends Promise<any> ? never : T, errorNormalizer?: (err: unknown) => E): Result<T, E>;
|
|
81
|
-
/**
|
|
82
|
-
* @deprecated Use `t-result` library instead.
|
|
83
|
-
* @param fn
|
|
84
|
-
* @param errorNormalizer
|
|
85
|
-
*/
|
|
86
|
-
declare function resultify<T, E extends ResultValidErrors = Error>(fn: () => Promise<T>, errorNormalizer?: (err: unknown) => E): Promise<Result<Awaited<T>, E>>;
|
|
87
|
-
/**
|
|
88
|
-
* @deprecated Use `t-result` library instead.
|
|
89
|
-
* @param fn
|
|
90
|
-
* @param errorNormalizer
|
|
91
|
-
*/
|
|
92
|
-
declare function resultify<T, E extends ResultValidErrors = Error>(fn: Promise<T>, errorNormalizer?: (err: unknown) => E): Promise<Result<T, E>>;
|
|
93
|
-
/**
|
|
94
|
-
* @deprecated Use `t-result` library instead.
|
|
95
|
-
* @param error
|
|
96
|
-
*/
|
|
97
|
-
declare function unknownToError(error: unknown): Error;
|
|
98
|
-
/** @deprecated Use `t-result` library instead. */
|
|
99
|
-
type TypedResult<T, E extends ResultValidErrors = Error> = {
|
|
100
|
-
/** @deprecated Use `t-result` library instead. */
|
|
101
|
-
ok: (value: T) => Ok<T>;
|
|
102
|
-
/** @deprecated Use `t-result` library instead. */
|
|
103
|
-
err: (error: E) => Err<E>;
|
|
104
|
-
/** @deprecated Use `t-result` library instead. */
|
|
105
|
-
_type: Result<T, E>;
|
|
106
|
-
};
|
|
107
|
-
/** @deprecated Use `t-result` library instead. */
|
|
108
|
-
type GetTypedResult<R extends Result<any, any>> = TypedResult<R extends Result<infer T, any> ? T : never, R extends Result<any, infer E> ? E : never>;
|
|
109
|
-
declare function getOkErr<F extends (...args: any[]) => Promise<Result<any, any>>>(): TypedResult<Awaited<ReturnType<F>> extends Result<infer T, any> ? T : never, Awaited<ReturnType<F>> extends Result<any, infer E> ? E : never>;
|
|
110
|
-
declare function getOkErr<F extends (...args: any[]) => Result<any, any>>(): TypedResult<ReturnType<F> extends Result<infer T, any> ? T : never, ReturnType<F> extends Result<any, infer E> ? E : never>;
|
|
111
|
-
declare function getOkErr<R extends Result<any, any>>(): TypedResult<R extends Result<infer T, any> ? T : never, R extends Result<any, infer E> ? E : never>;
|
|
112
|
-
declare function getOkErr<T, E extends ResultValidErrors = Error>(): TypedResult<T, E>;
|
|
113
|
-
|
|
114
|
-
export { type GetTypedResult, Result, type ResultValidErrors, type TypedResult, err, ok, resultify, unknownToError };
|
package/dist/tsResult.js
DELETED
|
@@ -1,180 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
safeJsonStringify
|
|
3
|
-
} from "./chunk-VAAMRG4K.js";
|
|
4
|
-
import {
|
|
5
|
-
isFunction,
|
|
6
|
-
isObject,
|
|
7
|
-
isPromise
|
|
8
|
-
} from "./chunk-C2SVCIWE.js";
|
|
9
|
-
import "./chunk-JF2MDHOJ.js";
|
|
10
|
-
|
|
11
|
-
// src/tsResult.ts
|
|
12
|
-
function okUnwrapOr() {
|
|
13
|
-
return this.value;
|
|
14
|
-
}
|
|
15
|
-
function okMap(mapFn) {
|
|
16
|
-
return this.ok ? ok(mapFn(this.value)) : this;
|
|
17
|
-
}
|
|
18
|
-
function errMap(mapFn) {
|
|
19
|
-
return this.ok ? this : err(mapFn(this.error));
|
|
20
|
-
}
|
|
21
|
-
function mapOkAndErr({
|
|
22
|
-
ok: mapFn,
|
|
23
|
-
err: mapErrFn
|
|
24
|
-
}) {
|
|
25
|
-
return this.ok ? ok(mapFn(this.value)) : err(mapErrFn(this.error));
|
|
26
|
-
}
|
|
27
|
-
function returnResult() {
|
|
28
|
-
return this;
|
|
29
|
-
}
|
|
30
|
-
function okOnOk(fn) {
|
|
31
|
-
if (this.ok) {
|
|
32
|
-
fn(this.value);
|
|
33
|
-
}
|
|
34
|
-
return this;
|
|
35
|
-
}
|
|
36
|
-
function errOnErr(fn) {
|
|
37
|
-
if (!this.ok) {
|
|
38
|
-
fn(this.error);
|
|
39
|
-
}
|
|
40
|
-
return this;
|
|
41
|
-
}
|
|
42
|
-
function ok(value = void 0) {
|
|
43
|
-
const methods = {
|
|
44
|
-
unwrapOrNull: okUnwrapOr,
|
|
45
|
-
unwrapOr: okUnwrapOr,
|
|
46
|
-
unwrap: okUnwrapOr,
|
|
47
|
-
mapOk: okMap,
|
|
48
|
-
mapErr: returnResult,
|
|
49
|
-
mapOkAndErr,
|
|
50
|
-
ifOk: okOnOk,
|
|
51
|
-
ifErr: returnResult
|
|
52
|
-
};
|
|
53
|
-
return {
|
|
54
|
-
ok: true,
|
|
55
|
-
error: false,
|
|
56
|
-
value,
|
|
57
|
-
...methods
|
|
58
|
-
};
|
|
59
|
-
}
|
|
60
|
-
function err(error) {
|
|
61
|
-
const methods = {
|
|
62
|
-
unwrapOrNull: () => null,
|
|
63
|
-
unwrapOr: (defaultValue) => defaultValue,
|
|
64
|
-
unwrap: () => {
|
|
65
|
-
if (error instanceof Error) {
|
|
66
|
-
throw error;
|
|
67
|
-
}
|
|
68
|
-
throw unknownToError(error);
|
|
69
|
-
},
|
|
70
|
-
mapOk: returnResult,
|
|
71
|
-
mapErr: errMap,
|
|
72
|
-
mapOkAndErr,
|
|
73
|
-
ifOk: returnResult,
|
|
74
|
-
ifErr: errOnErr
|
|
75
|
-
};
|
|
76
|
-
return {
|
|
77
|
-
ok: false,
|
|
78
|
-
error,
|
|
79
|
-
errorResult() {
|
|
80
|
-
return err(error);
|
|
81
|
-
},
|
|
82
|
-
...methods
|
|
83
|
-
};
|
|
84
|
-
}
|
|
85
|
-
function unknownToResultError(error) {
|
|
86
|
-
return err(unknownToError(error));
|
|
87
|
-
}
|
|
88
|
-
async function asyncUnwrap(result) {
|
|
89
|
-
const unwrapped = await result;
|
|
90
|
-
if (unwrapped.ok) {
|
|
91
|
-
return unwrapped.value;
|
|
92
|
-
}
|
|
93
|
-
if (unwrapped.error instanceof Error) {
|
|
94
|
-
throw unwrapped.error;
|
|
95
|
-
}
|
|
96
|
-
throw unknownToError(unwrapped.error);
|
|
97
|
-
}
|
|
98
|
-
function asyncMap(resultPromise) {
|
|
99
|
-
return {
|
|
100
|
-
err: async (mapFn) => {
|
|
101
|
-
const result = await resultPromise;
|
|
102
|
-
return result.ok ? ok(result.value) : err(mapFn(result.error));
|
|
103
|
-
},
|
|
104
|
-
ok: async (mapFn) => {
|
|
105
|
-
const result = await resultPromise;
|
|
106
|
-
return result.ok ? ok(mapFn(result.value)) : err(result.error);
|
|
107
|
-
},
|
|
108
|
-
okAndErr: async ({
|
|
109
|
-
ok: mapFn,
|
|
110
|
-
err: mapErrFn
|
|
111
|
-
}) => {
|
|
112
|
-
const result = await resultPromise;
|
|
113
|
-
return result.ok ? ok(mapFn(result.value)) : err(mapErrFn(result.error));
|
|
114
|
-
}
|
|
115
|
-
};
|
|
116
|
-
}
|
|
117
|
-
var Result = {
|
|
118
|
-
ok,
|
|
119
|
-
err,
|
|
120
|
-
unknownToError: unknownToResultError,
|
|
121
|
-
asyncUnwrap,
|
|
122
|
-
asyncMap,
|
|
123
|
-
getOkErr
|
|
124
|
-
};
|
|
125
|
-
function resultify(fn, errorNormalizer) {
|
|
126
|
-
if (!isFunction(fn)) {
|
|
127
|
-
return fn.then((value) => ok(value)).catch(
|
|
128
|
-
(error) => err(
|
|
129
|
-
errorNormalizer ? errorNormalizer(error) : unknownToError(error)
|
|
130
|
-
)
|
|
131
|
-
);
|
|
132
|
-
}
|
|
133
|
-
try {
|
|
134
|
-
const result = fn();
|
|
135
|
-
if (isPromise(result)) {
|
|
136
|
-
return result.then((value) => ok(value)).catch(
|
|
137
|
-
(error) => err(
|
|
138
|
-
errorNormalizer ? errorNormalizer(error) : unknownToError(error)
|
|
139
|
-
)
|
|
140
|
-
);
|
|
141
|
-
}
|
|
142
|
-
return ok(result);
|
|
143
|
-
} catch (error) {
|
|
144
|
-
return err(
|
|
145
|
-
errorNormalizer ? errorNormalizer(error) : unknownToError(error)
|
|
146
|
-
);
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
function unknownToError(error) {
|
|
150
|
-
if (error instanceof Error) return error;
|
|
151
|
-
if (typeof error === "string") {
|
|
152
|
-
return new Error(error);
|
|
153
|
-
}
|
|
154
|
-
if (isObject(error)) {
|
|
155
|
-
return new Error(
|
|
156
|
-
"message" in error && error.message && typeof error.message === "string" ? error.message : safeJsonStringify(error) ?? "unknown",
|
|
157
|
-
{ cause: error }
|
|
158
|
-
);
|
|
159
|
-
}
|
|
160
|
-
return new Error(safeJsonStringify(error) ?? "unknown", {
|
|
161
|
-
cause: error
|
|
162
|
-
});
|
|
163
|
-
}
|
|
164
|
-
var typedResult = {
|
|
165
|
-
ok,
|
|
166
|
-
err,
|
|
167
|
-
get _type() {
|
|
168
|
-
throw new Error("usage as value is not allowed");
|
|
169
|
-
}
|
|
170
|
-
};
|
|
171
|
-
function getOkErr() {
|
|
172
|
-
return typedResult;
|
|
173
|
-
}
|
|
174
|
-
export {
|
|
175
|
-
Result,
|
|
176
|
-
err,
|
|
177
|
-
ok,
|
|
178
|
-
resultify,
|
|
179
|
-
unknownToError
|
|
180
|
-
};
|
package/dist/typeGuards.cjs
DELETED
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
-
};
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
-
for (let key of __getOwnPropNames(from))
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
|
|
20
|
-
// src/typeGuards.ts
|
|
21
|
-
var typeGuards_exports = {};
|
|
22
|
-
__export(typeGuards_exports, {
|
|
23
|
-
arrayHasAtLeastXItems: () => arrayHasAtLeastXItems,
|
|
24
|
-
isFunction: () => isFunction,
|
|
25
|
-
isNonEmptyArray: () => isNonEmptyArray,
|
|
26
|
-
isObject: () => isObject,
|
|
27
|
-
isPlainObject: () => isPlainObject,
|
|
28
|
-
isPromise: () => isPromise,
|
|
29
|
-
isTruthy: () => isTruthy
|
|
30
|
-
});
|
|
31
|
-
module.exports = __toCommonJS(typeGuards_exports);
|
|
32
|
-
function isObject(value) {
|
|
33
|
-
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
34
|
-
}
|
|
35
|
-
function isFunction(value) {
|
|
36
|
-
return typeof value === "function";
|
|
37
|
-
}
|
|
38
|
-
function isPromise(value) {
|
|
39
|
-
return isObject(value) && "then" in value && isFunction(value.then);
|
|
40
|
-
}
|
|
41
|
-
function isPlainObject(value) {
|
|
42
|
-
if (!value || typeof value !== "object") return false;
|
|
43
|
-
const proto = Object.getPrototypeOf(value);
|
|
44
|
-
if (proto === null) {
|
|
45
|
-
return true;
|
|
46
|
-
}
|
|
47
|
-
const Ctor = Object.hasOwnProperty.call(proto, "constructor") && proto.constructor;
|
|
48
|
-
if (Ctor === Object) return true;
|
|
49
|
-
const objectCtorString = Object.prototype.constructor.toString();
|
|
50
|
-
return typeof Ctor == "function" && Function.toString.call(Ctor) === objectCtorString;
|
|
51
|
-
}
|
|
52
|
-
function isNonEmptyArray(value) {
|
|
53
|
-
return value.length > 0;
|
|
54
|
-
}
|
|
55
|
-
function arrayHasAtLeastXItems(array, minLength) {
|
|
56
|
-
return array.length >= minLength;
|
|
57
|
-
}
|
|
58
|
-
function isTruthy(value) {
|
|
59
|
-
return !!value;
|
|
60
|
-
}
|
|
61
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
62
|
-
0 && (module.exports = {
|
|
63
|
-
arrayHasAtLeastXItems,
|
|
64
|
-
isFunction,
|
|
65
|
-
isNonEmptyArray,
|
|
66
|
-
isObject,
|
|
67
|
-
isPlainObject,
|
|
68
|
-
isPromise,
|
|
69
|
-
isTruthy
|
|
70
|
-
});
|
package/dist/typeGuards.d.ts
DELETED
|
@@ -1,111 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Type guard to check if a value is a plain object (not null, not an array).
|
|
3
|
-
*
|
|
4
|
-
* Returns true if the value is an object that is not null and not an array.
|
|
5
|
-
* This is useful for distinguishing between objects and other types.
|
|
6
|
-
*
|
|
7
|
-
* @example
|
|
8
|
-
* ```typescript
|
|
9
|
-
* if (isObject(value)) {
|
|
10
|
-
* // TypeScript knows value is Record<string, unknown>
|
|
11
|
-
* console.log(value.someProperty);
|
|
12
|
-
* }
|
|
13
|
-
*
|
|
14
|
-
* isObject({}); // true
|
|
15
|
-
* isObject({ a: 1 }); // true
|
|
16
|
-
* isObject(null); // false
|
|
17
|
-
* isObject([]); // false
|
|
18
|
-
* isObject('string'); // false
|
|
19
|
-
* ```;
|
|
20
|
-
*
|
|
21
|
-
* @param value - The value to check
|
|
22
|
-
* @returns True if the value is a plain object, false otherwise
|
|
23
|
-
*/
|
|
24
|
-
declare function isObject(value: unknown): value is Record<string, unknown>;
|
|
25
|
-
/**
|
|
26
|
-
* Type guard to check if a value is a function.
|
|
27
|
-
*
|
|
28
|
-
* Returns true if the value is a function of any kind (regular function, arrow
|
|
29
|
-
* function, method, constructor, etc.).
|
|
30
|
-
*
|
|
31
|
-
* @example
|
|
32
|
-
* ```typescript
|
|
33
|
-
* if (isFunction(value)) {
|
|
34
|
-
* // TypeScript knows value is (...args: any[]) => any
|
|
35
|
-
* const result = value();
|
|
36
|
-
* }
|
|
37
|
-
*
|
|
38
|
-
* isFunction(() => {}); // true
|
|
39
|
-
* isFunction(function() {}); // true
|
|
40
|
-
* isFunction(Math.max); // true
|
|
41
|
-
* isFunction('string'); // false
|
|
42
|
-
* isFunction({}); // false
|
|
43
|
-
* ```;
|
|
44
|
-
*
|
|
45
|
-
* @param value - The value to check
|
|
46
|
-
* @returns True if the value is a function, false otherwise
|
|
47
|
-
*/
|
|
48
|
-
declare function isFunction(value: unknown): value is (...args: any[]) => any;
|
|
49
|
-
/**
|
|
50
|
-
* Type guard to check if a value is a Promise or thenable object.
|
|
51
|
-
*
|
|
52
|
-
* Returns true if the value is an object with a `then` method that is a
|
|
53
|
-
* function. This covers both native Promises and thenable objects that
|
|
54
|
-
* implement the Promise interface.
|
|
55
|
-
*
|
|
56
|
-
* @example
|
|
57
|
-
* ```typescript
|
|
58
|
-
* if (isPromise(value)) {
|
|
59
|
-
* // TypeScript knows value is Promise<unknown>
|
|
60
|
-
* const result = await value;
|
|
61
|
-
* }
|
|
62
|
-
*
|
|
63
|
-
* isPromise(Promise.resolve()); // true
|
|
64
|
-
* isPromise(new Promise(() => {})); // true
|
|
65
|
-
* isPromise({ then: () => {} }); // true
|
|
66
|
-
* isPromise({ then: 'not a function' }); // false
|
|
67
|
-
* isPromise('string'); // false
|
|
68
|
-
* ```;
|
|
69
|
-
*
|
|
70
|
-
* @param value - The value to check
|
|
71
|
-
* @returns True if the value is a Promise or thenable, false otherwise
|
|
72
|
-
*/
|
|
73
|
-
declare function isPromise(value: unknown): value is Promise<unknown>;
|
|
74
|
-
/**
|
|
75
|
-
* Type guard to check if a value is a plain object (created by Object literal
|
|
76
|
-
* or Object constructor).
|
|
77
|
-
*
|
|
78
|
-
* Returns true if the value is a plain object - an object created by the Object
|
|
79
|
-
* constructor or object literal syntax. This excludes instances of classes,
|
|
80
|
-
* built-in objects like Date, RegExp, etc.
|
|
81
|
-
*
|
|
82
|
-
* @example
|
|
83
|
-
* ```typescript
|
|
84
|
-
* if (isPlainObject(value)) {
|
|
85
|
-
* // TypeScript knows value is Record<string, unknown>
|
|
86
|
-
* console.log(Object.keys(value));
|
|
87
|
-
* }
|
|
88
|
-
*
|
|
89
|
-
* isPlainObject({}); // true
|
|
90
|
-
* isPlainObject({ a: 1 }); // true
|
|
91
|
-
* isPlainObject(Object.create(null)); // true
|
|
92
|
-
* isPlainObject(new Date()); // false
|
|
93
|
-
* isPlainObject(/regex/); // false
|
|
94
|
-
* isPlainObject(new MyClass()); // false
|
|
95
|
-
* isPlainObject([]); // false
|
|
96
|
-
* ```;
|
|
97
|
-
*
|
|
98
|
-
* @param value - The value to check
|
|
99
|
-
* @returns True if the value is a plain object, false otherwise
|
|
100
|
-
*/
|
|
101
|
-
declare function isPlainObject(value: any): value is Record<string, unknown>;
|
|
102
|
-
type NonEmptyArray<T> = [T, ...T[]];
|
|
103
|
-
declare function isNonEmptyArray<T>(value: T[] | readonly T[]): value is NonEmptyArray<T>;
|
|
104
|
-
declare function arrayHasAtLeastXItems<T>(array: T[], minLength: 1): array is [T, ...T[]];
|
|
105
|
-
declare function arrayHasAtLeastXItems<T>(array: T[], minLength: 2): array is [T, T, ...T[]];
|
|
106
|
-
declare function arrayHasAtLeastXItems<T>(array: T[], minLength: 3): array is [T, T, T, ...T[]];
|
|
107
|
-
declare function arrayHasAtLeastXItems<T>(array: T[], minLength: 4): array is [T, T, T, T, ...T[]];
|
|
108
|
-
declare function arrayHasAtLeastXItems<T>(array: T[], minLength: 5): array is [T, T, T, T, T, ...T[]];
|
|
109
|
-
declare function isTruthy<T>(value: T): value is Exclude<T, null | undefined | false | 0 | '' | 0n>;
|
|
110
|
-
|
|
111
|
-
export { type NonEmptyArray, arrayHasAtLeastXItems, isFunction, isNonEmptyArray, isObject, isPlainObject, isPromise, isTruthy };
|
package/dist/typeGuards.js
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
arrayHasAtLeastXItems,
|
|
3
|
-
isFunction,
|
|
4
|
-
isNonEmptyArray,
|
|
5
|
-
isObject,
|
|
6
|
-
isPlainObject,
|
|
7
|
-
isPromise,
|
|
8
|
-
isTruthy
|
|
9
|
-
} from "./chunk-JF2MDHOJ.js";
|
|
10
|
-
export {
|
|
11
|
-
arrayHasAtLeastXItems,
|
|
12
|
-
isFunction,
|
|
13
|
-
isNonEmptyArray,
|
|
14
|
-
isObject,
|
|
15
|
-
isPlainObject,
|
|
16
|
-
isPromise,
|
|
17
|
-
isTruthy
|
|
18
|
-
};
|
package/dist/typeUtils.cjs
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __copyProps = (to, from, except, desc) => {
|
|
7
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
8
|
-
for (let key of __getOwnPropNames(from))
|
|
9
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
10
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
11
|
-
}
|
|
12
|
-
return to;
|
|
13
|
-
};
|
|
14
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
15
|
-
|
|
16
|
-
// src/typeUtils.ts
|
|
17
|
-
var typeUtils_exports = {};
|
|
18
|
-
module.exports = __toCommonJS(typeUtils_exports);
|
package/dist/typeUtils.d.cts
DELETED
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
type PartialRecord<K extends keyof any, T> = {
|
|
2
|
-
[P in K]?: T;
|
|
3
|
-
};
|
|
4
|
-
type NonPartial<T> = {
|
|
5
|
-
[K in keyof Required<T>]: T[K];
|
|
6
|
-
};
|
|
7
|
-
/**
|
|
8
|
-
* @deprecated Use `ObjKeysWithValuesOfType` from `@ls-stack/utils/typeUtils`
|
|
9
|
-
* instead
|
|
10
|
-
*/
|
|
11
|
-
type ObjKeysWithValuesOfType<Obj extends Record<PropertyKey, unknown>, ValueType> = {
|
|
12
|
-
[K in keyof Obj]: Obj[K] extends ValueType ? K : never;
|
|
13
|
-
}[keyof Obj];
|
|
14
|
-
type IsAny<T> = unknown extends T ? [
|
|
15
|
-
keyof T
|
|
16
|
-
] extends [never] ? false : true : false;
|
|
17
|
-
type Prettify<T extends Record<string, unknown>> = {
|
|
18
|
-
[P in keyof T]: T[P];
|
|
19
|
-
} & {};
|
|
20
|
-
type DeepPrettify<T> = {
|
|
21
|
-
[K in keyof T]: T[K] extends Record<string, unknown> ? DeepPrettify<T[K]> : T[K];
|
|
22
|
-
} & {};
|
|
23
|
-
type DefaultSkipTransverseDeepReplace = Date | RegExp | ((...args: any[]) => any) | Error | Set<any> | Map<any, any> | WeakSet<any> | WeakMap<any, any>;
|
|
24
|
-
type PathMatches<CurrentPath extends string, SkipPaths extends string> = true extends (SkipPaths extends any ? CurrentPath extends SkipPaths ? true : SkipPaths extends `${infer Prefix}[*]${infer Suffix}` ? CurrentPath extends `${Prefix}[${string}]${Suffix}` ? true : false : false : false) ? true : false;
|
|
25
|
-
type BuildPath<BasePath extends string, Key extends PropertyKey> = BasePath extends '$' ? Key extends string | number ? `${Key}` : never : Key extends string | number ? `${BasePath}.${Key}` : never;
|
|
26
|
-
type BuildArrayPath<BasePath extends string> = BasePath extends '$' ? '[*]' : `${BasePath}[*]`;
|
|
27
|
-
type DeepReplaceValueImpl<T, ReplaceType, NewType, SkipPaths extends string | undefined, SkipType, Path extends string = '$'> = SkipPaths extends string ? PathMatches<Path, SkipPaths> extends true ? T : T extends ReplaceType ? T extends SkipType ? T : NewType : T extends readonly (infer U)[] ? Array<DeepReplaceValueImpl<U, ReplaceType, NewType, SkipPaths, SkipType, BuildArrayPath<Path>>> : T extends SkipType ? T : T extends Record<string, any> ? {
|
|
28
|
-
[K in keyof T]: DeepReplaceValueImpl<T[K], ReplaceType, NewType, SkipPaths, SkipType, BuildPath<Path, K>>;
|
|
29
|
-
} : T : T extends ReplaceType ? T extends SkipType ? T : NewType : T extends readonly (infer U)[] ? Array<DeepReplaceValueImpl<U, ReplaceType, NewType, SkipPaths, SkipType, BuildArrayPath<Path>>> : T extends SkipType ? T : T extends Record<string, any> ? {
|
|
30
|
-
[K in keyof T]: DeepReplaceValueImpl<T[K], ReplaceType, NewType, SkipPaths, SkipType, BuildPath<Path, K>>;
|
|
31
|
-
} : T;
|
|
32
|
-
/**
|
|
33
|
-
* Replaces all values that extends `ReplaceType` with `NewType` in a deeply
|
|
34
|
-
* nested object or array.
|
|
35
|
-
*
|
|
36
|
-
* @template T - The object or array to replace values in.
|
|
37
|
-
* @template ReplaceType - The type to replace.
|
|
38
|
-
* @template NewType - The new type to replace with.
|
|
39
|
-
* @template SkipPaths - The paths to skip in transverse. e.g. 'a.b.c' |
|
|
40
|
-
* 'array[*].b'
|
|
41
|
-
* @template SkipTypes - The types to skip in transverse and replace.
|
|
42
|
-
*/
|
|
43
|
-
type DeepReplaceValue<T, ReplaceType, NewType, SkipPaths extends string | undefined = undefined, SkipTypes = DefaultSkipTransverseDeepReplace> = DeepReplaceValueImpl<T, ReplaceType, NewType, SkipPaths, SkipTypes>;
|
|
44
|
-
type KeysWithUndefinedValues<T extends Record<string, unknown>> = {
|
|
45
|
-
[K in keyof T]: undefined extends T[K] ? K : never;
|
|
46
|
-
}[keyof T];
|
|
47
|
-
/**
|
|
48
|
-
* Marks all possible undefined values as partial at the root level of the
|
|
49
|
-
* object.
|
|
50
|
-
*/
|
|
51
|
-
type PartialPossiblyUndefinedValues<T extends Record<string, unknown>> = Prettify<Partial<Pick<T, KeysWithUndefinedValues<T>>> & Omit<T, KeysWithUndefinedValues<T>>>;
|
|
52
|
-
type PickUndefinedKeys<T> = {
|
|
53
|
-
[K in keyof T]: undefined extends T[K] ? K : never;
|
|
54
|
-
}[keyof T];
|
|
55
|
-
type PickRequiredKeys<T> = {
|
|
56
|
-
[K in keyof T]: undefined extends T[K] ? never : K;
|
|
57
|
-
}[keyof T];
|
|
58
|
-
type MakeUndefinedKeysOptional<T> = Prettify<Partial<Pick<T, PickUndefinedKeys<T>>> & Pick<T, PickRequiredKeys<T>>>;
|
|
59
|
-
type StringWithAutoComplete<T extends string> = T | (string & {});
|
|
60
|
-
|
|
61
|
-
export type { DeepPrettify, DeepReplaceValue, DefaultSkipTransverseDeepReplace, IsAny, MakeUndefinedKeysOptional, NonPartial, ObjKeysWithValuesOfType, PartialPossiblyUndefinedValues, PartialRecord, Prettify, StringWithAutoComplete };
|
package/dist/typeUtils.js
DELETED
|
File without changes
|
package/dist/typedStrings.cjs
DELETED
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
-
};
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
-
for (let key of __getOwnPropNames(from))
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
|
|
20
|
-
// src/typedStrings.ts
|
|
21
|
-
var typedStrings_exports = {};
|
|
22
|
-
__export(typedStrings_exports, {
|
|
23
|
-
asNonEmptyStringOrNull: () => asNonEmptyStringOrNull,
|
|
24
|
-
asNonEmptyStringOrThrow: () => asNonEmptyStringOrThrow,
|
|
25
|
-
assertStringIsNonEmpty: () => assertStringIsNonEmpty,
|
|
26
|
-
isNonEmptyString: () => isNonEmptyString,
|
|
27
|
-
splitTypedString: () => splitTypedString,
|
|
28
|
-
splitTypedStringAt: () => splitTypedStringAt,
|
|
29
|
-
stringContains: () => stringContains,
|
|
30
|
-
stringEndsWith: () => stringEndsWith,
|
|
31
|
-
stringStartsWith: () => stringStartsWith
|
|
32
|
-
});
|
|
33
|
-
module.exports = __toCommonJS(typedStrings_exports);
|
|
34
|
-
function stringContains(str, substring) {
|
|
35
|
-
return str.includes(substring);
|
|
36
|
-
}
|
|
37
|
-
function stringStartsWith(str, substring) {
|
|
38
|
-
return str.startsWith(substring);
|
|
39
|
-
}
|
|
40
|
-
function stringEndsWith(str, substring) {
|
|
41
|
-
return str.endsWith(substring);
|
|
42
|
-
}
|
|
43
|
-
function splitTypedString(str, separator) {
|
|
44
|
-
return str.split(separator);
|
|
45
|
-
}
|
|
46
|
-
function splitTypedStringAt(str, separator, splitAtNSeparatorPos = 1) {
|
|
47
|
-
const parts = str.split(separator);
|
|
48
|
-
let leftPart = parts[0];
|
|
49
|
-
let rightPart = parts.slice(1).join(separator);
|
|
50
|
-
if (leftPart === void 0) {
|
|
51
|
-
throw new Error("String does not contain the separator");
|
|
52
|
-
}
|
|
53
|
-
if (splitAtNSeparatorPos > 1) {
|
|
54
|
-
leftPart = parts.slice(0, splitAtNSeparatorPos).join(separator);
|
|
55
|
-
rightPart = parts.slice(splitAtNSeparatorPos).join(separator);
|
|
56
|
-
}
|
|
57
|
-
return [leftPart, rightPart];
|
|
58
|
-
}
|
|
59
|
-
function isNonEmptyString(str) {
|
|
60
|
-
return str.length > 0;
|
|
61
|
-
}
|
|
62
|
-
function asNonEmptyStringOrThrow(str) {
|
|
63
|
-
if (isNonEmptyString(str)) {
|
|
64
|
-
return str;
|
|
65
|
-
}
|
|
66
|
-
throw new Error("String is empty");
|
|
67
|
-
}
|
|
68
|
-
function asNonEmptyStringOrNull(str) {
|
|
69
|
-
if (isNonEmptyString(str)) {
|
|
70
|
-
return str;
|
|
71
|
-
}
|
|
72
|
-
return null;
|
|
73
|
-
}
|
|
74
|
-
function assertStringIsNonEmpty(str) {
|
|
75
|
-
if (!isNonEmptyString(str)) {
|
|
76
|
-
throw new Error("String is empty");
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
80
|
-
0 && (module.exports = {
|
|
81
|
-
asNonEmptyStringOrNull,
|
|
82
|
-
asNonEmptyStringOrThrow,
|
|
83
|
-
assertStringIsNonEmpty,
|
|
84
|
-
isNonEmptyString,
|
|
85
|
-
splitTypedString,
|
|
86
|
-
splitTypedStringAt,
|
|
87
|
-
stringContains,
|
|
88
|
-
stringEndsWith,
|
|
89
|
-
stringStartsWith
|
|
90
|
-
});
|