@sladg/apex-state 3.6.3 → 3.7.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/dist/index.d.ts +27 -11
- package/dist/index.js +31 -11
- package/dist/index.js.map +1 -1
- package/dist/testing/index.js +31 -11
- package/dist/testing/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -204,6 +204,12 @@ type PathValuePair<STATE, Depth extends number> = DeepKey<STATE, Depth> extends
|
|
|
204
204
|
* Same distribution as PathValuePair but with array values.
|
|
205
205
|
*/
|
|
206
206
|
type PathValueArrayPair<STATE, Depth extends number> = DeepKey<STATE, Depth> extends infer P ? P extends string ? [P, DeepValue<STATE, P>[]] : never : never;
|
|
207
|
+
/**
|
|
208
|
+
* Array-elements pair for CONTAINS_ANY / CONTAINS_ALL operators.
|
|
209
|
+
* Same distribution as PathArrayElementPair but the second element is an array
|
|
210
|
+
* of items, enabling multi-value containment checks.
|
|
211
|
+
*/
|
|
212
|
+
type PathArrayElementsPair<STATE, Depth extends number> = DeepKey<STATE, Depth> extends infer P ? P extends string ? NonNullable<DeepValue<STATE, P>> extends readonly (infer Item)[] ? [P, Item[]] : never : never : never;
|
|
207
213
|
/**
|
|
208
214
|
* Paths that resolve to number, plus `.length` on array-valued paths.
|
|
209
215
|
* Allows GT/LT/GTE/LTE to compare against array lengths without
|
|
@@ -223,6 +229,8 @@ type NumericPaths<STATE, Depth extends number> = DeepKeyFiltered<STATE, number,
|
|
|
223
229
|
* - AND/OR/NOT: Boolean combinators
|
|
224
230
|
* - GT/LT/GTE/LTE: Numeric comparisons (only on number paths or array.length)
|
|
225
231
|
* - IN: Check if path value is in allowed list (values must match path type)
|
|
232
|
+
* - CONTAINS_ANY: Check if array at path contains any of the given elements
|
|
233
|
+
* - CONTAINS_ALL: Check if array at path contains all of the given elements
|
|
226
234
|
* - Shorthand: [path, value] tuple as shorthand for IS_EQUAL
|
|
227
235
|
*
|
|
228
236
|
* @example
|
|
@@ -271,6 +279,10 @@ type BoolLogic<STATE, Depth extends number = DefaultDepth> = {
|
|
|
271
279
|
LTE: [NumericPaths<STATE, Depth>, number];
|
|
272
280
|
} | {
|
|
273
281
|
IN: PathValueArrayPair<STATE, Depth>;
|
|
282
|
+
} | {
|
|
283
|
+
CONTAINS_ANY: PathArrayElementsPair<STATE, Depth>;
|
|
284
|
+
} | {
|
|
285
|
+
CONTAINS_ALL: PathArrayElementsPair<STATE, Depth>;
|
|
274
286
|
} | PathValuePair<STATE, Depth>;
|
|
275
287
|
|
|
276
288
|
/**
|
|
@@ -1702,6 +1714,7 @@ declare const hashKey: {
|
|
|
1702
1714
|
*
|
|
1703
1715
|
* Provides type-safe predicates for common type checks with TypeScript support
|
|
1704
1716
|
*/
|
|
1717
|
+
|
|
1705
1718
|
/**
|
|
1706
1719
|
* Unified namespace for type checking
|
|
1707
1720
|
*
|
|
@@ -1723,6 +1736,7 @@ declare const is: {
|
|
|
1723
1736
|
undefined: (value: unknown) => value is undefined;
|
|
1724
1737
|
null: (value: unknown) => value is null;
|
|
1725
1738
|
object: (value: unknown) => value is Record<string, unknown>;
|
|
1739
|
+
objectOrArray: (value: unknown) => value is Record<string, unknown> | unknown[];
|
|
1726
1740
|
array: (value: unknown) => value is unknown[];
|
|
1727
1741
|
string: (value: unknown) => value is string;
|
|
1728
1742
|
number: (value: unknown) => value is number;
|
|
@@ -1731,23 +1745,25 @@ declare const is: {
|
|
|
1731
1745
|
symbol: (value: unknown) => value is symbol;
|
|
1732
1746
|
date: (value: unknown) => value is Date;
|
|
1733
1747
|
regexp: (value: unknown) => value is RegExp;
|
|
1734
|
-
|
|
1748
|
+
numericKey: (value: string) => boolean;
|
|
1749
|
+
primitive: (value: unknown) => value is Primitive;
|
|
1735
1750
|
empty: (value: unknown) => boolean;
|
|
1736
1751
|
equal: (a: unknown, b: unknown) => boolean;
|
|
1737
1752
|
not: {
|
|
1738
1753
|
nil: <T>(value: T | null | undefined) => value is T;
|
|
1739
1754
|
undefined: <T>(value: T | undefined) => value is T;
|
|
1740
1755
|
null: <T>(value: T | null) => value is T;
|
|
1741
|
-
object: (value:
|
|
1742
|
-
|
|
1743
|
-
|
|
1744
|
-
|
|
1745
|
-
|
|
1746
|
-
|
|
1747
|
-
|
|
1748
|
-
|
|
1749
|
-
|
|
1750
|
-
|
|
1756
|
+
object: <T>(value: T) => value is Exclude<T, Record<string, unknown>>;
|
|
1757
|
+
objectOrArray: <T>(value: T) => value is Exclude<T, Record<string, unknown> | unknown[]>;
|
|
1758
|
+
array: <T>(value: T) => value is Exclude<T, unknown[]>;
|
|
1759
|
+
string: <T>(value: T) => value is Exclude<T, string>;
|
|
1760
|
+
number: <T>(value: T) => value is Exclude<T, number>;
|
|
1761
|
+
boolean: <T>(value: T) => value is Exclude<T, boolean>;
|
|
1762
|
+
function: <T>(value: T) => value is Exclude<T, (...args: unknown[]) => unknown>;
|
|
1763
|
+
symbol: <T>(value: T) => value is Exclude<T, symbol>;
|
|
1764
|
+
date: <T>(value: T) => value is Exclude<T, Date>;
|
|
1765
|
+
regexp: <T>(value: T) => value is Exclude<T, RegExp>;
|
|
1766
|
+
primitive: <T>(value: T) => value is Exclude<T, Primitive>;
|
|
1751
1767
|
empty: (value: unknown) => boolean;
|
|
1752
1768
|
equal: (a: unknown, b: unknown) => boolean;
|
|
1753
1769
|
};
|