@pawells/typescript-common 1.1.0 → 1.1.1
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/build/array/array-chunk.d.ts +10 -4
- package/build/array/array-chunk.d.ts.map +1 -1
- package/build/array/array-chunk.js +10 -4
- package/build/array/array-chunk.js.map +1 -1
- package/build/array/array-contains.d.ts +11 -3
- package/build/array/array-contains.d.ts.map +1 -1
- package/build/array/array-contains.js +11 -3
- package/build/array/array-contains.js.map +1 -1
- package/build/array/array-group-by.d.ts +14 -5
- package/build/array/array-group-by.d.ts.map +1 -1
- package/build/array/array-group-by.js +14 -5
- package/build/array/array-group-by.js.map +1 -1
- package/build/array/array-shuffle.d.ts +12 -3
- package/build/array/array-shuffle.d.ts.map +1 -1
- package/build/array/array-shuffle.js +12 -3
- package/build/array/array-shuffle.js.map +1 -1
- package/build/array/unique.d.ts +13 -3
- package/build/array/unique.d.ts.map +1 -1
- package/build/array/unique.js +13 -3
- package/build/array/unique.js.map +1 -1
- package/build/asserts/errors.d.ts +91 -7
- package/build/asserts/errors.d.ts.map +1 -1
- package/build/asserts/errors.js +91 -7
- package/build/asserts/errors.js.map +1 -1
- package/build/asserts/generic.d.ts +8 -4
- package/build/asserts/generic.d.ts.map +1 -1
- package/build/asserts/generic.js +8 -4
- package/build/asserts/generic.js.map +1 -1
- package/build/enum/enum-entries.d.ts +8 -3
- package/build/enum/enum-entries.d.ts.map +1 -1
- package/build/enum/enum-entries.js +8 -3
- package/build/enum/enum-entries.js.map +1 -1
- package/build/enum/enum-key-by-value.d.ts +10 -5
- package/build/enum/enum-key-by-value.d.ts.map +1 -1
- package/build/enum/enum-key-by-value.js +10 -5
- package/build/enum/enum-key-by-value.js.map +1 -1
- package/build/enum/enum-keys.d.ts +12 -3
- package/build/enum/enum-keys.d.ts.map +1 -1
- package/build/enum/enum-keys.js +12 -3
- package/build/enum/enum-keys.js.map +1 -1
- package/build/enum/enum-safe-value.d.ts +11 -6
- package/build/enum/enum-safe-value.d.ts.map +1 -1
- package/build/enum/enum-safe-value.js +11 -6
- package/build/enum/enum-safe-value.js.map +1 -1
- package/build/enum/validate-enum-value.d.ts +10 -5
- package/build/enum/validate-enum-value.d.ts.map +1 -1
- package/build/enum/validate-enum-value.js +10 -5
- package/build/enum/validate-enum-value.js.map +1 -1
- package/build/index.d.ts +1 -0
- package/build/index.d.ts.map +1 -1
- package/build/number/assert.d.ts +14 -14
- package/build/number/assert.d.ts.map +1 -1
- package/build/object/clone.d.ts +17 -6
- package/build/object/clone.d.ts.map +1 -1
- package/build/object/clone.js +17 -6
- package/build/object/clone.js.map +1 -1
- package/build/object/filter-cached.d.ts +15 -3
- package/build/object/filter-cached.d.ts.map +1 -1
- package/build/object/filter-cached.js +15 -3
- package/build/object/filter-cached.js.map +1 -1
- package/build/object/has-circular-reference.d.ts +12 -3
- package/build/object/has-circular-reference.d.ts.map +1 -1
- package/build/object/has-circular-reference.js +12 -3
- package/build/object/has-circular-reference.js.map +1 -1
- package/build/object/key-value-pairs.d.ts +11 -3
- package/build/object/key-value-pairs.d.ts.map +1 -1
- package/build/object/key-value-pairs.js +11 -3
- package/build/object/key-value-pairs.js.map +1 -1
- package/build/object/map-cached.d.ts +14 -3
- package/build/object/map-cached.d.ts.map +1 -1
- package/build/object/map-cached.js +14 -3
- package/build/object/map-cached.js.map +1 -1
- package/build/object/merge.d.ts +18 -7
- package/build/object/merge.d.ts.map +1 -1
- package/build/object/merge.js +18 -7
- package/build/object/merge.js.map +1 -1
- package/build/object/omit.d.ts +13 -4
- package/build/object/omit.d.ts.map +1 -1
- package/build/object/omit.js +13 -4
- package/build/object/omit.js.map +1 -1
- package/build/string/formatting.d.ts +10 -3
- package/build/string/formatting.d.ts.map +1 -1
- package/build/string/formatting.js +10 -3
- package/build/string/formatting.js.map +1 -1
- package/package.json +1 -1
- package/build/asserts/object.d.ts +0 -138
- package/build/asserts/object.d.ts.map +0 -1
- package/build/asserts/object.js +0 -204
- package/build/asserts/object.js.map +0 -1
- package/build/asserts/string.d.ts +0 -100
- package/build/asserts/string.d.ts.map +0 -1
- package/build/asserts/string.js +0 -185
- package/build/asserts/string.js.map +0 -1
package/build/asserts/generic.js
CHANGED
|
@@ -3,10 +3,12 @@ import { SetExceptionClass, SetExceptionMessage, ThrowException } from './utils.
|
|
|
3
3
|
/** Maximum number of characters to include from a value in an error message. */
|
|
4
4
|
const MAX_VALUE_DISPLAY_LENGTH = 50;
|
|
5
5
|
/**
|
|
6
|
-
* Error thrown when a value is
|
|
6
|
+
* Error thrown when a nullish assertion fails — the value is not null or undefined
|
|
7
|
+
* but was expected to be. Used by {@link AssertNull} when the provided value is a
|
|
8
|
+
* live (non-null) reference.
|
|
7
9
|
*
|
|
8
10
|
* @example
|
|
9
|
-
* throw new
|
|
11
|
+
* throw new NullError('Expected value to be null or undefined');
|
|
10
12
|
*/
|
|
11
13
|
export class NullError extends Error {
|
|
12
14
|
constructor(message) {
|
|
@@ -16,10 +18,12 @@ export class NullError extends Error {
|
|
|
16
18
|
}
|
|
17
19
|
}
|
|
18
20
|
/**
|
|
19
|
-
* Error thrown when a value is
|
|
21
|
+
* Error thrown when a non-null assertion fails — the value is null or undefined
|
|
22
|
+
* but was expected to be non-nullish. Used by {@link AssertNotNull} when the
|
|
23
|
+
* provided value is absent.
|
|
20
24
|
*
|
|
21
25
|
* @example
|
|
22
|
-
* throw new NotNullError('
|
|
26
|
+
* throw new NotNullError('Expected a non-null value but received null');
|
|
23
27
|
*/
|
|
24
28
|
export class NotNullError extends Error {
|
|
25
29
|
constructor(message) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generic.js","sourceRoot":"","sources":["../../src/asserts/generic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEpF,gFAAgF;AAChF,MAAM,wBAAwB,GAAG,EAAE,CAAC;AAQpC
|
|
1
|
+
{"version":3,"file":"generic.js","sourceRoot":"","sources":["../../src/asserts/generic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEpF,gFAAgF;AAChF,MAAM,wBAAwB,GAAG,EAAE,CAAC;AAQpC;;;;;;;GAOG;AACH,MAAM,OAAO,SAAU,SAAQ,KAAK;IACnC,YAAY,OAAgB;QAC3B,KAAK,CAAC,OAAO,IAAI,iCAAiC,CAAC,CAAC;QACpD,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC;QACxB,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAClD,CAAC;CACD;AAED;;;;;;;GAOG;AACH,MAAM,OAAO,YAAa,SAAQ,KAAK;IACtC,YAAY,OAAgB;QAC3B,KAAK,CAAC,OAAO,IAAI,6BAA6B,CAAC,CAAC;QAChD,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;QAC3B,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;IACrD,CAAC;CACD;AAED;;;;;GAKG;AACH,MAAM,OAAO,cAAe,SAAQ,KAAK;IACxC,YAAY,OAAgB;QAC3B,KAAK,CAAC,OAAO,IAAI,gDAAgD,CAAC,CAAC;QACnE,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;QAC7B,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC;IACvD,CAAC;CACD;AAED;;;;;GAKG;AACH,MAAM,OAAO,cAAe,SAAQ,KAAK;IACxC,YAAY,OAAgB;QAC3B,KAAK,CAAC,OAAO,IAAI,6BAA6B,CAAC,CAAC;QAChD,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;QAC7B,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC;IACvD,CAAC;CACD;AAED;;;;;GAKG;AACH,MAAM,OAAO,eAAgB,SAAQ,KAAK;IACzC,YAAY,OAAgB;QAC3B,KAAK,CAAC,OAAO,IAAI,6BAA6B,CAAC,CAAC;QAChD,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;QAC9B,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC;IACxD,CAAC;CACD;AAED;;;;;GAKG;AACH,MAAM,OAAO,aAAc,SAAQ,KAAK;IACvC,YAAY,OAAgB;QAC3B,KAAK,CAAC,OAAO,IAAI,2BAA2B,CAAC,CAAC;QAC9C,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;QAC5B,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;IACtD,CAAC;CACD;AAED;;;;;GAKG;AACH,MAAM,OAAO,WAAY,SAAQ,KAAK;IACrC,YAAY,OAAgB;QAC3B,KAAK,CAAC,OAAO,IAAI,yBAAyB,CAAC,CAAC;QAC5C,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;QAC1B,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;IACpD,CAAC;CACD;AAED;;;;;GAKG;AACH,MAAM,OAAO,YAAa,SAAQ,KAAK;IACtC,YAAY,OAAgB;QAC3B,KAAK,CAAC,OAAO,IAAI,0BAA0B,CAAC,CAAC;QAC7C,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;QAC3B,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;IACrD,CAAC;CACD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuDG;AACH,MAAM,UAAU,YAAY,CAAI,KAAQ,EAAE,QAAW,EAAE,YAA8B,EAAE;IACtF,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC;QACpC,mBAAmB,CAAC,SAAS,EAAE,YAAY,KAAK,aAAa,QAAQ,EAAE,CAAC,CAAC;QACzE,cAAc,CAAC,SAAS,CAAC,CAAC;IAC3B,CAAC;AACF,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgEG;AACH,MAAM,UAAU,eAAe,CAAI,KAAQ,EAAE,QAAW,EAAE,YAA8B,EAAE;IACzF,IAAI,YAAY,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC;QACnC,mBAAmB,CAAC,SAAS,EAAE,YAAY,KAAK,iBAAiB,QAAQ,EAAE,CAAC,CAAC;QAC7E,cAAc,CAAC,SAAS,CAAC,CAAC;IAC3B,CAAC;AACF,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,UAAU,UAAU,CAAI,KAAQ,EAAE,YAA8B,EAAE;IACvE,iBAAiB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IACxC,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QAC3C,mBAAmB,CAAC,SAAS,EAAE,2CAA2C,OAAO,KAAK,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACpH,cAAc,CAAC,SAAS,CAAC,CAAC;IAC3B,CAAC;AACF,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAM,UAAU,aAAa,CAAI,KAAQ,EAAE,YAA8B,EAAE;IAC1E,iBAAiB,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IAC3C,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QAC3C,MAAM,WAAW,GAAG,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC;QAC1D,mBAAmB,CAAC,SAAS,EAAE,sDAAsD,WAAW,EAAE,CAAC,CAAC;QACpG,cAAc,CAAC,SAAS,CAAC,CAAC;IAC3B,CAAC;AACF,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,MAAM,UAAU,eAAe,CAAI,KAAQ,EAAE,SAAkC,EAAE,YAA8B,EAAE;IAChH,iBAAiB,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;IAC7C,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;QACvB,mBAAmB,CAAC,SAAS,EAAE,gDAAgD,CAAC,CAAC;QACjF,cAAc,CAAC,SAAS,CAAC,CAAC;IAC3B,CAAC;AACF,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,MAAM,UAAU,YAAY,CAAI,KAAc,EAAE,SAAoB,EAAE,YAA8B,EAAE;IACrG,iBAAiB,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;IAC7C,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,UAAU,GAAG,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,KAAK,CAAC;QAE9F,mBAAmB,CAAC,SAAS,EAAE,2DAA2D,UAAU,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,wBAAwB,CAAC,EAAE,CAAC,CAAC;QACrK,cAAc,CAAC,SAAS,CAAC,CAAC;IAC3B,CAAC;AACF,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,UAAU,gBAAgB,CAAI,KAAc,EAAE,WAAoC,EAAE,YAA8B,EAAE;IACzH,iBAAiB,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;IAC9C,IAAI,CAAC,CAAC,KAAK,YAAY,WAAW,CAAC,EAAE,CAAC;QACrC,MAAM,UAAU,GAAG,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,IAAI,OAAO,KAAK,CAAC;QACzH,mBAAmB,CAAC,SAAS,EAAE,wBAAwB,WAAW,CAAC,IAAI,iBAAiB,UAAU,EAAE,CAAC,CAAC;QACtG,cAAc,CAAC,SAAS,CAAC,CAAC;IAC3B,CAAC;AACF,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,cAAc,CAAC,KAAc,EAAE,YAA8B,EAAE;IAC9E,iBAAiB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IAC5C,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;QACjC,MAAM,UAAU,GAAG,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,KAAK,CAAC;QAC9F,mBAAmB,CAAC,SAAS,EAAE,kCAAkC,UAAU,EAAE,CAAC,CAAC;QAC/E,cAAc,CAAC,SAAS,CAAC,CAAC;IAC3B,CAAC;AACF,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,YAAY,CAAC,KAAc,EAAE,YAA8B,EAAE;IAC5E,iBAAiB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IAC1C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC/B,MAAM,UAAU,GAAG,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,KAAK,CAAC;QAC9F,mBAAmB,CAAC,SAAS,EAAE,gCAAgC,UAAU,EAAE,CAAC,CAAC;QAC7E,cAAc,CAAC,SAAS,CAAC,CAAC;IAC3B,CAAC;AACF,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,aAAa,CAAC,OAA6C,EAAE,IAA0C,EAAE,YAA8B,EAAE;IACxJ,iBAAiB,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IAC3C,IAAI,OAAO,OAAO,KAAK,UAAU,IAAI,OAAO,IAAI,KAAK,UAAU,EAAE,CAAC;QACjE,mBAAmB,CAAC,SAAS,EAAE,2CAA2C,CAAC,CAAC;QAC5E,cAAc,CAAC,SAAS,CAAC,CAAC;IAC3B,CAAC;IACD,IAAI,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACrD,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;IACjC,IAAI,KAAK,GAAG,KAAK,CAAC;IAElB,OAAO,KAAK,EAAE,CAAC;QACd,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACzB,KAAK,GAAG,IAAI,CAAC;YACb,MAAM;QACP,CAAC;QACD,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC;IACD,IAAI,CAAC,KAAK,EAAE,CAAC;QACZ,mBAAmB,CAAC,SAAS,EAAE,YAAY,OAAO,CAAC,IAAI,cAAc,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAClF,cAAc,CAAC,SAAS,CAAC,CAAC;IAC3B,CAAC;AACF,CAAC"}
|
|
@@ -1,11 +1,16 @@
|
|
|
1
1
|
import { TEnumType, TEnumValue } from './types.js';
|
|
2
2
|
/**
|
|
3
|
-
* Returns non-numeric key-value pairs from an enum
|
|
4
|
-
*
|
|
5
|
-
* @
|
|
3
|
+
* Returns non-numeric key-value pairs from an enum.
|
|
4
|
+
*
|
|
5
|
+
* @template T - The enum type
|
|
6
|
+
* @param e - The enum object
|
|
7
|
+
* @returns Array of `[key, value]` tuples for non-numeric keys only
|
|
8
|
+
*
|
|
6
9
|
* @example
|
|
10
|
+
* ```typescript
|
|
7
11
|
* enum Direction { Up = 'UP', Down = 'DOWN' }
|
|
8
12
|
* EnumEntries(Direction); // [['Up', 'UP'], ['Down', 'DOWN']]
|
|
13
|
+
* ```
|
|
9
14
|
*/
|
|
10
15
|
export declare function EnumEntries<T extends TEnumType = TEnumType>(e: T): [string, TEnumValue][];
|
|
11
16
|
//# sourceMappingURL=enum-entries.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enum-entries.d.ts","sourceRoot":"","sources":["../../src/enum/enum-entries.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAEnD
|
|
1
|
+
{"version":3,"file":"enum-entries.d.ts","sourceRoot":"","sources":["../../src/enum/enum-entries.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAEnD;;;;;;;;;;;;GAYG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,CAIzF"}
|
|
@@ -1,10 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Returns non-numeric key-value pairs from an enum
|
|
3
|
-
*
|
|
4
|
-
* @
|
|
2
|
+
* Returns non-numeric key-value pairs from an enum.
|
|
3
|
+
*
|
|
4
|
+
* @template T - The enum type
|
|
5
|
+
* @param e - The enum object
|
|
6
|
+
* @returns Array of `[key, value]` tuples for non-numeric keys only
|
|
7
|
+
*
|
|
5
8
|
* @example
|
|
9
|
+
* ```typescript
|
|
6
10
|
* enum Direction { Up = 'UP', Down = 'DOWN' }
|
|
7
11
|
* EnumEntries(Direction); // [['Up', 'UP'], ['Down', 'DOWN']]
|
|
12
|
+
* ```
|
|
8
13
|
*/
|
|
9
14
|
export function EnumEntries(e) {
|
|
10
15
|
if (!e)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enum-entries.js","sourceRoot":"","sources":["../../src/enum/enum-entries.ts"],"names":[],"mappings":"AAEA
|
|
1
|
+
{"version":3,"file":"enum-entries.js","sourceRoot":"","sources":["../../src/enum/enum-entries.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,WAAW,CAAkC,CAAI;IAChE,IAAI,CAAC,CAAC;QAAE,OAAO,EAAE,CAAC;IAElB,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACvE,CAAC"}
|
|
@@ -1,13 +1,18 @@
|
|
|
1
1
|
import { TEnumType, TEnumValue } from './types.js';
|
|
2
2
|
/**
|
|
3
|
-
* Gets the enum key for a given value
|
|
4
|
-
*
|
|
5
|
-
* @
|
|
6
|
-
* @
|
|
3
|
+
* Gets the enum key for a given value.
|
|
4
|
+
*
|
|
5
|
+
* @template T - The enum type
|
|
6
|
+
* @param e - The enum object
|
|
7
|
+
* @param value - The enum value to look up
|
|
8
|
+
* @returns The key corresponding to the value, or `undefined` if not found
|
|
9
|
+
*
|
|
7
10
|
* @example
|
|
11
|
+
* ```typescript
|
|
8
12
|
* enum Direction { Up = 'UP', Down = 'DOWN' }
|
|
9
|
-
* EnumKeyByValue(Direction, 'UP');
|
|
13
|
+
* EnumKeyByValue(Direction, 'UP'); // 'Up'
|
|
10
14
|
* EnumKeyByValue(Direction, 'INVALID'); // undefined
|
|
15
|
+
* ```
|
|
11
16
|
*/
|
|
12
17
|
export declare function EnumKeyByValue<T extends TEnumType = TEnumType>(e: T, value: TEnumValue): string | undefined;
|
|
13
18
|
//# sourceMappingURL=enum-key-by-value.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enum-key-by-value.d.ts","sourceRoot":"","sources":["../../src/enum/enum-key-by-value.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAGnD
|
|
1
|
+
{"version":3,"file":"enum-key-by-value.d.ts","sourceRoot":"","sources":["../../src/enum/enum-key-by-value.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAGnD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,GAAG,MAAM,GAAG,SAAS,CAQ3G"}
|
|
@@ -1,13 +1,18 @@
|
|
|
1
1
|
import { EnumEntries } from './enum-entries.js';
|
|
2
2
|
/**
|
|
3
|
-
* Gets the enum key for a given value
|
|
4
|
-
*
|
|
5
|
-
* @
|
|
6
|
-
* @
|
|
3
|
+
* Gets the enum key for a given value.
|
|
4
|
+
*
|
|
5
|
+
* @template T - The enum type
|
|
6
|
+
* @param e - The enum object
|
|
7
|
+
* @param value - The enum value to look up
|
|
8
|
+
* @returns The key corresponding to the value, or `undefined` if not found
|
|
9
|
+
*
|
|
7
10
|
* @example
|
|
11
|
+
* ```typescript
|
|
8
12
|
* enum Direction { Up = 'UP', Down = 'DOWN' }
|
|
9
|
-
* EnumKeyByValue(Direction, 'UP');
|
|
13
|
+
* EnumKeyByValue(Direction, 'UP'); // 'Up'
|
|
10
14
|
* EnumKeyByValue(Direction, 'INVALID'); // undefined
|
|
15
|
+
* ```
|
|
11
16
|
*/
|
|
12
17
|
export function EnumKeyByValue(e, value) {
|
|
13
18
|
if (value === null || typeof value === 'undefined' || !e)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enum-key-by-value.js","sourceRoot":"","sources":["../../src/enum/enum-key-by-value.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD
|
|
1
|
+
{"version":3,"file":"enum-key-by-value.js","sourceRoot":"","sources":["../../src/enum/enum-key-by-value.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,cAAc,CAAkC,CAAI,EAAE,KAAiB;IACtF,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,WAAW,IAAI,CAAC,CAAC;QAAE,OAAO,SAAS,CAAC;IAE3E,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;IAC/B,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,CAAC,CAAC;IACvD,IAAI,KAAK;QAAE,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;IAE3B,OAAO,SAAS,CAAC;AAClB,CAAC"}
|
|
@@ -1,10 +1,19 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Returns non-numeric keys from an enum object
|
|
3
|
-
*
|
|
4
|
-
* @
|
|
2
|
+
* Returns non-numeric keys from an enum object.
|
|
3
|
+
*
|
|
4
|
+
* @template O - The enum object type
|
|
5
|
+
* @template K - The key type (defaults to `keyof O`)
|
|
6
|
+
* @param obj - The enum object
|
|
7
|
+
* @returns Array of enum keys (reverse-mapping numeric keys are excluded)
|
|
8
|
+
*
|
|
5
9
|
* @example
|
|
10
|
+
* ```typescript
|
|
6
11
|
* enum Direction { Up = 'UP', Down = 'DOWN' }
|
|
7
12
|
* EnumKeys(Direction); // ['Up', 'Down']
|
|
13
|
+
*
|
|
14
|
+
* enum Status { Active = 0, Inactive = 1 }
|
|
15
|
+
* EnumKeys(Status); // ['Active', 'Inactive']
|
|
16
|
+
* ```
|
|
8
17
|
*/
|
|
9
18
|
export declare function EnumKeys<O extends object, K extends keyof O = keyof O>(obj: O): K[];
|
|
10
19
|
//# sourceMappingURL=enum-keys.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enum-keys.d.ts","sourceRoot":"","sources":["../../src/enum/enum-keys.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"enum-keys.d.ts","sourceRoot":"","sources":["../../src/enum/enum-keys.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,QAAQ,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,CAAC,GAAG,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,CAInF"}
|
package/build/enum/enum-keys.js
CHANGED
|
@@ -1,10 +1,19 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Returns non-numeric keys from an enum object
|
|
3
|
-
*
|
|
4
|
-
* @
|
|
2
|
+
* Returns non-numeric keys from an enum object.
|
|
3
|
+
*
|
|
4
|
+
* @template O - The enum object type
|
|
5
|
+
* @template K - The key type (defaults to `keyof O`)
|
|
6
|
+
* @param obj - The enum object
|
|
7
|
+
* @returns Array of enum keys (reverse-mapping numeric keys are excluded)
|
|
8
|
+
*
|
|
5
9
|
* @example
|
|
10
|
+
* ```typescript
|
|
6
11
|
* enum Direction { Up = 'UP', Down = 'DOWN' }
|
|
7
12
|
* EnumKeys(Direction); // ['Up', 'Down']
|
|
13
|
+
*
|
|
14
|
+
* enum Status { Active = 0, Inactive = 1 }
|
|
15
|
+
* EnumKeys(Status); // ['Active', 'Inactive']
|
|
16
|
+
* ```
|
|
8
17
|
*/
|
|
9
18
|
export function EnumKeys(obj) {
|
|
10
19
|
if (!obj)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enum-keys.js","sourceRoot":"","sources":["../../src/enum/enum-keys.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"enum-keys.js","sourceRoot":"","sources":["../../src/enum/enum-keys.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,QAAQ,CAAgD,GAAM;IAC7E,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,CAAC;IAEpB,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAQ,CAAC;AACvE,CAAC"}
|
|
@@ -1,14 +1,19 @@
|
|
|
1
1
|
import { TEnumType, TEnumValue } from './types.js';
|
|
2
2
|
/**
|
|
3
|
-
* Gets an enum value safely
|
|
4
|
-
*
|
|
5
|
-
* @
|
|
6
|
-
* @param
|
|
7
|
-
* @
|
|
3
|
+
* Gets an enum value safely, returning a fallback if the value is not a valid enum member.
|
|
4
|
+
*
|
|
5
|
+
* @template T - The enum type
|
|
6
|
+
* @param e - The enum object
|
|
7
|
+
* @param value - The value to check against the enum
|
|
8
|
+
* @param fallback - The fallback value to return if `value` is not a valid enum member
|
|
9
|
+
* @returns `value` if it is valid in the enum, otherwise `fallback`
|
|
10
|
+
*
|
|
8
11
|
* @example
|
|
12
|
+
* ```typescript
|
|
9
13
|
* enum Direction { Up = 'UP', Down = 'DOWN' }
|
|
10
|
-
* EnumSafeValue(Direction, 'UP', 'DOWN');
|
|
14
|
+
* EnumSafeValue(Direction, 'UP', 'DOWN'); // 'UP'
|
|
11
15
|
* EnumSafeValue(Direction, 'INVALID', 'DOWN'); // 'DOWN'
|
|
16
|
+
* ```
|
|
12
17
|
*/
|
|
13
18
|
export declare function EnumSafeValue<T extends TEnumType = TEnumType>(e: T, value: TEnumValue, fallback: TEnumValue): TEnumValue;
|
|
14
19
|
//# sourceMappingURL=enum-safe-value.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enum-safe-value.d.ts","sourceRoot":"","sources":["../../src/enum/enum-safe-value.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAGnD
|
|
1
|
+
{"version":3,"file":"enum-safe-value.d.ts","sourceRoot":"","sources":["../../src/enum/enum-safe-value.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAGnD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,GAAG,UAAU,CAExH"}
|
|
@@ -1,14 +1,19 @@
|
|
|
1
1
|
import { ValidateEnumValue } from './validate-enum-value.js';
|
|
2
2
|
/**
|
|
3
|
-
* Gets an enum value safely
|
|
4
|
-
*
|
|
5
|
-
* @
|
|
6
|
-
* @param
|
|
7
|
-
* @
|
|
3
|
+
* Gets an enum value safely, returning a fallback if the value is not a valid enum member.
|
|
4
|
+
*
|
|
5
|
+
* @template T - The enum type
|
|
6
|
+
* @param e - The enum object
|
|
7
|
+
* @param value - The value to check against the enum
|
|
8
|
+
* @param fallback - The fallback value to return if `value` is not a valid enum member
|
|
9
|
+
* @returns `value` if it is valid in the enum, otherwise `fallback`
|
|
10
|
+
*
|
|
8
11
|
* @example
|
|
12
|
+
* ```typescript
|
|
9
13
|
* enum Direction { Up = 'UP', Down = 'DOWN' }
|
|
10
|
-
* EnumSafeValue(Direction, 'UP', 'DOWN');
|
|
14
|
+
* EnumSafeValue(Direction, 'UP', 'DOWN'); // 'UP'
|
|
11
15
|
* EnumSafeValue(Direction, 'INVALID', 'DOWN'); // 'DOWN'
|
|
16
|
+
* ```
|
|
12
17
|
*/
|
|
13
18
|
export function EnumSafeValue(e, value, fallback) {
|
|
14
19
|
return ValidateEnumValue(e, value) ? value : fallback;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enum-safe-value.js","sourceRoot":"","sources":["../../src/enum/enum-safe-value.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D
|
|
1
|
+
{"version":3,"file":"enum-safe-value.js","sourceRoot":"","sources":["../../src/enum/enum-safe-value.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,aAAa,CAAkC,CAAI,EAAE,KAAiB,EAAE,QAAoB;IAC3G,OAAO,iBAAiB,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;AACvD,CAAC"}
|
|
@@ -1,13 +1,18 @@
|
|
|
1
1
|
import { TEnumType, TEnumValue } from './types.js';
|
|
2
2
|
/**
|
|
3
|
-
* Checks if a value is a valid
|
|
4
|
-
*
|
|
5
|
-
* @
|
|
6
|
-
* @
|
|
3
|
+
* Checks if a value is a valid member of the given enum.
|
|
4
|
+
*
|
|
5
|
+
* @template T - The enum type
|
|
6
|
+
* @param e - The enum object
|
|
7
|
+
* @param value - The value to check
|
|
8
|
+
* @returns `true` if the value is a valid enum member, `false` otherwise
|
|
9
|
+
*
|
|
7
10
|
* @example
|
|
11
|
+
* ```typescript
|
|
8
12
|
* enum Direction { Up = 'UP', Down = 'DOWN' }
|
|
9
|
-
* ValidateEnumValue(Direction, 'UP');
|
|
13
|
+
* ValidateEnumValue(Direction, 'UP'); // true
|
|
10
14
|
* ValidateEnumValue(Direction, 'INVALID'); // false
|
|
15
|
+
* ```
|
|
11
16
|
*/
|
|
12
17
|
export declare function ValidateEnumValue<T extends TEnumType = TEnumType>(e: T, value: TEnumValue): boolean;
|
|
13
18
|
//# sourceMappingURL=validate-enum-value.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate-enum-value.d.ts","sourceRoot":"","sources":["../../src/enum/validate-enum-value.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAGnD
|
|
1
|
+
{"version":3,"file":"validate-enum-value.d.ts","sourceRoot":"","sources":["../../src/enum/validate-enum-value.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAGnD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,GAAG,OAAO,CAKnG"}
|
|
@@ -1,13 +1,18 @@
|
|
|
1
1
|
import { EnumValues } from './enum-values.js';
|
|
2
2
|
/**
|
|
3
|
-
* Checks if a value is a valid
|
|
4
|
-
*
|
|
5
|
-
* @
|
|
6
|
-
* @
|
|
3
|
+
* Checks if a value is a valid member of the given enum.
|
|
4
|
+
*
|
|
5
|
+
* @template T - The enum type
|
|
6
|
+
* @param e - The enum object
|
|
7
|
+
* @param value - The value to check
|
|
8
|
+
* @returns `true` if the value is a valid enum member, `false` otherwise
|
|
9
|
+
*
|
|
7
10
|
* @example
|
|
11
|
+
* ```typescript
|
|
8
12
|
* enum Direction { Up = 'UP', Down = 'DOWN' }
|
|
9
|
-
* ValidateEnumValue(Direction, 'UP');
|
|
13
|
+
* ValidateEnumValue(Direction, 'UP'); // true
|
|
10
14
|
* ValidateEnumValue(Direction, 'INVALID'); // false
|
|
15
|
+
* ```
|
|
11
16
|
*/
|
|
12
17
|
export function ValidateEnumValue(e, value) {
|
|
13
18
|
if (value === null || typeof value === 'undefined' || !e)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate-enum-value.js","sourceRoot":"","sources":["../../src/enum/validate-enum-value.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C
|
|
1
|
+
{"version":3,"file":"validate-enum-value.js","sourceRoot":"","sources":["../../src/enum/validate-enum-value.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,iBAAiB,CAAkC,CAAI,EAAE,KAAiB;IACzF,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,WAAW,IAAI,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IAEvE,MAAM,cAAc,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;IACrC,OAAQ,cAA+B,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACzD,CAAC"}
|
package/build/index.d.ts
CHANGED
|
@@ -33,4 +33,5 @@ export { ElapsedTime, Stopwatch, } from './time/index.js';
|
|
|
33
33
|
export { EnumKeys, EnumValues, EnumEntries, ValidateEnumValue, EnumKeyByValue, EnumSafeValue, } from './enum/index.js';
|
|
34
34
|
export { Debounce, Throttle, Memoize, Once, Compose, Pipe, Sleep, } from './function/index.js';
|
|
35
35
|
export { AssertArray, AssertArray2D, AssertArrayAll, AssertArrayAny, AssertArrayNotEmpty, AssertBoolean, AssertEquals, AssertExtends, AssertFunction, AssertInstanceOf, AssertIsType, AssertNotEquals, AssertNotNull, AssertNull, AssertNumber, AssertObjectHasOwnProperty, AssertObjectHasProperty, AssertObjectPropertyNotNull, AssertPredicate, AssertString, AssertStringMatches, AssertStringNotEmpty, AssertSymbol, SetExceptionClass, SetExceptionMessage, ThrowException, AssertionError, BaseError, BufferOverflowError, InvalidArgumentError, NotFoundError, NotSupportedError, ValidationError, ArrayError, BooleanError, ExtendsError, FunctionError, InstanceOfError, NotNullError, NullError, NumberError, NumberRangeError, ObjectError, ObjectPropertyError, PredicateError, StringError, SymbolError, TypeGuardError, } from './asserts/index.js';
|
|
36
|
+
export type { IAssertException, TConstraintValue, TComparisonOperator, TValidationResult, TGuard, TValidationPredicate, TArrayTypeGuard, TObjectTypeGuard, TNonNullableGuard, TAssertFunction, TConstructorFunction, IAssertArrayArgs, IAssertArray2DArgs, TSizeConstraint, TDimensionConstraint, IAssertNumberArgs, TNumericComparison, TNumericRangeConstraints, TNumericTypeConstraints, } from './asserts/index.js';
|
|
36
37
|
//# sourceMappingURL=index.d.ts.map
|
package/build/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAGH,OAAO,KAAK,UAAU,MAAM,kBAAkB,CAAC;AAG/C,OAAO,KAAK,WAAW,MAAM,mBAAmB,CAAC;AAGjD,OAAO,KAAK,YAAY,MAAM,oBAAoB,CAAC;AAGnD,OAAO,KAAK,YAAY,MAAM,oBAAoB,CAAC;AAGnD,OAAO,KAAK,WAAW,MAAM,mBAAmB,CAAC;AAGjD,OAAO,KAAK,WAAW,MAAM,mBAAmB,CAAC;AAGjD,OAAO,KAAK,SAAS,MAAM,iBAAiB,CAAC;AAG7C,OAAO,KAAK,SAAS,MAAM,iBAAiB,CAAC;AAG7C,OAAO,KAAK,aAAa,MAAM,qBAAqB,CAAC;AAGrD,OAAO,EAEN,WAAW,EACX,aAAa,EACb,MAAM,EACN,iBAAiB,EACjB,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,QAAQ,EACR,UAAU,EACV,WAAW,EACX,YAAY,EACZ,WAAW,GACX,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAEN,SAAS,EACT,WAAW,EACX,UAAU,EACV,UAAU,EACV,oBAAoB,EACpB,YAAY,EACZ,UAAU,EACV,SAAS,EACT,SAAS,EACT,SAAS,EACT,gBAAgB,GAChB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAEN,YAAY,EACZ,WAAW,EACX,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,UAAU,EACV,WAAW,EACX,SAAS,EACT,UAAU,EACV,cAAc,EACd,uBAAuB,EACvB,qBAAqB,EACrB,uBAAuB,EACvB,uBAAuB,EACvB,YAAY,EACZ,aAAa,EACb,UAAU,GACV,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAEN,WAAW,EACX,SAAS,GACT,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAEN,QAAQ,EACR,UAAU,EACV,WAAW,EACX,iBAAiB,EACjB,cAAc,EACd,aAAa,GACb,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAEN,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,IAAI,EACJ,OAAO,EACP,IAAI,EACJ,KAAK,GACL,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAGN,WAAW,EACX,aAAa,EACb,cAAc,EACd,cAAc,EACd,mBAAmB,EACnB,aAAa,EACb,YAAY,EACZ,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,eAAe,EACf,aAAa,EACb,UAAU,EACV,YAAY,EACZ,0BAA0B,EAC1B,uBAAuB,EACvB,2BAA2B,EAC3B,eAAe,EACf,YAAY,EACZ,mBAAmB,EACnB,oBAAoB,EACpB,YAAY,EACZ,iBAAiB,EACjB,mBAAmB,EACnB,cAAc,EAEd,cAAc,EACd,SAAS,EACT,mBAAmB,EACnB,oBAAoB,EACpB,aAAa,EACb,iBAAiB,EACjB,eAAe,EACf,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,eAAe,EACf,YAAY,EACZ,SAAS,EACT,WAAW,EACX,gBAAgB,EAChB,WAAW,EACX,mBAAmB,EACnB,cAAc,EACd,WAAW,EACX,WAAW,EACX,cAAc,GACd,MAAM,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/build/number/assert.d.ts
CHANGED
|
@@ -51,32 +51,32 @@ export type TNumericRangeConstraints = Pick<IAssertNumberArgs, 'gt' | 'gte' | 'l
|
|
|
51
51
|
*/
|
|
52
52
|
export type TNumericTypeConstraints = Pick<IAssertNumberArgs, 'finite' | 'integer'>;
|
|
53
53
|
/**
|
|
54
|
-
* Configuration interface for numeric
|
|
54
|
+
* Configuration interface for numeric validation constraints.
|
|
55
55
|
*
|
|
56
|
-
*
|
|
57
|
-
*
|
|
58
|
-
*
|
|
59
|
-
* complex validation rules (e.g., value must be > 0 AND <= 100).
|
|
56
|
+
* All properties are optional, allowing for flexible validation rules.
|
|
57
|
+
* Multiple constraints can be combined — all specified conditions must be
|
|
58
|
+
* satisfied simultaneously (AND logic).
|
|
60
59
|
*
|
|
61
|
-
* @interface RangeArgs
|
|
62
60
|
* @example
|
|
63
61
|
* ```typescript
|
|
64
62
|
* // Single constraint examples
|
|
65
|
-
* const minOnly:
|
|
66
|
-
* const maxOnly:
|
|
67
|
-
* const exactValue:
|
|
63
|
+
* const minOnly: IAssertNumberArgs = { gte: 0 }; // >= 0
|
|
64
|
+
* const maxOnly: IAssertNumberArgs = { lt: 100 }; // < 100
|
|
65
|
+
* const exactValue: IAssertNumberArgs = { eq: 42 }; // === 42
|
|
68
66
|
*
|
|
69
67
|
* // Multiple constraint examples
|
|
70
|
-
* const range:
|
|
71
|
-
* const exclusive:
|
|
68
|
+
* const range: IAssertNumberArgs = { gte: 0, lte: 100 }; // 0 <= value <= 100
|
|
69
|
+
* const exclusive: IAssertNumberArgs = { gt: 0, lt: 1 }; // 0 < value < 1
|
|
72
70
|
*
|
|
73
|
-
* // Used with
|
|
74
|
-
*
|
|
75
|
-
*
|
|
71
|
+
* // Used with AssertNumber
|
|
72
|
+
* AssertNumber(50, { gte: 0, lte: 100 }); // ✓ Valid
|
|
73
|
+
* AssertNumber(-1, { gte: 0, lte: 100 }); // ✗ Throws
|
|
76
74
|
* ```
|
|
77
75
|
*/
|
|
78
76
|
export interface IAssertNumberArgs {
|
|
77
|
+
/** When `true`, the value must be finite (not `Infinity` or `-Infinity`) */
|
|
79
78
|
finite?: boolean;
|
|
79
|
+
/** When `true`, the value must be an integer (no fractional component) */
|
|
80
80
|
integer?: boolean;
|
|
81
81
|
/** Value must be greater than this number (exclusive) */
|
|
82
82
|
gt?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assert.d.ts","sourceRoot":"","sources":["../../src/number/assert.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAG5D;;;;;;;;;;;;;GAaG;AACH,qBAAa,WAAY,SAAQ,KAAK;gBACzB,OAAO,CAAC,EAAE,MAAM;CAK5B;AAED;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,gBAAiB,SAAQ,WAAW;gBACpC,OAAO,CAAC,EAAE,MAAM;CAK5B;AAED;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAAG,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,IAAI,CAAC;AAEpE;;;GAGG;AACH,MAAM,MAAM,wBAAwB,GAAG,IAAI,CAAC,iBAAiB,EAAE,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC;AAEnG;;;GAGG;AACH,MAAM,MAAM,uBAAuB,GAAG,IAAI,CAAC,iBAAiB,EAAE,QAAQ,GAAG,SAAS,CAAC,CAAC;AAEpF
|
|
1
|
+
{"version":3,"file":"assert.d.ts","sourceRoot":"","sources":["../../src/number/assert.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAG5D;;;;;;;;;;;;;GAaG;AACH,qBAAa,WAAY,SAAQ,KAAK;gBACzB,OAAO,CAAC,EAAE,MAAM;CAK5B;AAED;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,gBAAiB,SAAQ,WAAW;gBACpC,OAAO,CAAC,EAAE,MAAM;CAK5B;AAED;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAAG,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,IAAI,CAAC;AAEpE;;;GAGG;AACH,MAAM,MAAM,wBAAwB,GAAG,IAAI,CAAC,iBAAiB,EAAE,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC;AAEnG;;;GAGG;AACH,MAAM,MAAM,uBAAuB,GAAG,IAAI,CAAC,iBAAiB,EAAE,QAAQ,GAAG,SAAS,CAAC,CAAC;AAEpF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,WAAW,iBAAiB;IACjC,4EAA4E;IAC5E,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,0EAA0E;IAC1E,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,yDAAyD;IACzD,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,qEAAqE;IACrE,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,sDAAsD;IACtD,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,kEAAkE;IAClE,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,iDAAiD;IACjD,EAAE,CAAC,EAAE,MAAM,CAAC;CACZ;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4DG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,GAAE,iBAAsB,EAAE,SAAS,GAAE,gBAAqB,GAAG,OAAO,CAAC,KAAK,IAAI,MAAM,CAoDpI"}
|
package/build/object/clone.d.ts
CHANGED
|
@@ -1,15 +1,26 @@
|
|
|
1
1
|
import type { TObjectTransformer } from './types.js';
|
|
2
2
|
/**
|
|
3
|
-
* Creates a deep clone of an object with security protections
|
|
3
|
+
* Creates a deep clone of an object with security protections.
|
|
4
4
|
*
|
|
5
5
|
* **Security Features:**
|
|
6
|
-
* - Prevents infinite recursion with circular reference detection
|
|
7
|
-
* - Filters out dangerous properties that could cause prototype pollution
|
|
8
|
-
* - Safely handles complex object structures
|
|
6
|
+
* - Prevents infinite recursion with circular reference detection.
|
|
7
|
+
* - Filters out dangerous properties that could cause prototype pollution.
|
|
8
|
+
* - Safely handles complex object structures.
|
|
9
9
|
*
|
|
10
|
-
* @
|
|
10
|
+
* @template T - The type of the object to clone
|
|
11
|
+
* @param obj - Object to clone
|
|
12
|
+
* @param visitedInput - Internal WeakSet used to detect circular references (do not pass manually)
|
|
11
13
|
* @returns Deep clone of the object
|
|
12
|
-
* @throws {Error}
|
|
14
|
+
* @throws {Error} When `obj` contains circular references.
|
|
15
|
+
* @throws {Error} When `obj` is a function, symbol, `Map`, `Set`, `WeakMap`, or a class instance.
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* ```typescript
|
|
19
|
+
* const original = { a: 1, b: { c: 2 } };
|
|
20
|
+
* const clone = ObjectClone(original);
|
|
21
|
+
* clone.b.c = 99;
|
|
22
|
+
* console.log(original.b.c); // 2 (original is not affected)
|
|
23
|
+
* ```
|
|
13
24
|
*/
|
|
14
25
|
export declare function ObjectClone<T>(obj: T, visitedInput?: WeakSet<object>): T;
|
|
15
26
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clone.d.ts","sourceRoot":"","sources":["../../src/object/clone.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAErD
|
|
1
|
+
{"version":3,"file":"clone.d.ts","sourceRoot":"","sources":["../../src/object/clone.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAErD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,YAAY,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAiDxE;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,eAAe,CAAC,MAAM,SAAS,MAAM,EAAE,OAAO,SAAS,MAAM,EAC5E,GAAG,EAAE,MAAM,EACX,WAAW,EAAE,kBAAkB,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9C,OAAO,CAMT"}
|
package/build/object/clone.js
CHANGED
|
@@ -1,15 +1,26 @@
|
|
|
1
1
|
import { filterDangerousKeys } from './security-utils.js';
|
|
2
2
|
/**
|
|
3
|
-
* Creates a deep clone of an object with security protections
|
|
3
|
+
* Creates a deep clone of an object with security protections.
|
|
4
4
|
*
|
|
5
5
|
* **Security Features:**
|
|
6
|
-
* - Prevents infinite recursion with circular reference detection
|
|
7
|
-
* - Filters out dangerous properties that could cause prototype pollution
|
|
8
|
-
* - Safely handles complex object structures
|
|
6
|
+
* - Prevents infinite recursion with circular reference detection.
|
|
7
|
+
* - Filters out dangerous properties that could cause prototype pollution.
|
|
8
|
+
* - Safely handles complex object structures.
|
|
9
9
|
*
|
|
10
|
-
* @
|
|
10
|
+
* @template T - The type of the object to clone
|
|
11
|
+
* @param obj - Object to clone
|
|
12
|
+
* @param visitedInput - Internal WeakSet used to detect circular references (do not pass manually)
|
|
11
13
|
* @returns Deep clone of the object
|
|
12
|
-
* @throws {Error}
|
|
14
|
+
* @throws {Error} When `obj` contains circular references.
|
|
15
|
+
* @throws {Error} When `obj` is a function, symbol, `Map`, `Set`, `WeakMap`, or a class instance.
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* ```typescript
|
|
19
|
+
* const original = { a: 1, b: { c: 2 } };
|
|
20
|
+
* const clone = ObjectClone(original);
|
|
21
|
+
* clone.b.c = 99;
|
|
22
|
+
* console.log(original.b.c); // 2 (original is not affected)
|
|
23
|
+
* ```
|
|
13
24
|
*/
|
|
14
25
|
export function ObjectClone(obj, visitedInput) {
|
|
15
26
|
if (obj === null || obj === undefined) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clone.js","sourceRoot":"","sources":["../../src/object/clone.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAG1D
|
|
1
|
+
{"version":3,"file":"clone.js","sourceRoot":"","sources":["../../src/object/clone.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAG1D;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,WAAW,CAAI,GAAM,EAAE,YAA8B;IACpE,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACvC,OAAO,GAAG,CAAC;IACZ,CAAC;IAED,uDAAuD;IACvD,MAAM,OAAO,GAAG,YAAY,IAAI,IAAI,OAAO,EAAE,CAAC;IAE9C,gDAAgD;IAChD,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QAC7C,+BAA+B;QAC/B,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,wFAAwF,CAAC,CAAC;QAC3G,CAAC;QAED,8BAA8B;QAC9B,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAClB,CAAC;IAED,cAAc;IACd,IAAI,GAAG,YAAY,IAAI,EAAE,CAAC;QACzB,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAiB,CAAC;IAChD,CAAC;IAED,eAAe;IACf,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAiB,CAAC;IACtE,CAAC;IAED,4BAA4B;IAC5B,IAAI,GAAG,CAAC,WAAW,KAAK,MAAM,EAAE,CAAC;QAChC,sCAAsC;QACtC,MAAM,OAAO,GAAG,mBAAmB,CAAC,GAA0B,CAAC,CAAC;QAChE,MAAM,IAAI,GAA4B,EAAE,CAAC;QACzC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YACpC,8BAA8B;YAC9B,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC;gBACxD,IAAI,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;YAChD,CAAC;QACF,CAAC,CAAC,CAAC;QACH,OAAO,IAAS,CAAC;IAClB,CAAC;IAED,+CAA+C;IAC/C,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,OAAO,GAAG,KAAK,SAAS,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC/G,OAAO,GAAG,CAAC;IACZ,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,kDAAkD,OAAO,GAAG,EAAE,CAAC,CAAC;AACjF,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,eAAe,CAC9B,GAAW,EACX,WAAgD;IAEhD,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;IAClE,CAAC;IAED,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC"}
|
|
@@ -1,9 +1,21 @@
|
|
|
1
1
|
import type { ICachedObjectFilterOptions, TCachedObjectFilterFunction } from './types.js';
|
|
2
2
|
/**
|
|
3
|
-
* Creates a cached version of
|
|
3
|
+
* Creates a cached version of {@link ObjectFilter} for improved performance
|
|
4
|
+
* when filtering the same objects repeatedly.
|
|
4
5
|
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
6
|
+
* Results are cached by hashing the filter and object together. When the cache
|
|
7
|
+
* exceeds `maxCacheSize`, approximately 20% of the entries in the largest
|
|
8
|
+
* per-filter bucket are evicted.
|
|
9
|
+
*
|
|
10
|
+
* @template T - The object type being filtered
|
|
11
|
+
* @param options - Configuration for both the cache and the underlying filter
|
|
12
|
+
* @returns A cached filter function `(cursor, filter) => Promise<boolean>`
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```typescript
|
|
16
|
+
* const cachedFilter = ObjectFilterCached<User>({ maxCacheSize: 500 });
|
|
17
|
+
* const isAdmin = await cachedFilter(user, { role: 'admin' });
|
|
18
|
+
* ```
|
|
7
19
|
*/
|
|
8
20
|
export declare function ObjectFilterCached<T extends object>(options?: ICachedObjectFilterOptions): TCachedObjectFilterFunction<T>;
|
|
9
21
|
//# sourceMappingURL=filter-cached.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filter-cached.d.ts","sourceRoot":"","sources":["../../src/object/filter-cached.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,0BAA0B,EAAE,2BAA2B,EAAwB,MAAM,YAAY,CAAC;AAOhH
|
|
1
|
+
{"version":3,"file":"filter-cached.d.ts","sourceRoot":"","sources":["../../src/object/filter-cached.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,0BAA0B,EAAE,2BAA2B,EAAwB,MAAM,YAAY,CAAC;AAOhH;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,MAAM,EAAE,OAAO,GAAE,0BAA+B,GAAG,2BAA2B,CAAC,CAAC,CAAC,CAmH7H"}
|
|
@@ -5,10 +5,22 @@ const DEFAULT_MAX_CACHE_SIZE = 1000;
|
|
|
5
5
|
const CACHE_EVICTION_PERCENTAGE = 0.2; // 20%
|
|
6
6
|
const INITIAL_CACHE_HASH_LENGTH = 16;
|
|
7
7
|
/**
|
|
8
|
-
* Creates a cached version of
|
|
8
|
+
* Creates a cached version of {@link ObjectFilter} for improved performance
|
|
9
|
+
* when filtering the same objects repeatedly.
|
|
9
10
|
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
11
|
+
* Results are cached by hashing the filter and object together. When the cache
|
|
12
|
+
* exceeds `maxCacheSize`, approximately 20% of the entries in the largest
|
|
13
|
+
* per-filter bucket are evicted.
|
|
14
|
+
*
|
|
15
|
+
* @template T - The object type being filtered
|
|
16
|
+
* @param options - Configuration for both the cache and the underlying filter
|
|
17
|
+
* @returns A cached filter function `(cursor, filter) => Promise<boolean>`
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* ```typescript
|
|
21
|
+
* const cachedFilter = ObjectFilterCached<User>({ maxCacheSize: 500 });
|
|
22
|
+
* const isAdmin = await cachedFilter(user, { role: 'admin' });
|
|
23
|
+
* ```
|
|
12
24
|
*/
|
|
13
25
|
export function ObjectFilterCached(options = {}) {
|
|
14
26
|
const { maxCacheSize = DEFAULT_MAX_CACHE_SIZE, useDeepEqual = false, caseInsensitiveStrings = false, validatePaths = true, } = options;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filter-cached.js","sourceRoot":"","sources":["../../src/object/filter-cached.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAGvC,gCAAgC;AAChC,MAAM,sBAAsB,GAAG,IAAI,CAAC;AACpC,MAAM,yBAAyB,GAAG,GAAG,CAAC,CAAC,MAAM;AAC7C,MAAM,yBAAyB,GAAG,EAAE,CAAC;AAErC
|
|
1
|
+
{"version":3,"file":"filter-cached.js","sourceRoot":"","sources":["../../src/object/filter-cached.ts"],"names":[],"mappings":"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"}
|