@fluixi/reactive 1.0.0-alpha.53
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 +343 -0
- package/dist/cdn/reactive.cjs +1 -0
- package/dist/cdn/reactive.d.ts +11 -0
- package/dist/cdn/reactive.d.ts.map +1 -0
- package/dist/cdn/reactive.global.js +1 -0
- package/dist/cdn/reactive.js +10 -0
- package/dist/cdn/reactive.mjs +1 -0
- package/dist/cdn/signal.cjs +1 -0
- package/dist/cdn/signal.d.ts +19 -0
- package/dist/cdn/signal.d.ts.map +1 -0
- package/dist/cdn/signal.global.js +1 -0
- package/dist/cdn/signal.js +18 -0
- package/dist/cdn/signal.mjs +1 -0
- package/dist/index.cjs +1 -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 +1 -0
- package/dist/lib/index.cjs +1 -0
- package/dist/lib/index.d.ts +5 -0
- package/dist/lib/index.d.ts.map +1 -0
- package/dist/lib/index.js +4 -0
- package/dist/lib/index.mjs +1 -0
- package/dist/lib/observable/index.cjs +1 -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 +1 -0
- package/dist/lib/observable/observable.cjs +1 -0
- package/dist/lib/observable/observable.d.ts +383 -0
- package/dist/lib/observable/observable.d.ts.map +1 -0
- package/dist/lib/observable/observable.js +339 -0
- package/dist/lib/observable/observable.mjs +1 -0
- package/dist/lib/observable/subscription.cjs +1 -0
- package/dist/lib/observable/subscription.d.ts +70 -0
- package/dist/lib/observable/subscription.d.ts.map +1 -0
- package/dist/lib/observable/subscription.js +190 -0
- package/dist/lib/observable/subscription.mjs +1 -0
- package/dist/lib/observable/types.cjs +1 -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/signal/cached-resource.cjs +1 -0
- package/dist/lib/signal/cached-resource.d.ts +94 -0
- package/dist/lib/signal/cached-resource.d.ts.map +1 -0
- package/dist/lib/signal/cached-resource.js +257 -0
- package/dist/lib/signal/cached-resource.mjs +1 -0
- package/dist/lib/signal/graph/children.cjs +1 -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 +1 -0
- package/dist/lib/signal/graph/compat.cjs +1 -0
- package/dist/lib/signal/graph/compat.d.ts +64 -0
- package/dist/lib/signal/graph/compat.d.ts.map +1 -0
- package/dist/lib/signal/graph/compat.js +178 -0
- package/dist/lib/signal/graph/compat.mjs +1 -0
- package/dist/lib/signal/graph/core.cjs +1 -0
- package/dist/lib/signal/graph/core.d.ts +95 -0
- package/dist/lib/signal/graph/core.d.ts.map +1 -0
- package/dist/lib/signal/graph/core.js +254 -0
- package/dist/lib/signal/graph/core.mjs +1 -0
- package/dist/lib/signal/graph/derived.cjs +1 -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 +81 -0
- package/dist/lib/signal/graph/derived.mjs +1 -0
- package/dist/lib/signal/graph/detect.cjs +1 -0
- package/dist/lib/signal/graph/detect.d.ts +16 -0
- package/dist/lib/signal/graph/detect.d.ts.map +1 -0
- package/dist/lib/signal/graph/detect.js +36 -0
- package/dist/lib/signal/graph/detect.mjs +1 -0
- package/dist/lib/signal/graph/error-boundary.cjs +1 -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 +1 -0
- package/dist/lib/signal/graph/index.cjs +1 -0
- package/dist/lib/signal/graph/index.d.ts +21 -0
- package/dist/lib/signal/graph/index.d.ts.map +1 -0
- package/dist/lib/signal/graph/index.js +20 -0
- package/dist/lib/signal/graph/index.mjs +1 -0
- package/dist/lib/signal/graph/resource.cjs +1 -0
- package/dist/lib/signal/graph/resource.d.ts +36 -0
- package/dist/lib/signal/graph/resource.d.ts.map +1 -0
- package/dist/lib/signal/graph/resource.js +156 -0
- package/dist/lib/signal/graph/resource.mjs +1 -0
- package/dist/lib/signal/graph/runtime.cjs +1 -0
- package/dist/lib/signal/graph/runtime.d.ts +56 -0
- package/dist/lib/signal/graph/runtime.d.ts.map +1 -0
- package/dist/lib/signal/graph/runtime.js +277 -0
- package/dist/lib/signal/graph/runtime.mjs +1 -0
- package/dist/lib/signal/graph/signal-next.cjs +1 -0
- package/dist/lib/signal/graph/signal-next.d.ts +37 -0
- package/dist/lib/signal/graph/signal-next.d.ts.map +1 -0
- package/dist/lib/signal/graph/signal-next.js +41 -0
- package/dist/lib/signal/graph/signal-next.mjs +1 -0
- package/dist/lib/signal/graph/ssr-hooks.cjs +1 -0
- package/dist/lib/signal/graph/ssr-hooks.d.ts +28 -0
- package/dist/lib/signal/graph/ssr-hooks.d.ts.map +1 -0
- package/dist/lib/signal/graph/ssr-hooks.js +45 -0
- package/dist/lib/signal/graph/ssr-hooks.mjs +1 -0
- package/dist/lib/signal/graph/state.cjs +1 -0
- package/dist/lib/signal/graph/state.d.ts +43 -0
- package/dist/lib/signal/graph/state.d.ts.map +1 -0
- package/dist/lib/signal/graph/state.js +37 -0
- package/dist/lib/signal/graph/state.mjs +1 -0
- package/dist/lib/signal/graph/suspense.cjs +1 -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 +1 -0
- package/dist/lib/signal/index-legacy.cjs +1 -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 +1 -0
- package/dist/lib/signal/index.cjs +1 -0
- package/dist/lib/signal/index.d.ts +12 -0
- package/dist/lib/signal/index.d.ts.map +1 -0
- package/dist/lib/signal/index.js +11 -0
- package/dist/lib/signal/index.mjs +1 -0
- package/dist/lib/signal/list.cjs +1 -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 +1 -0
- package/dist/lib/signal/signal.cjs +1 -0
- package/dist/lib/signal/signal.d.ts +295 -0
- package/dist/lib/signal/signal.d.ts.map +1 -0
- package/dist/lib/signal/signal.js +1219 -0
- package/dist/lib/signal/signal.mjs +1 -0
- package/dist/lib/signal/types.cjs +1 -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 +1 -0
- package/dist/lib/signal/utilities.cjs +1 -0
- package/dist/lib/signal/utilities.d.ts +355 -0
- package/dist/lib/signal/utilities.d.ts.map +1 -0
- package/dist/lib/signal/utilities.js +504 -0
- package/dist/lib/signal/utilities.mjs +1 -0
- package/dist/lib/store/index.cjs +1 -0
- package/dist/lib/store/index.d.ts +14 -0
- package/dist/lib/store/index.d.ts.map +1 -0
- package/dist/lib/store/index.js +11 -0
- package/dist/lib/store/index.mjs +1 -0
- package/dist/lib/store/setter.types.cjs +1 -0
- package/dist/lib/store/setter.types.d.ts +79 -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 +1 -0
- package/dist/lib/store/store.d.ts +86 -0
- package/dist/lib/store/store.d.ts.map +1 -0
- package/dist/lib/store/store.js +442 -0
- package/dist/lib/store/store.mjs +1 -0
- package/dist/lib/store/types.cjs +1 -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 +1 -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 +1 -0
- package/dist/lib/subject.cjs +1 -0
- package/dist/lib/subject.d.ts +14 -0
- package/dist/lib/subject.d.ts.map +1 -0
- package/dist/lib/subject.js +169 -0
- package/dist/lib/subject.mjs +1 -0
- package/dist/tsconfig.lib.tsbuildinfo +1 -0
- package/package.json +114 -0
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { 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> | ((prev: V) => V);
|
|
32
|
+
export type Predicate<T> = (item: T, index: number) => boolean;
|
|
33
|
+
export type ArrayStoreMethods<T extends readonly any[]> = {
|
|
34
|
+
push(...items: ArrayElement<T>[]): void;
|
|
35
|
+
pop(): ArrayElement<T> | undefined;
|
|
36
|
+
shift(): ArrayElement<T> | undefined;
|
|
37
|
+
unshift(...items: ArrayElement<T>[]): void;
|
|
38
|
+
insert(index: number, value: ArrayElement<T>): void;
|
|
39
|
+
remove(index: number): void;
|
|
40
|
+
move(from: number, to: number): void;
|
|
41
|
+
reverse(): void;
|
|
42
|
+
sort(compareFn?: (a: ArrayElement<T>, b: ArrayElement<T>) => number): void;
|
|
43
|
+
splice(start: number, deleteCount?: number, ...items: ArrayElement<T>[]): ArrayElement<T>[];
|
|
44
|
+
};
|
|
45
|
+
type RootSetterArgs<T> = [value: UpdateValue<T>];
|
|
46
|
+
type PathSetterArgs<T> = [
|
|
47
|
+
key: Selector<T>,
|
|
48
|
+
value: UpdateValue<PathValue<T, Selector<T>>>
|
|
49
|
+
];
|
|
50
|
+
type IndexSetterArgs<T> = [key: Selector<T>, index: number, value: any];
|
|
51
|
+
type IndicesSetterArgs<T> = [
|
|
52
|
+
key: Selector<T>,
|
|
53
|
+
indices: readonly number[],
|
|
54
|
+
value: any
|
|
55
|
+
];
|
|
56
|
+
type RangeSetterArgs<T> = [key: Selector<T>, range: RangeSelector, value: any];
|
|
57
|
+
type PredicateSetterArgs<T> = [
|
|
58
|
+
key: Selector<T>,
|
|
59
|
+
predicate: Predicate<any>,
|
|
60
|
+
value: any
|
|
61
|
+
];
|
|
62
|
+
type PropertySetterArgs<T> = [
|
|
63
|
+
key: Selector<T>,
|
|
64
|
+
index: number,
|
|
65
|
+
property: string,
|
|
66
|
+
value: any
|
|
67
|
+
];
|
|
68
|
+
export type SetterArgs<T> = RootSetterArgs<T> | PathSetterArgs<T> | IndexSetterArgs<T> | IndicesSetterArgs<T> | RangeSetterArgs<T> | PredicateSetterArgs<T> | PropertySetterArgs<T>;
|
|
69
|
+
export interface SetStoreFunction<T> {
|
|
70
|
+
(value: UpdateValue<T>): void;
|
|
71
|
+
<P extends string>(path: P & Selector<T>, value: ResolvePath<T, P> | Partial<ResolvePath<T, P>> | GetAtPath<T, P>): void;
|
|
72
|
+
<P extends string>(path: P & Selector<T>, updater: (prev: ResolvePath<T, P>) => ResolvePath<T, P>): void;
|
|
73
|
+
<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;
|
|
74
|
+
<P extends string>(path: P & Selector<T>, index: number | number[] | RangeSelector | Predicate<ArrayElement<ResolvePath<T, P>>>, value: UpdateValue<ArrayElement<ResolvePath<T, P>>>): void;
|
|
75
|
+
<K1 extends keyof T, K2 extends keyof T[K1], V extends T[K1][K2]>(k1: K1, k2: K2, value: UpdateValue<V>): void;
|
|
76
|
+
}
|
|
77
|
+
export type SetStore<T> = SetStoreFunction<T> & (T extends readonly any[] ? ArrayStoreMethods<T> : {});
|
|
78
|
+
export {};
|
|
79
|
+
//# 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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var h=Object.defineProperty;var V=Object.getOwnPropertyDescriptor;var z=Object.getOwnPropertyNames;var C=Object.prototype.hasOwnProperty;var F=(e,t)=>{for(var n in t)h(e,n,{get:t[n],enumerable:!0})},X=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of z(t))!C.call(e,o)&&o!==n&&h(e,o,{get:()=>t[o],enumerable:!(r=V(t,o))||r.enumerable});return e};var q=e=>X(h({},"__esModule",{value:!0}),e);var at={};F(at,{$HAS:()=>O,$NAME:()=>L,$NODE:()=>f,$RAW:()=>d,$SELF:()=>g,$STORE:()=>Y,$TRACK:()=>x,Store:()=>y,StoreAPI:()=>it,createComputedStore:()=>Z,createMutableStore:()=>B,createStore:()=>W,createStoreEffect:()=>k,createStoreMemo:()=>tt,getNode:()=>rt,getStoreNode:()=>ot,isStore:()=>nt,isStoreProxy:()=>P,modifiable:()=>st,untrackStore:()=>H,unwrap:()=>p,wrap:()=>et});module.exports=q(at);var s=require("@fluixi/reactive/signal"),d=Symbol("store-raw"),f=Symbol("store-node"),O=Symbol("store-has"),g=Symbol("store-self"),x=Symbol("store-track"),L=Symbol("store-name"),Y=Symbol("store-store"),v=new WeakMap,N=new WeakMap;function _(e){let[t,n]=(0,s.createSignal)(e),r=t;return r.$=n,r}function T(e){let t=v.get(e);return t||v.set(e,t={keys:new Map}),t}function U(e,t,n){let r=e.keys.get(t);return r||e.keys.set(t,r=_(n)),r}function $(e){let t=T(e);(t.all||(t.all=_()))()}function M(e,t){e.$(typeof t=="function"?()=>t:t)}function K(e){if(e==null||typeof e!="object")return!1;if(Array.isArray(e))return!0;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function m(e){if(!K(e))return e;let t=N.get(e);if(t)return t;let n=new Proxy(e,G);return N.set(e,n),n}var G={get(e,t,n){if(t===d||t===f)return e;if(t===s.$PROXY)return n;if(t===O)return a=>a in e;if(t==="__proxy")return!0;if(t===x||t===g)return $(e),n;let r=e[t];if(typeof r=="function"&&!Object.prototype.hasOwnProperty.call(e,t))return r;let o=Object.getOwnPropertyDescriptor(e,t);if(o&&o.get)return o.get.call(n);let i=U(T(e),t,r)();return K(i)?m(i):i},set(){return!0},deleteProperty(e,t){return t in e&&l(e,t,void 0),!0},has(e,t){return t===d||t===s.$PROXY||t===f||t===O||t===g||t===x?!0:(U(T(e),t,e[t])(),t in e)},ownKeys(e){return $(e),Reflect.ownKeys(e)},getOwnPropertyDescriptor(e,t){return Reflect.getOwnPropertyDescriptor(e,t)}};function l(e,t,n){if(e[t]===n&&(n!==void 0||t in e))return;let o=Array.isArray(e),i=o?e.length:0;n===void 0?delete e[t]:e[t]=n;let a=T(e),c=a.keys.get(t);if(c&&M(c,n),o&&e.length!==i){let b=a.keys.get("length");b&&M(b,e.length)}a.all&&a.all.$(void 0)}function D(e,t){return typeof e=="function"?e(t):e}function j(e,t){for(let n of Object.keys(t)){let r=t[n],o=e[n];r&&typeof r=="object"&&!Array.isArray(r)&&o&&typeof o=="object"&&!Array.isArray(o)?j(o,r):l(e,n,r)}}function w(e){let t=[],n=e.replace(/\[([^\]]*)\]/g,".$1");for(let r of n.split("."))r.length&&t.push(r);return t}function R(e,t,n){let r=t.length-1;for(let i=0;i<r;i++){let a=t[i];if(a==="*"){let b=t.slice(i+1);if(Array.isArray(e))for(let S=0;S<e.length;S++)R(e[S],b,n);return}let c=e[a];(c==null||typeof c!="object")&&(c=/^\d+$/.test(t[i+1])?[]:{},l(e,a,c)),e=c}let o=t[r];if(o==="*"){if(Array.isArray(e))for(let i=0;i<e.length;i++)l(e,i,D(n,e[i]));return}l(e,o,D(n,e[o]))}function A(e,t,n){R(e,w(t),n)}function J(e,t){let n=t[0];if(typeof n=="function"&&t.length===1){let r=n(e);r&&r!==e&&j(e,r);return}if(Array.isArray(n)&&t.length===1){for(let r of n)Array.isArray(r)&&A(e,r[0],r[1]);return}if(n&&typeof n=="object"&&!Array.isArray(n)&&t.length===1){j(e,n);return}if(Array.isArray(t[1])&&t.length>=3){A(e,`${n}.${t[1].join(".")}`,t[2]);return}A(e,String(n),t[1])}function I(e){if(e==null||typeof e!="object")return e;if(Array.isArray(e))return e.map(I);let t={};for(let n of Object.keys(e))t[n]=I(e[n]);return t}function u(e,t){let n=e;for(let r of w(t)){if(n==null)return;n=n[r]}return n}var y=class{constructor(t,n={immutable:!0}){this.options=n;this.root=t,this.set=((...r)=>(0,s.batch)(()=>J(this.root,r)))}get state(){return m(this.root)}get proxy(){return m(this.root)}get accessor(){return(()=>m(this.root))}unwrap(){return this.root}getNode(t){return this.root&&this.root[t]}get(t){if(t==null||t==="")return p(this.state);let n=this.state;for(let r of w(t)){if(n==null)return;n=n[r]}return p(n)}select(t){return(0,s.createMemo)(()=>t(this.state))}subscribe(t){return(0,s.createEffect)(()=>t(this.state))}watch(t,n){let r;return(0,s.createEffect)(()=>{let o=t(this.state);Object.is(o,r)||(n(o,r),r=o)})}reactive(t){return(0,s.createMemo)(()=>this.state[t])}produce(t){this.set((n=>{let r=I(n);return t(r),r}))}reconcile(t,n={}){this.set(t)}push(t,...n){let r=u(this.root,t);this.set(t,r.concat(n))}pop(t){let n=u(this.root,t).slice(),r=n.pop();return this.set(t,n),r}shift(t){let n=u(this.root,t).slice(),r=n.shift();return this.set(t,n),r}splice(t,n,r,...o){let i=u(this.root,t).slice(),a=i.splice(n,r,...o);return this.set(t,i),a}insert(t,n,r){let o=u(this.root,t).slice();o.splice(n,0,r),this.set(t,o)}removeAt(t,n){let r=u(this.root,t).slice(),o=r.splice(n,1);return this.set(t,r),o}toObservable(){let[t]=(0,s.createSignal)(this.state);return t.toObservable()}dispose(){}},Q=["get","select","watch","subscribe","produce","reconcile","push","pop","shift","splice","insert","removeAt","unwrap","toObservable"];function E(e,t){for(let n of Q)e[n]=t[n].bind(t);e.$=t.reactive.bind(t)}function W(e,t={immutable:!0}){let n=new y(e,t);return E(n.set,n),[n.proxy,n.set]}function B(e,t={}){return new y(e,{...t,immutable:!1})}function Z(e,t={}){let n=new y(e(),t);return(0,s.createEffect)(()=>n.set(e())),n}function k(e,t,n){return(0,s.createEffect)(()=>n(t(e)))}function tt(e,t,n){return(0,s.createMemo)(()=>t(e),void 0,n)}function et(e,t={}){let n=new y(e,t),r=(()=>n.proxy);return E(r,n),r}function p(e){if(e==null||typeof e!="object")return e;let t=e[d];return t!==void 0?t:e}function H(e){return(0,s.untrack)(()=>p(e))}function nt(e){return P(e)}function rt(e){return P(e)?e[f]:null}function ot(e){return e&&typeof e=="object"&&f in e?e[f]:null}function P(e){return!!e&&typeof e=="object"&&(s.$PROXY in e||e.__proxy===!0)}function st(e){return e}var it=Object.freeze({createStore:W,createMutableStore:B,batch:s.batch,unwrap:p,untrackStore:H});
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import type { Observable } from '../observable/observable.js';
|
|
2
|
+
import { type Accessor, type MemoOptions, batch } from '@fluixi/reactive/signal';
|
|
3
|
+
import type { SetStoreFunction as StoreSetter } from './setter.types.js';
|
|
4
|
+
import type { ReconcileOptions } from './types.js';
|
|
5
|
+
/**
|
|
6
|
+
* Fine-grained reactive store.
|
|
7
|
+
*
|
|
8
|
+
* State stays a plain object/array tree. Every object gets a lazily-grown map of
|
|
9
|
+
* per-key signals (a NodeStore, kept in a WeakMap off the raw target) plus one
|
|
10
|
+
* structural signal for key iteration. Reading a key through the proxy subscribes
|
|
11
|
+
* to that key's signal; the setter writes straight to the raw target and pokes
|
|
12
|
+
* only the keys that actually changed. No snapshots, no diffing. Child objects are
|
|
13
|
+
* proxied on first read and cached, so a given object always yields the same proxy.
|
|
14
|
+
*/
|
|
15
|
+
type Primitive = string | number | boolean | bigint | symbol | undefined | null;
|
|
16
|
+
type BrowserNativeObject = Date | RegExp | Blob;
|
|
17
|
+
type ImmutablePrimitive = Primitive | BrowserNativeObject;
|
|
18
|
+
type _Immutable<T> = T extends ImmutablePrimitive ? T : T extends Array<infer U> ? ReadonlyArray<_Immutable<U>> : T extends Map<infer K, infer V> ? ReadonlyMap<_Immutable<K>, _Immutable<V>> : T extends Set<infer M> ? ReadonlySet<_Immutable<M>> : {
|
|
19
|
+
readonly [K in keyof T]: _Immutable<T[K]>;
|
|
20
|
+
};
|
|
21
|
+
type Immutable<T> = _Immutable<T> & {
|
|
22
|
+
__track: T;
|
|
23
|
+
[key: symbol]: any;
|
|
24
|
+
};
|
|
25
|
+
interface StoreOptions<T> {
|
|
26
|
+
name?: string;
|
|
27
|
+
immutable?: boolean;
|
|
28
|
+
equals?: (a: T, b: T) => boolean;
|
|
29
|
+
}
|
|
30
|
+
interface StoreAccessor<T> extends Accessor<T> {
|
|
31
|
+
}
|
|
32
|
+
export declare const $RAW: unique symbol, $NODE: unique symbol, $HAS: unique symbol, $SELF: unique symbol, $TRACK: unique symbol, $NAME: unique symbol, $STORE: unique symbol;
|
|
33
|
+
declare class Store<T> {
|
|
34
|
+
private options;
|
|
35
|
+
private root;
|
|
36
|
+
set: StoreSetter<T>;
|
|
37
|
+
constructor(initialState: T, options?: StoreOptions<T>);
|
|
38
|
+
get state(): Immutable<T>;
|
|
39
|
+
get proxy(): Immutable<T>;
|
|
40
|
+
get accessor(): Accessor<T>;
|
|
41
|
+
unwrap(): T;
|
|
42
|
+
getNode(key: PropertyKey): any;
|
|
43
|
+
get(path?: string): any;
|
|
44
|
+
select<U>(selector: (state: Immutable<T>) => U): () => U;
|
|
45
|
+
subscribe(listener: (state: Immutable<T>) => void): () => void;
|
|
46
|
+
watch<U>(selector: (state: Immutable<T>) => U, effect: (value: U, prev: U | undefined) => void): () => void;
|
|
47
|
+
reactive(key: string): Accessor<any>;
|
|
48
|
+
produce(producer: (draft: T) => void): void;
|
|
49
|
+
reconcile(value: T | Partial<T>, _options?: ReconcileOptions): void;
|
|
50
|
+
push(path: string, ...items: any[]): void;
|
|
51
|
+
pop(path: string): any;
|
|
52
|
+
shift(path: string): any;
|
|
53
|
+
splice(path: string, start: number, deleteCount: number, ...items: any[]): any[];
|
|
54
|
+
insert(path: string, index: number, value: any): void;
|
|
55
|
+
removeAt(path: string, index: number): any[];
|
|
56
|
+
toObservable(): Observable<T>;
|
|
57
|
+
dispose(): void;
|
|
58
|
+
}
|
|
59
|
+
declare function createStore<T>(initialState: T, options?: StoreOptions<T>): [Immutable<T>, Store<T>['set']];
|
|
60
|
+
declare function createMutableStore<T>(initialState: T, options?: Omit<StoreOptions<T>, 'immutable'>): Store<T>;
|
|
61
|
+
/** A store whose state is derived from a reactive function. */
|
|
62
|
+
declare function createComputedStore<T>(fn: () => T, options?: StoreOptions<T>): Store<T>;
|
|
63
|
+
/** Runs an effect over a slice of store state. */
|
|
64
|
+
declare function createStoreEffect<T, U>(state: Immutable<T>, selector: (state: Immutable<T>) => U, effect: (value: U) => void | (() => void)): () => void;
|
|
65
|
+
/** Memoises a slice of store state. */
|
|
66
|
+
declare function createStoreMemo<T, U>(store: Immutable<T>, selector: (state: Immutable<T>) => U, options?: MemoOptions<U>): () => U;
|
|
67
|
+
/** Wraps a value as an accessor carrying the store helper methods. */
|
|
68
|
+
declare function wrap<U extends object>(value: U, options?: StoreOptions<U>): Accessor<U>;
|
|
69
|
+
declare function unwrap<T>(item: T): T;
|
|
70
|
+
declare function untrackStore<T>(store: T): T;
|
|
71
|
+
type StoreWrap<T> = Store<T> | StoreAccessor<T> | (() => T);
|
|
72
|
+
export declare function isStore<T>(store: StoreWrap<T>): store is StoreAccessor<T>;
|
|
73
|
+
export declare function getNode<T>(store: StoreWrap<T>): Accessor<T> | null;
|
|
74
|
+
export declare function getStoreNode<T>(store: any): T | null;
|
|
75
|
+
export declare function isStoreProxy(value: any): boolean;
|
|
76
|
+
export declare function modifiable<T extends object>(value: T): T;
|
|
77
|
+
export declare const StoreAPI: Readonly<{
|
|
78
|
+
createStore: typeof createStore;
|
|
79
|
+
createMutableStore: typeof createMutableStore;
|
|
80
|
+
batch: typeof batch;
|
|
81
|
+
unwrap: typeof unwrap;
|
|
82
|
+
untrackStore: typeof untrackStore;
|
|
83
|
+
}>;
|
|
84
|
+
export { createStore, createMutableStore, createComputedStore, createStoreEffect, createStoreMemo, wrap, unwrap, untrackStore, Store, };
|
|
85
|
+
export type { StoreOptions, StoreSetter, Immutable, StoreAccessor };
|
|
86
|
+
//# sourceMappingURL=store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../src/lib/store/store.ts"],"names":[],"mappings":"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"}
|