@ls-stack/utils 3.65.0 → 3.67.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 +79 -0
- package/dist/diffParser.mjs +424 -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 -242
- 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/keyedMap.cjs +0 -224
- package/dist/keyedMap.d.cts +0 -75
- package/dist/keyedMap.d.ts +0 -75
- package/dist/keyedMap.js +0 -145
- package/dist/keyedSet.cjs +0 -205
- package/dist/keyedSet.d.cts +0 -76
- package/dist/keyedSet.d.ts +0 -76
- package/dist/keyedSet.js +0 -126
- 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
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
//#region src/arrayUtils.d.ts
|
|
1
2
|
/**
|
|
2
3
|
* Allow to filter and map with better typing ergonomics
|
|
3
4
|
*
|
|
@@ -22,7 +23,7 @@ type FilterAndMapReturn<T> = false | T;
|
|
|
22
23
|
type SortOrder = 'desc' | 'asc';
|
|
23
24
|
type SortByValueFn<T> = (item: T) => (number | string)[] | number | string;
|
|
24
25
|
type SortByProps = {
|
|
25
|
-
|
|
26
|
+
order?: SortOrder | SortOrder[];
|
|
26
27
|
} | SortOrder | SortOrder[];
|
|
27
28
|
/**
|
|
28
29
|
* Sort an array based on a value
|
|
@@ -71,9 +72,9 @@ declare function sortBy<T>(arr: T[], sortByValue: SortByValueFn<T>, props?: Sort
|
|
|
71
72
|
declare function getAscIndexOrder(index: number | undefined): number;
|
|
72
73
|
declare function arrayWithPrev<T>(array: T[]): [current: T, prev: T | null][];
|
|
73
74
|
declare function arrayWithPrevAndIndex<T>(array: T[]): {
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
75
|
+
item: T;
|
|
76
|
+
prev: T | null;
|
|
77
|
+
index: number;
|
|
77
78
|
}[];
|
|
78
79
|
declare function isInArray<T, const U extends T>(value: T, oneOf: readonly U[]): value is U;
|
|
79
80
|
declare function isInArrayWithoutNarrowing<T, const U extends T>(value: T, oneOf: readonly U[]): boolean;
|
|
@@ -111,23 +112,23 @@ declare function truncateArray<T>(array: T[], maxLength: number, appendIfTruncat
|
|
|
111
112
|
*/
|
|
112
113
|
declare function findAndMap<T, R>(array: T[], predicate: (value: T) => R | false): R | undefined;
|
|
113
114
|
type ArrayOps<T> = {
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
115
|
+
/**
|
|
116
|
+
* Filter and map an array
|
|
117
|
+
*
|
|
118
|
+
* @example
|
|
119
|
+
* const items = [1, 2, 3];
|
|
120
|
+
*
|
|
121
|
+
* const enhancedItems = arrayOps(items);
|
|
122
|
+
*
|
|
123
|
+
* enhancedItems.filterAndMap((item) => (item === 2 ? false : item));
|
|
124
|
+
*
|
|
125
|
+
* @param mapFilter - A function that takes an item and returns a value or
|
|
126
|
+
* `false` to reject the item.
|
|
127
|
+
*/
|
|
128
|
+
filterAndMap: <R>(mapFilter: (item: T, index: number) => false | R) => R[];
|
|
129
|
+
sortBy: (sortByValue: SortByValueFn<T>, props: SortByProps) => T[];
|
|
130
|
+
rejectDuplicates: (getKey: (item: T) => unknown) => T[];
|
|
131
|
+
findAndMap: <R>(predicate: (value: T) => R | false) => R | undefined;
|
|
131
132
|
};
|
|
132
133
|
/**
|
|
133
134
|
* Enhance an array with extra methods
|
|
@@ -167,5 +168,5 @@ declare function intersperse<T, I>(array: T[], separator: I): (T | I)[];
|
|
|
167
168
|
* @returns A new array with the repeated values
|
|
168
169
|
*/
|
|
169
170
|
declare function repeat<T>(value: T, count: number, separator?: T): T[];
|
|
170
|
-
|
|
171
|
-
export {
|
|
171
|
+
//#endregion
|
|
172
|
+
export { FilterAndMapReturn, SortByProps, SortByValueFn, arrayOps, arrayWithPrev, arrayWithPrevAndIndex, filterAndMap, findAfterIndex, findAndMap, findBeforeIndex, getAscIndexOrder, hasDuplicates, intersperse, isInArray, isInArrayWithoutNarrowing, looseIsInArray, rejectArrayUndefinedValues, rejectDuplicates, repeat, sortBy, truncateArray };
|
|
@@ -0,0 +1,249 @@
|
|
|
1
|
+
import { a as isFunction } from "./assertions-qMxfVhSu.mjs";
|
|
2
|
+
|
|
3
|
+
//#region src/arrayUtils.ts
|
|
4
|
+
/**
|
|
5
|
+
* Allow to filter and map with better typing ergonomics
|
|
6
|
+
*
|
|
7
|
+
* In the `mapFilter` function return `false` to reject the item, or any other
|
|
8
|
+
* value to map it.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* // Filter reject and turn value into `value mapped`
|
|
12
|
+
* const items = ['value', 'value', 'reject', 'reject'];
|
|
13
|
+
*
|
|
14
|
+
* const mappedItems = filterAndMap(items, (item) =>
|
|
15
|
+
* item === 'reject' ? false : `${item} mapped`,
|
|
16
|
+
* );
|
|
17
|
+
*
|
|
18
|
+
* mappedItems; // ['value mapped', 'value mapped']
|
|
19
|
+
*
|
|
20
|
+
* @param array
|
|
21
|
+
* @param mapFilter
|
|
22
|
+
*/
|
|
23
|
+
function filterAndMap(array, mapFilter) {
|
|
24
|
+
const result = [];
|
|
25
|
+
let i = -1;
|
|
26
|
+
for (const item of array) {
|
|
27
|
+
i += 1;
|
|
28
|
+
const filterResult = mapFilter(item, i);
|
|
29
|
+
if (filterResult !== false) result.push(filterResult);
|
|
30
|
+
}
|
|
31
|
+
return result;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Sort an array based on a value
|
|
35
|
+
*
|
|
36
|
+
* Sort by `ascending` order by default
|
|
37
|
+
*
|
|
38
|
+
* Use `Infinity` as as wildcard to absolute max and min values
|
|
39
|
+
*
|
|
40
|
+
* @example
|
|
41
|
+
* const items = [1, 3, 2, 4];
|
|
42
|
+
*
|
|
43
|
+
* const sortedItems = sortBy(items, (item) => item);
|
|
44
|
+
* // [1, 2, 3, 4]
|
|
45
|
+
*
|
|
46
|
+
* const items2 = [
|
|
47
|
+
* { a: 1, b: 2 },
|
|
48
|
+
* { a: 2, b: 1 },
|
|
49
|
+
* { a: 1, b: 1 },
|
|
50
|
+
* ];
|
|
51
|
+
*
|
|
52
|
+
* // return a array to sort by multiple values
|
|
53
|
+
* const sortedItems = sortBy(items, (item) => [item.a, item.b]);
|
|
54
|
+
*
|
|
55
|
+
* @param arr
|
|
56
|
+
* @param sortByValue
|
|
57
|
+
* @param props
|
|
58
|
+
*/
|
|
59
|
+
function sortBy(arr, sortByValue, props = "asc") {
|
|
60
|
+
const order = Array.isArray(props) || typeof props === "string" ? props : props.order ?? "asc";
|
|
61
|
+
return [...arr].sort((a, b) => {
|
|
62
|
+
const _aPriority = sortByValue(a);
|
|
63
|
+
const _bPriority = sortByValue(b);
|
|
64
|
+
const aPriority = Array.isArray(_aPriority) ? _aPriority : [_aPriority];
|
|
65
|
+
const bPriority = Array.isArray(_bPriority) ? _bPriority : [_bPriority];
|
|
66
|
+
for (let i = 0; i < aPriority.length; i++) {
|
|
67
|
+
const levelOrder = typeof order === "string" ? order : order[i] ?? "asc";
|
|
68
|
+
const aP = aPriority[i] ?? 0;
|
|
69
|
+
const bP = bPriority[i] ?? 0;
|
|
70
|
+
if (aP === bP) continue;
|
|
71
|
+
if (bP === Infinity || aP === -Infinity || aP < bP) return levelOrder === "asc" ? -1 : 1;
|
|
72
|
+
if (aP === Infinity || bP === -Infinity || aP > bP) return levelOrder === "asc" ? 1 : -1;
|
|
73
|
+
}
|
|
74
|
+
return 0;
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Get the correct 0 based value for sync with other array in ascending order
|
|
79
|
+
*
|
|
80
|
+
* @example
|
|
81
|
+
* ```ts
|
|
82
|
+
* const items = [1, 2, 3];
|
|
83
|
+
*
|
|
84
|
+
* const index = sortBy(
|
|
85
|
+
* items,
|
|
86
|
+
* (item) => getAscIndexOrder(
|
|
87
|
+
* followOrder.findIndex((order) => order === item)
|
|
88
|
+
* )
|
|
89
|
+
* );
|
|
90
|
+
* ```;
|
|
91
|
+
*
|
|
92
|
+
* @param index
|
|
93
|
+
*/
|
|
94
|
+
function getAscIndexOrder(index) {
|
|
95
|
+
return index === -1 ? Infinity : index ?? Infinity;
|
|
96
|
+
}
|
|
97
|
+
function arrayWithPrev(array) {
|
|
98
|
+
return array.map((item, i) => [item, array[i - 1] ?? null]);
|
|
99
|
+
}
|
|
100
|
+
function arrayWithPrevAndIndex(array) {
|
|
101
|
+
return array.map((item, i) => ({
|
|
102
|
+
item,
|
|
103
|
+
prev: array[i - 1] ?? null,
|
|
104
|
+
index: i
|
|
105
|
+
}));
|
|
106
|
+
}
|
|
107
|
+
function isInArray(value, oneOf) {
|
|
108
|
+
for (let i = 0; i < oneOf.length; i++) if (oneOf[i] === value) return true;
|
|
109
|
+
return false;
|
|
110
|
+
}
|
|
111
|
+
function isInArrayWithoutNarrowing(value, oneOf) {
|
|
112
|
+
return oneOf.includes(value);
|
|
113
|
+
}
|
|
114
|
+
function looseIsInArray(value, array) {
|
|
115
|
+
return array.includes(value);
|
|
116
|
+
}
|
|
117
|
+
function findAfterIndex(array, index, predicate) {
|
|
118
|
+
for (let i = index + 1; i < array.length; i++) if (predicate(array[i])) return array[i];
|
|
119
|
+
}
|
|
120
|
+
function findBeforeIndex(array, index, predicate) {
|
|
121
|
+
let indexToUse = index;
|
|
122
|
+
if (indexToUse >= array.length) indexToUse = array.length;
|
|
123
|
+
for (let i = indexToUse - 1; i >= 0; i--) if (predicate(array[i])) return array[i];
|
|
124
|
+
}
|
|
125
|
+
function rejectArrayUndefinedValues(array) {
|
|
126
|
+
return array.filter((item) => item !== void 0);
|
|
127
|
+
}
|
|
128
|
+
function hasDuplicates(array, getKey = (item) => item) {
|
|
129
|
+
const seen = /* @__PURE__ */ new Set();
|
|
130
|
+
for (const item of array) {
|
|
131
|
+
const key = getKey(item);
|
|
132
|
+
if (seen.has(key)) return true;
|
|
133
|
+
seen.add(key);
|
|
134
|
+
}
|
|
135
|
+
return false;
|
|
136
|
+
}
|
|
137
|
+
function rejectDuplicates(array, getKey = (item) => item) {
|
|
138
|
+
const seen = /* @__PURE__ */ new Set();
|
|
139
|
+
const result = [];
|
|
140
|
+
for (const item of array) {
|
|
141
|
+
const key = getKey(item);
|
|
142
|
+
if (seen.has(key)) continue;
|
|
143
|
+
seen.add(key);
|
|
144
|
+
result.push(item);
|
|
145
|
+
}
|
|
146
|
+
return result;
|
|
147
|
+
}
|
|
148
|
+
function truncateArray(array, maxLength, appendIfTruncated) {
|
|
149
|
+
const truncate = array.length > maxLength;
|
|
150
|
+
const result = truncate ? [...array.slice(0, maxLength)] : array;
|
|
151
|
+
if (truncate && appendIfTruncated) {
|
|
152
|
+
if (isFunction(appendIfTruncated)) return [...result, appendIfTruncated(array.length - maxLength)];
|
|
153
|
+
return [...result, appendIfTruncated];
|
|
154
|
+
}
|
|
155
|
+
return result;
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* Finds the first item in an array where the predicate returns a non-false
|
|
159
|
+
* value and returns that mapped value.
|
|
160
|
+
*
|
|
161
|
+
* Combines find and map operations - applies the predicate to each item until
|
|
162
|
+
* one returns a value that is not `false`, then returns that mapped value. If
|
|
163
|
+
* no item matches, returns `undefined`.
|
|
164
|
+
*
|
|
165
|
+
* @example
|
|
166
|
+
* const users = [
|
|
167
|
+
* { id: 1, name: 'Alice' },
|
|
168
|
+
* { id: 2, name: 'Bob' },
|
|
169
|
+
* ];
|
|
170
|
+
*
|
|
171
|
+
* const foundName = findAndMap(users, (user) =>
|
|
172
|
+
* user.id === 2 ? user.name.toUpperCase() : false,
|
|
173
|
+
* );
|
|
174
|
+
* // foundName is 'BOB'
|
|
175
|
+
*
|
|
176
|
+
* @param array - The array to search through
|
|
177
|
+
* @param predicate - Function that returns a mapped value or `false` to skip
|
|
178
|
+
* the item
|
|
179
|
+
* @returns The first mapped value that is not `false`, or `undefined` if no
|
|
180
|
+
* item matches
|
|
181
|
+
*/
|
|
182
|
+
function findAndMap(array, predicate) {
|
|
183
|
+
for (const item of array) {
|
|
184
|
+
const value = predicate(item);
|
|
185
|
+
if (value !== false) return value;
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* Enhance an array with extra methods
|
|
190
|
+
*
|
|
191
|
+
* @example
|
|
192
|
+
* const enhancedItems = arrayOps(array);
|
|
193
|
+
*
|
|
194
|
+
* enhancedItems.filterAndMap((item) => (item === 2 ? false : item));
|
|
195
|
+
* enhancedItems.sortBy((item) => item);
|
|
196
|
+
* enhancedItems.rejectDuplicates((item) => item);
|
|
197
|
+
*
|
|
198
|
+
* @param array
|
|
199
|
+
*/
|
|
200
|
+
function arrayOps(array) {
|
|
201
|
+
return {
|
|
202
|
+
filterAndMap: (mapFilter) => filterAndMap(array, mapFilter),
|
|
203
|
+
sortBy: (sortByValue, props) => sortBy(array, sortByValue, props),
|
|
204
|
+
rejectDuplicates: (getKey) => rejectDuplicates(array, getKey),
|
|
205
|
+
findAndMap: (predicate) => findAndMap(array, predicate)
|
|
206
|
+
};
|
|
207
|
+
}
|
|
208
|
+
/**
|
|
209
|
+
* Inserts a separator value between each element in an array.
|
|
210
|
+
*
|
|
211
|
+
* @example
|
|
212
|
+
* intersperse([1, 2, 3], 0); // [1, 0, 2, 0, 3]
|
|
213
|
+
*
|
|
214
|
+
* @param array - The array to intersperse
|
|
215
|
+
* @param separator - The value to insert between elements
|
|
216
|
+
* @returns A new array with separator values inserted between elements
|
|
217
|
+
*/
|
|
218
|
+
function intersperse(array, separator) {
|
|
219
|
+
const result = [];
|
|
220
|
+
for (let i = 0; i < array.length; i++) {
|
|
221
|
+
result.push(array[i]);
|
|
222
|
+
if (i < array.length - 1) result.push(separator);
|
|
223
|
+
}
|
|
224
|
+
return result;
|
|
225
|
+
}
|
|
226
|
+
/**
|
|
227
|
+
* Creates an array by repeating a value a specified number of times, optionally
|
|
228
|
+
* with a separator between each repetition.
|
|
229
|
+
*
|
|
230
|
+
* @example
|
|
231
|
+
* repeat('x', 3); // ['x', 'x', 'x']
|
|
232
|
+
* repeat('x', 3, '-'); // ['x', '-', 'x', '-', 'x']
|
|
233
|
+
*
|
|
234
|
+
* @param value - The value to repeat
|
|
235
|
+
* @param count - Number of times to repeat the value
|
|
236
|
+
* @param separator - Optional separator to insert between repetitions
|
|
237
|
+
* @returns A new array with the repeated values
|
|
238
|
+
*/
|
|
239
|
+
function repeat(value, count, separator) {
|
|
240
|
+
const result = [];
|
|
241
|
+
for (let i = 0; i < count; i++) {
|
|
242
|
+
result.push(value);
|
|
243
|
+
if (separator !== void 0 && i < count - 1) result.push(separator);
|
|
244
|
+
}
|
|
245
|
+
return result;
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
//#endregion
|
|
249
|
+
export { arrayOps, arrayWithPrev, arrayWithPrevAndIndex, filterAndMap, findAfterIndex, findAndMap, findBeforeIndex, getAscIndexOrder, hasDuplicates, intersperse, isInArray, isInArrayWithoutNarrowing, looseIsInArray, rejectArrayUndefinedValues, rejectDuplicates, repeat, sortBy, truncateArray };
|
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
import { a as isPlainObject$1, i as isObject$1, n as isFunction$1, o as isPromise$1 } from "./typeGuards-B1mzA-Rz.mjs";
|
|
2
|
+
|
|
3
|
+
//#region src/assertions.ts
|
|
4
|
+
const undefErrMsg = "not undefined assertion failed";
|
|
5
|
+
const nullishErrMsg = "not nullish assertion failed";
|
|
6
|
+
/**
|
|
7
|
+
* Ensures a value is not undefined and returns it with the correct type.
|
|
8
|
+
*
|
|
9
|
+
* Throws an error if the value is undefined. Use it instead of `!` operator for
|
|
10
|
+
* better type safety.
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```typescript
|
|
14
|
+
* const maybeString: string | undefined = getValue();
|
|
15
|
+
* const definiteString = notUndefined(maybeString); // Type: string
|
|
16
|
+
*
|
|
17
|
+
* // With custom error message
|
|
18
|
+
* const value = notUndefined(maybeValue, 'Value must be defined');
|
|
19
|
+
*
|
|
20
|
+
* // With custom error function
|
|
21
|
+
* const value = notUndefined(maybeValue, () => new ValidationError('Required field'));
|
|
22
|
+
* ```;
|
|
23
|
+
*
|
|
24
|
+
* @template T - The type of the input value
|
|
25
|
+
* @param value - The value to check for undefined
|
|
26
|
+
* @param error - Error message string or function that returns an Error to
|
|
27
|
+
* throw if value is undefined
|
|
28
|
+
* @returns The input value with undefined excluded from its type
|
|
29
|
+
* @throws {Error} When the value is undefined
|
|
30
|
+
*/
|
|
31
|
+
function notUndefined(value, error = undefErrMsg) {
|
|
32
|
+
if (value === void 0) throw typeof error === "function" ? error() : new Error(error);
|
|
33
|
+
return value;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Ensures a value is not null or undefined and returns it with the correct
|
|
37
|
+
* type.
|
|
38
|
+
*
|
|
39
|
+
* Throws an error if the value is null or undefined. Use it instead of `!`
|
|
40
|
+
* operator for better type safety.
|
|
41
|
+
*
|
|
42
|
+
* @example
|
|
43
|
+
* ```typescript
|
|
44
|
+
* const maybeString: string | null | undefined = getValue();
|
|
45
|
+
* const definiteString = notNullish(maybeString); // Type: string
|
|
46
|
+
*
|
|
47
|
+
* // With custom error message
|
|
48
|
+
* const value = notNullish(maybeValue, 'Value cannot be null or undefined');
|
|
49
|
+
*
|
|
50
|
+
* // With custom error function
|
|
51
|
+
* const value = notNullish(maybeValue, () => new ValidationError('Required field'));
|
|
52
|
+
* ```;
|
|
53
|
+
*
|
|
54
|
+
* @template T - The type of the input value
|
|
55
|
+
* @param value - The value to check for null or undefined
|
|
56
|
+
* @param error - Error message string or function that returns an Error to
|
|
57
|
+
* throw if value is nullish
|
|
58
|
+
* @returns The input value with null and undefined excluded from its type
|
|
59
|
+
* @throws {Error} When the value is null or undefined
|
|
60
|
+
*/
|
|
61
|
+
function notNullish(value, error = nullishErrMsg) {
|
|
62
|
+
if (value === void 0 || value === null) throw typeof error === "function" ? error() : new Error(error);
|
|
63
|
+
return value;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Asserts that a value is not null or undefined using TypeScript's assertion
|
|
67
|
+
* signature.
|
|
68
|
+
*
|
|
69
|
+
* Throws an error if the value is null or undefined. Use it instead of `!`
|
|
70
|
+
* operator for better type safety.
|
|
71
|
+
*
|
|
72
|
+
* @example
|
|
73
|
+
* ```typescript
|
|
74
|
+
* function processValue(input: string | null | undefined) {
|
|
75
|
+
* assertIsNotNullish(input);
|
|
76
|
+
* // TypeScript now knows input is string
|
|
77
|
+
* console.log(input.toUpperCase());
|
|
78
|
+
* }
|
|
79
|
+
*
|
|
80
|
+
* // With custom error
|
|
81
|
+
* assertIsNotNullish(value, 'Value is required for processing');
|
|
82
|
+
* ```;
|
|
83
|
+
*
|
|
84
|
+
* @template T - The type of the input value
|
|
85
|
+
* @param value - The value to assert is not null or undefined
|
|
86
|
+
* @param error - Error message string or function that returns an Error to
|
|
87
|
+
* throw if value is nullish
|
|
88
|
+
* @throws {Error} When the value is null or undefined
|
|
89
|
+
*/
|
|
90
|
+
function assertIsNotNullish(value, error = nullishErrMsg) {
|
|
91
|
+
if (value === void 0 || value === null) throw typeof error === "function" ? error() : new Error(error);
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Asserts that a value is not undefined using TypeScript's assertion signature.
|
|
95
|
+
*
|
|
96
|
+
* Throws an error if the value is undefined. Use it instead of `!` operator for
|
|
97
|
+
* better type safety.
|
|
98
|
+
*
|
|
99
|
+
* @example
|
|
100
|
+
* ```typescript
|
|
101
|
+
* function processValue(input: string | undefined) {
|
|
102
|
+
* assertIsNotUndefined(input);
|
|
103
|
+
* // TypeScript now knows input is string
|
|
104
|
+
* console.log(input.toUpperCase());
|
|
105
|
+
* }
|
|
106
|
+
*
|
|
107
|
+
* // With custom error
|
|
108
|
+
* assertIsNotUndefined(value, 'Value must be defined');
|
|
109
|
+
* ```;
|
|
110
|
+
*
|
|
111
|
+
* @template T - The type of the input value
|
|
112
|
+
* @param value - The value to assert is not undefined
|
|
113
|
+
* @param error - Error message string or function that returns an Error to
|
|
114
|
+
* throw if value is undefined
|
|
115
|
+
* @throws {Error} When the value is undefined
|
|
116
|
+
*/
|
|
117
|
+
function assertIsNotUndefined(value, error = undefErrMsg) {
|
|
118
|
+
if (value === void 0) throw typeof error === "function" ? error() : new Error(error);
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Asserts that a condition is always true, throwing an error if it's falsy.
|
|
122
|
+
*
|
|
123
|
+
* This function is useful for enforcing invariants in your code - conditions
|
|
124
|
+
* that should always be true. It uses TypeScript's assertion signature to
|
|
125
|
+
* narrow types based on the condition.
|
|
126
|
+
*
|
|
127
|
+
* @example
|
|
128
|
+
* ```typescript
|
|
129
|
+
* function divide(a: number, b: number) {
|
|
130
|
+
* invariant(b !== 0, 'Division by zero is not allowed');
|
|
131
|
+
* return a / b;
|
|
132
|
+
* }
|
|
133
|
+
*
|
|
134
|
+
* // Type narrowing example
|
|
135
|
+
* function processUser(user: User | null) {
|
|
136
|
+
* invariant(user, 'User must be logged in');
|
|
137
|
+
* // TypeScript now knows user is User, not null
|
|
138
|
+
* console.log(user.name);
|
|
139
|
+
* }
|
|
140
|
+
*
|
|
141
|
+
* // With custom error function
|
|
142
|
+
* invariant(isValid, () => new ValidationError('Invalid state detected'));
|
|
143
|
+
* ```;
|
|
144
|
+
*
|
|
145
|
+
* @param condition - The condition to check (any truthy/falsy value)
|
|
146
|
+
* @param error - Error message string or function that returns an Error to
|
|
147
|
+
* throw if condition is falsy
|
|
148
|
+
* @throws {Error} When the condition is falsy
|
|
149
|
+
*/
|
|
150
|
+
function invariant(condition, error = "Invariant violation") {
|
|
151
|
+
if (!condition) throw typeof error === "function" ? error() : /* @__PURE__ */ new Error(`Invariant violation: ${error}`);
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Ensures exhaustive type checking in switch statements or conditional logic.
|
|
155
|
+
*
|
|
156
|
+
* This function should be used in the default case of switch statements or the
|
|
157
|
+
* final else branch of conditional logic to ensure all possible cases are
|
|
158
|
+
* handled. It helps catch missing cases at compile time when new union members
|
|
159
|
+
* are added.
|
|
160
|
+
*
|
|
161
|
+
* @example
|
|
162
|
+
* ```typescript
|
|
163
|
+
* type Status = 'pending' | 'success' | 'error';
|
|
164
|
+
*
|
|
165
|
+
* function handleStatus(status: Status) {
|
|
166
|
+
* switch (status) {
|
|
167
|
+
* case 'pending':
|
|
168
|
+
* return 'Loading...';
|
|
169
|
+
* case 'success':
|
|
170
|
+
* return 'Done!';
|
|
171
|
+
* case 'error':
|
|
172
|
+
* return 'Failed!';
|
|
173
|
+
* default:
|
|
174
|
+
* throw exhaustiveCheck(status); // TypeScript error if Status gains new members
|
|
175
|
+
* }
|
|
176
|
+
* }
|
|
177
|
+
*
|
|
178
|
+
* // In conditional logic
|
|
179
|
+
* function processValue(value: string | number) {
|
|
180
|
+
* if (typeof value === 'string') {
|
|
181
|
+
* return value.toUpperCase();
|
|
182
|
+
* } else if (typeof value === 'number') {
|
|
183
|
+
* return value.toString();
|
|
184
|
+
* } else {
|
|
185
|
+
* throw exhaustiveCheck(value); // Ensures all cases are covered
|
|
186
|
+
* }
|
|
187
|
+
* }
|
|
188
|
+
* ```;
|
|
189
|
+
*
|
|
190
|
+
* @template Except - The type that should never be reached
|
|
191
|
+
* @param narrowedType - The value that should never exist at runtime
|
|
192
|
+
* @returns An Error object (this function should never actually execute)
|
|
193
|
+
*/
|
|
194
|
+
function exhaustiveCheck(narrowedType) {
|
|
195
|
+
return /* @__PURE__ */ new Error("This should never happen");
|
|
196
|
+
}
|
|
197
|
+
/** @deprecated Use import from `@ls-stack/typeGuards` instead */
|
|
198
|
+
const isFunction = isFunction$1;
|
|
199
|
+
/** @deprecated Use import from `@ls-stack/typeGuards` instead */
|
|
200
|
+
const isObject = isObject$1;
|
|
201
|
+
/** @deprecated Use import from `@ls-stack/typeGuards` instead */
|
|
202
|
+
const isPlainObject = isPlainObject$1;
|
|
203
|
+
/** @deprecated Use import from `@ls-stack/typeGuards` instead */
|
|
204
|
+
const isPromise = isPromise$1;
|
|
205
|
+
|
|
206
|
+
//#endregion
|
|
207
|
+
export { isFunction as a, isPromise as c, invariant as i, notNullish as l, assertIsNotUndefined as n, isObject as o, exhaustiveCheck as r, isPlainObject as s, assertIsNotNullish as t, notUndefined as u };
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { isFunction as isFunction$1, isObject as isObject$1, isPlainObject as isPlainObject$1, isPromise as isPromise$1 } from
|
|
1
|
+
import { isFunction as isFunction$1, isObject as isObject$1, isPlainObject as isPlainObject$1, isPromise as isPromise$1 } from "./typeGuards.mjs";
|
|
2
2
|
|
|
3
|
+
//#region src/assertions.d.ts
|
|
3
4
|
type NotUndefined<T> = T extends undefined ? never : T;
|
|
4
5
|
type StrictNonUndefined<T, N = unknown> = undefined extends T ? NotUndefined<T> : N;
|
|
5
6
|
/**
|
|
@@ -188,5 +189,5 @@ declare const isObject: typeof isObject$1;
|
|
|
188
189
|
declare const isPlainObject: typeof isPlainObject$1;
|
|
189
190
|
/** @deprecated Use import from `@ls-stack/typeGuards` instead */
|
|
190
191
|
declare const isPromise: typeof isPromise$1;
|
|
191
|
-
|
|
192
|
-
export { assertIsNotNullish, assertIsNotUndefined, exhaustiveCheck, invariant, isFunction, isObject, isPlainObject, isPromise, notNullish, notUndefined };
|
|
192
|
+
//#endregion
|
|
193
|
+
export { assertIsNotNullish, assertIsNotUndefined, exhaustiveCheck, invariant, isFunction, isObject, isPlainObject, isPromise, notNullish, notUndefined };
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { a as isFunction, c as isPromise, i as invariant, l as notNullish, n as assertIsNotUndefined, o as isObject, r as exhaustiveCheck, s as isPlainObject, t as assertIsNotNullish, u as notUndefined } from "./assertions-qMxfVhSu.mjs";
|
|
2
|
+
|
|
3
|
+
export { assertIsNotNullish, assertIsNotUndefined, exhaustiveCheck, invariant, isFunction, isObject, isPlainObject, isPromise, notNullish, notUndefined };
|