@fluixi/reactive 1.0.0-alpha.100
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/LICENSE +21 -0
- package/README.md +280 -0
- package/dist/cdn/reactive.cjs +2803 -0
- package/dist/cdn/reactive.d.ts +11 -0
- package/dist/cdn/reactive.d.ts.map +1 -0
- package/dist/cdn/reactive.global.js +2 -0
- package/dist/cdn/reactive.js +10 -0
- package/dist/cdn/reactive.mjs +2787 -0
- package/dist/cdn/signal.cjs +299 -0
- package/dist/cdn/signal.d.ts +19 -0
- package/dist/cdn/signal.d.ts.map +1 -0
- package/dist/cdn/signal.global.js +2 -0
- package/dist/cdn/signal.js +18 -0
- package/dist/cdn/signal.mjs +276 -0
- package/dist/index.cjs +2803 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +1 -0
- package/dist/index.mjs +2787 -0
- package/dist/lib/index.cjs +2804 -0
- package/dist/lib/index.d.ts +8 -0
- package/dist/lib/index.d.ts.map +1 -0
- package/dist/lib/index.js +11 -0
- package/dist/lib/index.mjs +2789 -0
- package/dist/lib/observable/index.cjs +386 -0
- package/dist/lib/observable/index.d.ts +4 -0
- package/dist/lib/observable/index.d.ts.map +1 -0
- package/dist/lib/observable/index.js +3 -0
- package/dist/lib/observable/index.mjs +364 -0
- package/dist/lib/observable/observable.cjs +384 -0
- package/dist/lib/observable/observable.d.ts +246 -0
- package/dist/lib/observable/observable.d.ts.map +1 -0
- package/dist/lib/observable/observable.js +268 -0
- package/dist/lib/observable/observable.mjs +361 -0
- package/dist/lib/observable/subscription.cjs +180 -0
- package/dist/lib/observable/subscription.d.ts +58 -0
- package/dist/lib/observable/subscription.d.ts.map +1 -0
- package/dist/lib/observable/subscription.js +177 -0
- package/dist/lib/observable/subscription.mjs +157 -0
- package/dist/lib/observable/types.cjs +18 -0
- package/dist/lib/observable/types.d.ts +44 -0
- package/dist/lib/observable/types.d.ts.map +1 -0
- package/dist/lib/observable/types.js +1 -0
- package/dist/lib/observable/types.mjs +0 -0
- package/dist/lib/predicates.cjs +44 -0
- package/dist/lib/predicates.d.ts +37 -0
- package/dist/lib/predicates.d.ts.map +1 -0
- package/dist/lib/predicates.js +62 -0
- package/dist/lib/predicates.mjs +23 -0
- package/dist/lib/signal/api.cjs +592 -0
- package/dist/lib/signal/api.d.ts +227 -0
- package/dist/lib/signal/api.d.ts.map +1 -0
- package/dist/lib/signal/api.js +228 -0
- package/dist/lib/signal/api.mjs +569 -0
- package/dist/lib/signal/cached-resource.cjs +726 -0
- package/dist/lib/signal/cached-resource.d.ts +86 -0
- package/dist/lib/signal/cached-resource.d.ts.map +1 -0
- package/dist/lib/signal/cached-resource.js +250 -0
- package/dist/lib/signal/cached-resource.mjs +704 -0
- package/dist/lib/signal/graph/children.cjs +326 -0
- package/dist/lib/signal/graph/children.d.ts +2 -0
- package/dist/lib/signal/graph/children.d.ts.map +1 -0
- package/dist/lib/signal/graph/children.js +30 -0
- package/dist/lib/signal/graph/children.mjs +303 -0
- package/dist/lib/signal/graph/compat.cjs +590 -0
- package/dist/lib/signal/graph/compat.d.ts +66 -0
- package/dist/lib/signal/graph/compat.d.ts.map +1 -0
- package/dist/lib/signal/graph/compat.js +197 -0
- package/dist/lib/signal/graph/compat.mjs +568 -0
- package/dist/lib/signal/graph/core.cjs +295 -0
- package/dist/lib/signal/graph/core.d.ts +99 -0
- package/dist/lib/signal/graph/core.d.ts.map +1 -0
- package/dist/lib/signal/graph/core.js +268 -0
- package/dist/lib/signal/graph/core.mjs +273 -0
- package/dist/lib/signal/graph/debounced.cjs +680 -0
- package/dist/lib/signal/graph/debounced.d.ts +67 -0
- package/dist/lib/signal/graph/debounced.d.ts.map +1 -0
- package/dist/lib/signal/graph/debounced.js +92 -0
- package/dist/lib/signal/graph/debounced.mjs +657 -0
- package/dist/lib/signal/graph/derived.cjs +508 -0
- package/dist/lib/signal/graph/derived.d.ts +14 -0
- package/dist/lib/signal/graph/derived.d.ts.map +1 -0
- package/dist/lib/signal/graph/derived.js +65 -0
- package/dist/lib/signal/graph/derived.mjs +485 -0
- package/dist/lib/signal/graph/detect.cjs +66 -0
- package/dist/lib/signal/graph/detect.d.ts +17 -0
- package/dist/lib/signal/graph/detect.d.ts.map +1 -0
- package/dist/lib/signal/graph/detect.js +39 -0
- package/dist/lib/signal/graph/detect.mjs +45 -0
- package/dist/lib/signal/graph/error-boundary.cjs +313 -0
- package/dist/lib/signal/graph/error-boundary.d.ts +16 -0
- package/dist/lib/signal/graph/error-boundary.d.ts.map +1 -0
- package/dist/lib/signal/graph/error-boundary.js +34 -0
- package/dist/lib/signal/graph/error-boundary.mjs +290 -0
- package/dist/lib/signal/graph/index.cjs +305 -0
- package/dist/lib/signal/graph/index.d.ts +22 -0
- package/dist/lib/signal/graph/index.d.ts.map +1 -0
- package/dist/lib/signal/graph/index.js +21 -0
- package/dist/lib/signal/graph/index.mjs +283 -0
- package/dist/lib/signal/graph/observe.cjs +198 -0
- package/dist/lib/signal/graph/observe.d.ts +185 -0
- package/dist/lib/signal/graph/observe.d.ts.map +1 -0
- package/dist/lib/signal/graph/observe.js +198 -0
- package/dist/lib/signal/graph/observe.mjs +175 -0
- package/dist/lib/signal/graph/resource.cjs +632 -0
- package/dist/lib/signal/graph/resource.d.ts +39 -0
- package/dist/lib/signal/graph/resource.d.ts.map +1 -0
- package/dist/lib/signal/graph/resource.js +165 -0
- package/dist/lib/signal/graph/resource.mjs +609 -0
- package/dist/lib/signal/graph/runtime.cjs +522 -0
- package/dist/lib/signal/graph/runtime.d.ts +80 -0
- package/dist/lib/signal/graph/runtime.d.ts.map +1 -0
- package/dist/lib/signal/graph/runtime.js +358 -0
- package/dist/lib/signal/graph/runtime.mjs +499 -0
- package/dist/lib/signal/graph/signal-next.cjs +1249 -0
- package/dist/lib/signal/graph/signal-next.d.ts +38 -0
- package/dist/lib/signal/graph/signal-next.d.ts.map +1 -0
- package/dist/lib/signal/graph/signal-next.js +44 -0
- package/dist/lib/signal/graph/signal-next.mjs +1227 -0
- package/dist/lib/signal/graph/ssr-hooks.cjs +89 -0
- package/dist/lib/signal/graph/ssr-hooks.d.ts +51 -0
- package/dist/lib/signal/graph/ssr-hooks.d.ts.map +1 -0
- package/dist/lib/signal/graph/ssr-hooks.js +80 -0
- package/dist/lib/signal/graph/ssr-hooks.mjs +68 -0
- package/dist/lib/signal/graph/state.cjs +72 -0
- package/dist/lib/signal/graph/state.d.ts +76 -0
- package/dist/lib/signal/graph/state.d.ts.map +1 -0
- package/dist/lib/signal/graph/state.js +99 -0
- package/dist/lib/signal/graph/state.mjs +49 -0
- package/dist/lib/signal/graph/suspense.cjs +313 -0
- package/dist/lib/signal/graph/suspense.d.ts +13 -0
- package/dist/lib/signal/graph/suspense.d.ts.map +1 -0
- package/dist/lib/signal/graph/suspense.js +36 -0
- package/dist/lib/signal/graph/suspense.mjs +290 -0
- package/dist/lib/signal/index-legacy.cjs +2582 -0
- package/dist/lib/signal/index-legacy.d.ts +12 -0
- package/dist/lib/signal/index-legacy.d.ts.map +1 -0
- package/dist/lib/signal/index-legacy.js +11 -0
- package/dist/lib/signal/index-legacy.mjs +2560 -0
- package/dist/lib/signal/index.cjs +1350 -0
- package/dist/lib/signal/index.d.ts +19 -0
- package/dist/lib/signal/index.d.ts.map +1 -0
- package/dist/lib/signal/index.js +19 -0
- package/dist/lib/signal/index.mjs +1328 -0
- package/dist/lib/signal/list.cjs +561 -0
- package/dist/lib/signal/list.d.ts +39 -0
- package/dist/lib/signal/list.d.ts.map +1 -0
- package/dist/lib/signal/list.js +172 -0
- package/dist/lib/signal/list.mjs +538 -0
- package/dist/lib/signal/resource-api.cjs +638 -0
- package/dist/lib/signal/resource-api.d.ts +19 -0
- package/dist/lib/signal/resource-api.d.ts.map +1 -0
- package/dist/lib/signal/resource-api.js +27 -0
- package/dist/lib/signal/resource-api.mjs +615 -0
- package/dist/lib/signal/signal.cjs +2035 -0
- package/dist/lib/signal/signal.d.ts +303 -0
- package/dist/lib/signal/signal.d.ts.map +1 -0
- package/dist/lib/signal/signal.js +1233 -0
- package/dist/lib/signal/signal.mjs +2012 -0
- package/dist/lib/signal/types.cjs +38 -0
- package/dist/lib/signal/types.d.ts +133 -0
- package/dist/lib/signal/types.d.ts.map +1 -0
- package/dist/lib/signal/types.js +38 -0
- package/dist/lib/signal/types.mjs +17 -0
- package/dist/lib/signal/utilities.cjs +1024 -0
- package/dist/lib/signal/utilities.d.ts +247 -0
- package/dist/lib/signal/utilities.d.ts.map +1 -0
- package/dist/lib/signal/utilities.js +346 -0
- package/dist/lib/signal/utilities.mjs +1002 -0
- package/dist/lib/store/api.cjs +662 -0
- package/dist/lib/store/api.d.ts +40 -0
- package/dist/lib/store/api.d.ts.map +1 -0
- package/dist/lib/store/api.js +63 -0
- package/dist/lib/store/api.mjs +646 -0
- package/dist/lib/store/index.cjs +741 -0
- package/dist/lib/store/index.d.ts +16 -0
- package/dist/lib/store/index.d.ts.map +1 -0
- package/dist/lib/store/index.js +13 -0
- package/dist/lib/store/index.mjs +726 -0
- package/dist/lib/store/setter.types.cjs +18 -0
- package/dist/lib/store/setter.types.d.ts +131 -0
- package/dist/lib/store/setter.types.d.ts.map +1 -0
- package/dist/lib/store/setter.types.js +65 -0
- package/dist/lib/store/setter.types.mjs +0 -0
- package/dist/lib/store/store.cjs +708 -0
- package/dist/lib/store/store.d.ts +142 -0
- package/dist/lib/store/store.d.ts.map +1 -0
- package/dist/lib/store/store.js +812 -0
- package/dist/lib/store/store.mjs +694 -0
- package/dist/lib/store/types.cjs +18 -0
- package/dist/lib/store/types.d.ts +57 -0
- package/dist/lib/store/types.d.ts.map +1 -0
- package/dist/lib/store/types.js +1 -0
- package/dist/lib/store/types.mjs +0 -0
- package/dist/lib/store/utils.cjs +43 -0
- package/dist/lib/store/utils.d.ts +13 -0
- package/dist/lib/store/utils.d.ts.map +1 -0
- package/dist/lib/store/utils.js +29 -0
- package/dist/lib/store/utils.mjs +22 -0
- package/dist/lib/subject.cjs +450 -0
- package/dist/lib/subject.d.ts +14 -0
- package/dist/lib/subject.d.ts.map +1 -0
- package/dist/lib/subject.js +81 -0
- package/dist/lib/subject.mjs +427 -0
- package/dist/tsconfig.lib.tsbuildinfo +1 -0
- package/dist/version.generated.cjs +27 -0
- package/dist/version.generated.d.ts +3 -0
- package/dist/version.generated.d.ts.map +1 -0
- package/dist/version.generated.js +3 -0
- package/dist/version.generated.mjs +7 -0
- package/package.json +115 -0
|
@@ -0,0 +1,18 @@
|
|
|
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/lib/store/setter.types.ts
|
|
17
|
+
var setter_types_exports = {};
|
|
18
|
+
module.exports = __toCommonJS(setter_types_exports);
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
import type { GetAtPath } from '@fluixi/utils/object';
|
|
2
|
+
export type Primitive = string | number | boolean | bigint | symbol | null | undefined | Date | Function;
|
|
3
|
+
export type AnyObject = Record<string, any>;
|
|
4
|
+
export type Callback<T> = (prev: T) => T;
|
|
5
|
+
export interface RangeSelector {
|
|
6
|
+
from?: number;
|
|
7
|
+
to?: number;
|
|
8
|
+
by?: number;
|
|
9
|
+
}
|
|
10
|
+
type Decrement = [never, 0, 1, 2, 3, 4, 5, 6];
|
|
11
|
+
type ArrayElement<T> = T extends readonly (infer U)[] ? U : T extends (infer U)[] ? U : never;
|
|
12
|
+
type SelectorInternal<T, Prefix extends string = '', Depth extends number = 4> = Depth extends 0 ? never : T extends Primitive ? never : T extends readonly (infer U)[] ? `${Prefix}[*]` | `${Prefix}[${number}]` | SelectorInternal<U, `${Prefix}[*].`, Decrement[Depth]> : T extends object ? {
|
|
13
|
+
[K in keyof T & string]: `${Prefix}${K}` | SelectorInternal<T[K], `${Prefix}${K}.`, Decrement[Depth]>;
|
|
14
|
+
}[keyof T & string] : never;
|
|
15
|
+
/**
|
|
16
|
+
* Cached selector type.
|
|
17
|
+
*
|
|
18
|
+
* Examples:
|
|
19
|
+
*
|
|
20
|
+
* users
|
|
21
|
+
* users[*]
|
|
22
|
+
* users[0]
|
|
23
|
+
* users[*].name
|
|
24
|
+
* users[*].posts[*].title
|
|
25
|
+
*/
|
|
26
|
+
export type Selector<T> = SelectorInternal<T>;
|
|
27
|
+
type _ResolvePath<T, P extends string> = P extends `${infer Head}.${infer Tail}` ? ResolveSegment<T, Head> extends infer Next ? _ResolvePath<Next, Tail> : never : P extends `${infer Left}[${infer Index}]${infer Right}` ? Left extends '' ? ResolveSegment<T, `[${Index}]`> extends infer Next ? _ResolvePath<Next, Right extends `.${infer R}` ? R : Right> : never : ResolveSegment<T, Left> extends infer Next ? _ResolvePath<Next, `[${Index}]${Right}`> : never : ResolveSegment<T, P>;
|
|
28
|
+
type ResolvePath<T, P extends string> = _ResolvePath<T, P> & GetAtPath<T, P>;
|
|
29
|
+
type ResolveSegment<T, Segment extends string> = Segment extends keyof T ? T[Segment] : Segment extends '[*]' ? T extends readonly (infer U)[] ? U[] : never : Segment extends `[${number}]` ? T extends readonly (infer U)[] ? U : never : T;
|
|
30
|
+
export type PathValue<T, P extends string> = ResolvePath<T, P>;
|
|
31
|
+
export type UpdateValue<V> = V extends Primitive ? V | ((prev: V) => V) : V | Partial<V> | DeepReadonly<V> | Partial<DeepReadonly<V>> | ((prev: V) => V);
|
|
32
|
+
/**
|
|
33
|
+
* The shape a store hands back when read, which the setter also accepts.
|
|
34
|
+
*
|
|
35
|
+
* `set(untrackStore(other))` is a call the setter handles fine, it copies values out
|
|
36
|
+
* of what it is given and never writes to it, but a mutable-only input type rejected
|
|
37
|
+
* it, so every such site needed a cast.
|
|
38
|
+
*/
|
|
39
|
+
export type DeepReadonly<T> = T extends ImmutablePrimitive ? T : T extends Array<infer U> ? ReadonlyArray<DeepReadonly<U>> : T extends Map<infer K, infer V> ? ReadonlyMap<DeepReadonly<K>, DeepReadonly<V>> : T extends Set<infer M> ? ReadonlySet<DeepReadonly<M>> : {
|
|
40
|
+
readonly [K in keyof T]: DeepReadonly<T[K]>;
|
|
41
|
+
};
|
|
42
|
+
/** What deep-readonly leaves alone: a value with no interior to freeze. */
|
|
43
|
+
type ImmutablePrimitive = Primitive | RegExp | Blob;
|
|
44
|
+
export type Predicate<T> = (item: T, index: number) => boolean;
|
|
45
|
+
export type ArrayStoreMethods<T extends readonly any[]> = {
|
|
46
|
+
push(...items: ArrayElement<T>[]): void;
|
|
47
|
+
pop(): ArrayElement<T> | undefined;
|
|
48
|
+
shift(): ArrayElement<T> | undefined;
|
|
49
|
+
unshift(...items: ArrayElement<T>[]): void;
|
|
50
|
+
insert(index: number, value: ArrayElement<T>): void;
|
|
51
|
+
remove(index: number): void;
|
|
52
|
+
move(from: number, to: number): void;
|
|
53
|
+
reverse(): void;
|
|
54
|
+
sort(compareFn?: (a: ArrayElement<T>, b: ArrayElement<T>) => number): void;
|
|
55
|
+
splice(start: number, deleteCount?: number, ...items: ArrayElement<T>[]): ArrayElement<T>[];
|
|
56
|
+
};
|
|
57
|
+
type RootSetterArgs<T> = [value: UpdateValue<T>];
|
|
58
|
+
type PathSetterArgs<T> = [
|
|
59
|
+
key: Selector<T>,
|
|
60
|
+
value: UpdateValue<PathValue<T, Selector<T>>>
|
|
61
|
+
];
|
|
62
|
+
type IndexSetterArgs<T> = [key: Selector<T>, index: number, value: any];
|
|
63
|
+
type IndicesSetterArgs<T> = [
|
|
64
|
+
key: Selector<T>,
|
|
65
|
+
indices: readonly number[],
|
|
66
|
+
value: any
|
|
67
|
+
];
|
|
68
|
+
type RangeSetterArgs<T> = [key: Selector<T>, range: RangeSelector, value: any];
|
|
69
|
+
type PredicateSetterArgs<T> = [
|
|
70
|
+
key: Selector<T>,
|
|
71
|
+
predicate: Predicate<any>,
|
|
72
|
+
value: any
|
|
73
|
+
];
|
|
74
|
+
type PropertySetterArgs<T> = [
|
|
75
|
+
key: Selector<T>,
|
|
76
|
+
index: number,
|
|
77
|
+
property: string,
|
|
78
|
+
value: any
|
|
79
|
+
];
|
|
80
|
+
export type SetterArgs<T> = RootSetterArgs<T> | PathSetterArgs<T> | IndexSetterArgs<T> | IndicesSetterArgs<T> | RangeSetterArgs<T> | PredicateSetterArgs<T> | PropertySetterArgs<T>;
|
|
81
|
+
/**
|
|
82
|
+
* The methods `createStore` hangs off the setter.
|
|
83
|
+
*
|
|
84
|
+
* They were attached at runtime and absent from this type, so every one of them was an
|
|
85
|
+
* error at the call site despite working. Each takes a dot path, or no path at all
|
|
86
|
+
* where the root is the target.
|
|
87
|
+
*/
|
|
88
|
+
export interface StoreSetterMethods<T> {
|
|
89
|
+
/** Read the current state without subscribing. */
|
|
90
|
+
get(): T;
|
|
91
|
+
/** Read a slice without subscribing. */
|
|
92
|
+
select<U>(selector: (state: T) => U): U;
|
|
93
|
+
/** Run `fn` on every change to the selected slice. */
|
|
94
|
+
watch<U>(selector: (state: T) => U, fn: (value: U) => void): () => void;
|
|
95
|
+
/** Subscribe to whole-state changes. */
|
|
96
|
+
subscribe(fn: (state: T) => void): () => void;
|
|
97
|
+
/** Mutate a draft; the result is applied as one change. */
|
|
98
|
+
produce(recipe: (draft: T) => void): void;
|
|
99
|
+
/** Merge `value` in, keeping the nodes of anything that compares equal. */
|
|
100
|
+
reconcile(value: T, options?: {
|
|
101
|
+
key?: string;
|
|
102
|
+
merge?: boolean;
|
|
103
|
+
}): void;
|
|
104
|
+
push(path: string, ...items: unknown[]): void;
|
|
105
|
+
pop(path: string): unknown;
|
|
106
|
+
shift(path: string): unknown;
|
|
107
|
+
splice(path: string, start: number, deleteCount: number, ...items: unknown[]): unknown[];
|
|
108
|
+
insert(path: string, index: number, value: unknown): void;
|
|
109
|
+
removeAt(path: string, index: number): unknown[];
|
|
110
|
+
/** Swap a whole value instead of merging into it. No path means the root. */
|
|
111
|
+
replace(value: unknown): void;
|
|
112
|
+
replace(path: string, value: unknown): void;
|
|
113
|
+
/** Empty an array, or strip an object's keys. No path means the root. */
|
|
114
|
+
clear(path?: string): void;
|
|
115
|
+
/** The plain, non-reactive value. */
|
|
116
|
+
unwrap(): T;
|
|
117
|
+
toObservable(): unknown;
|
|
118
|
+
/** The reactive accessor for a path. */
|
|
119
|
+
$(path?: string): unknown;
|
|
120
|
+
}
|
|
121
|
+
export interface SetStoreFunction<T> extends StoreSetterMethods<T> {
|
|
122
|
+
(value: UpdateValue<T>): void;
|
|
123
|
+
<P extends string>(path: P & Selector<T>, value: ResolvePath<T, P> | Partial<ResolvePath<T, P>> | DeepReadonly<ResolvePath<T, P>> | GetAtPath<T, P>): void;
|
|
124
|
+
<P extends string>(path: P & Selector<T>, updater: (prev: ResolvePath<T, P>) => ResolvePath<T, P>): void;
|
|
125
|
+
<P extends string, K extends keyof ArrayElement<ResolvePath<T, P>>>(path: P & Selector<T>, index: number | number[] | RangeSelector | Predicate<ArrayElement<ResolvePath<T, P>>>, column: K, value: UpdateValue<ArrayElement<ResolvePath<T, P>>[K]>): void;
|
|
126
|
+
<P extends string>(path: P & Selector<T>, index: number | number[] | RangeSelector | Predicate<ArrayElement<ResolvePath<T, P>>>, value: UpdateValue<ArrayElement<ResolvePath<T, P>>>): void;
|
|
127
|
+
<K1 extends keyof T, K2 extends keyof T[K1], V extends T[K1][K2]>(k1: K1, k2: K2, value: UpdateValue<V>): void;
|
|
128
|
+
}
|
|
129
|
+
export type SetStore<T> = SetStoreFunction<T> & (T extends readonly any[] ? ArrayStoreMethods<T> : {});
|
|
130
|
+
export {};
|
|
131
|
+
//# sourceMappingURL=setter.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setter.types.d.ts","sourceRoot":"","sources":["../../../src/lib/store/setter.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
/* ============================================================
|
|
3
|
+
* Example
|
|
4
|
+
* ============================================================ */
|
|
5
|
+
/*
|
|
6
|
+
|
|
7
|
+
type State = {
|
|
8
|
+
users: {
|
|
9
|
+
id: number;
|
|
10
|
+
name: string;
|
|
11
|
+
posts: {
|
|
12
|
+
title: string;
|
|
13
|
+
}[];
|
|
14
|
+
}[];
|
|
15
|
+
|
|
16
|
+
count: number;
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
declare const set: SetStoreFunction<State>;
|
|
20
|
+
|
|
21
|
+
set({
|
|
22
|
+
count: 5
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
set(
|
|
26
|
+
"count",
|
|
27
|
+
5
|
|
28
|
+
);
|
|
29
|
+
|
|
30
|
+
set(
|
|
31
|
+
"users[*].name",
|
|
32
|
+
"John"
|
|
33
|
+
);
|
|
34
|
+
|
|
35
|
+
set(
|
|
36
|
+
"users[0].posts[*].title",
|
|
37
|
+
"Hello"
|
|
38
|
+
);
|
|
39
|
+
|
|
40
|
+
set(
|
|
41
|
+
"users",
|
|
42
|
+
0,
|
|
43
|
+
{
|
|
44
|
+
id: 1,
|
|
45
|
+
name: "John"
|
|
46
|
+
}
|
|
47
|
+
);
|
|
48
|
+
|
|
49
|
+
set(
|
|
50
|
+
"users",
|
|
51
|
+
[0, 2, 4],
|
|
52
|
+
{
|
|
53
|
+
name: "Updated"
|
|
54
|
+
}
|
|
55
|
+
);
|
|
56
|
+
|
|
57
|
+
set(
|
|
58
|
+
"users",
|
|
59
|
+
(user) => user.id > 5,
|
|
60
|
+
{
|
|
61
|
+
name: "Filtered"
|
|
62
|
+
}
|
|
63
|
+
);
|
|
64
|
+
|
|
65
|
+
*/
|
|
File without changes
|