r-state-tree 0.5.0 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +310 -67
- package/dist/index.d.ts +4 -3
- package/dist/model/ChildModelsAdministration.d.ts +1 -1
- package/dist/model/ModelAdministration.d.ts +2 -0
- package/dist/observables/array.d.ts +5 -3
- package/dist/observables/collection.d.ts +10 -14
- package/dist/observables/index.d.ts +2 -2
- package/dist/observables/internal/Administration.d.ts +2 -3
- package/dist/observables/internal/NodeMap.d.ts +1 -0
- package/dist/observables/internal/lookup.d.ts +3 -2
- package/dist/observables/internal/utils.d.ts +1 -1
- package/dist/observables/object.d.ts +5 -4
- package/dist/observables/preact.d.ts +6 -22
- package/dist/r-state-tree.cjs +906 -383
- package/dist/r-state-tree.js +920 -394
- package/dist/toObservableTree.d.ts +1 -0
- package/dist/types.d.ts +5 -11
- package/dist/utils.d.ts +1 -1
- package/package.json +1 -1
|
@@ -13,6 +13,7 @@ declare class NodeMap<K = unknown, GraphNode extends AtomNode | SignalNode<unkno
|
|
|
13
13
|
getOrCreate(key: K, value?: unknown): GraphNode;
|
|
14
14
|
reportObserved(key: K, value?: unknown): void;
|
|
15
15
|
reportChanged(key: K, value?: unknown): void;
|
|
16
|
+
keys(): Iterable<unknown>;
|
|
16
17
|
}
|
|
17
18
|
export declare class AtomMap<K = unknown> extends NodeMap<K, AtomNode> {
|
|
18
19
|
protected createNode(): AtomNode;
|
|
@@ -7,10 +7,11 @@ export declare function getAdministration<T extends object>(obj: T): T extends S
|
|
|
7
7
|
export declare function getSource<T>(obj: T): T;
|
|
8
8
|
export declare function getAction<T extends Function>(fn: T): T;
|
|
9
9
|
export declare function getObservableClassInstance<T extends object>(value: T): T;
|
|
10
|
+
export declare class Observable {
|
|
11
|
+
constructor();
|
|
12
|
+
}
|
|
10
13
|
export declare function getObservableIfExists<T>(value: T): T | undefined;
|
|
11
14
|
export declare function createObservableWithCustomAdministration<T>(value: T, Adm: new (obj: any) => Administration): T;
|
|
12
15
|
export declare function getObservable<T>(value: T): T;
|
|
13
|
-
export declare function isShallowObservable(obj: unknown): boolean;
|
|
14
|
-
export declare function getShallowObservable<T>(value: T): T;
|
|
15
16
|
export declare function isObservable(obj: unknown): boolean;
|
|
16
17
|
export declare function getInternalNode(obj: object, key?: PropertyKey): any;
|
|
@@ -2,7 +2,7 @@ import type { AtomNode, ComputedNode, SignalNode } from "../preact";
|
|
|
2
2
|
export declare function defaultEquals<T>(a: T, b: T): boolean;
|
|
3
3
|
export declare function isNonPrimitive(val: unknown): val is object;
|
|
4
4
|
export declare function isPropertyKey(val: unknown): val is string | number | symbol;
|
|
5
|
-
export type PropertyType = "action" | "computed" | "observable"
|
|
5
|
+
export type PropertyType = "action" | "computed" | "observable";
|
|
6
6
|
export declare function getPropertyType(key: PropertyKey, obj: object): PropertyType | null;
|
|
7
7
|
export declare function getPropertyDescriptor(obj: object, key: PropertyKey): PropertyDescriptor | undefined;
|
|
8
8
|
export declare function isPlainObject(value: unknown): value is object;
|
|
@@ -8,6 +8,7 @@ export declare class ObjectAdministration<T extends object> extends Administrati
|
|
|
8
8
|
valuesMap: SignalMap<PropertyKey>;
|
|
9
9
|
computedMap: Map<PropertyKey, ComputedNode<T[keyof T]>>;
|
|
10
10
|
types: Map<PropertyKey, PropertyType | null>;
|
|
11
|
+
isWriting: boolean;
|
|
11
12
|
static proxyTraps: ProxyHandler<object>;
|
|
12
13
|
constructor(source?: T);
|
|
13
14
|
private get;
|
|
@@ -15,11 +16,11 @@ export declare class ObjectAdministration<T extends object> extends Administrati
|
|
|
15
16
|
private getComputed;
|
|
16
17
|
private callComputed;
|
|
17
18
|
private getType;
|
|
18
|
-
protected reportObserveDeep(): void;
|
|
19
19
|
reportChanged(): void;
|
|
20
20
|
getNode(key?: keyof T): unknown;
|
|
21
|
-
read(key: keyof T): unknown;
|
|
22
|
-
|
|
21
|
+
read(key: keyof T, receiver?: any): unknown;
|
|
22
|
+
private explicitObservables;
|
|
23
|
+
write(key: keyof T, newValue: T[keyof T]): boolean;
|
|
23
24
|
has(key: keyof T): boolean;
|
|
24
|
-
remove(key: keyof T):
|
|
25
|
+
remove(key: keyof T): boolean;
|
|
25
26
|
}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Signal, batch, effect, untracked } from "@preact/signals-core";
|
|
2
2
|
import type { ReadonlySignal } from "@preact/signals-core";
|
|
3
3
|
import { ObjectAdministration } from "./object";
|
|
4
4
|
export { isObservable } from "./index";
|
|
5
5
|
export declare class PreactObjectAdministration<T extends object> extends ObjectAdministration<T> {
|
|
6
|
-
static proxyTraps: ProxyHandler<object>;
|
|
7
6
|
}
|
|
8
7
|
export interface AtomNode {
|
|
9
8
|
reportObserved(): void;
|
|
@@ -40,7 +39,7 @@ export declare function createObservedAtom(): {
|
|
|
40
39
|
};
|
|
41
40
|
export declare function createSignal<T>(initialValue: T): SignalNode<T>;
|
|
42
41
|
export declare function createAtom(): AtomNode;
|
|
43
|
-
export { effect,
|
|
42
|
+
export { effect, batch, untracked, Signal };
|
|
44
43
|
export type { ReadonlySignal };
|
|
45
44
|
export declare function reaction<T>(fn: () => T, callback: (value: T) => void): () => void;
|
|
46
45
|
export type Listener = {
|
|
@@ -51,27 +50,12 @@ export type Listener = {
|
|
|
51
50
|
};
|
|
52
51
|
export declare function createListener(callback: (listener: Listener) => void): Listener;
|
|
53
52
|
export declare function createComputed<T>(fn: () => T, context?: unknown): ComputedNode<T>;
|
|
54
|
-
export type PreactObservable<T> = T
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
readonly [key in keyof T as T[key] extends object ? never : `$${string & key}`]?: Signal<T[key]>;
|
|
58
|
-
};
|
|
59
|
-
declare function observableImpl<T>(obj: T): PreactObservable<T>;
|
|
60
|
-
declare function observableImpl(value: undefined, context: ClassFieldDecoratorContext): void;
|
|
61
|
-
declare function shallowDecorator(value: any, context: ClassFieldDecoratorContext): any;
|
|
62
|
-
declare function signalDecorator(value: any, context: ClassFieldDecoratorContext): any;
|
|
63
|
-
export declare const observable: typeof observableImpl & {
|
|
64
|
-
shallow: typeof shallowDecorator;
|
|
65
|
-
signal: typeof signalDecorator;
|
|
66
|
-
};
|
|
53
|
+
export type PreactObservable<T> = T;
|
|
54
|
+
export declare function observable<T>(obj: T): PreactObservable<T>;
|
|
55
|
+
export declare function signal<T>(value: T): Signal<T>;
|
|
67
56
|
export declare function computed<T>(value: () => T, context: ClassGetterDecoratorContext): void;
|
|
68
57
|
export declare function computed<T>(fn: () => T): ReadonlySignal<T>;
|
|
69
58
|
export declare function source<T>(obj: PreactObservable<T> | T): T;
|
|
70
|
-
export declare class Observable {
|
|
71
|
-
constructor();
|
|
72
|
-
}
|
|
73
59
|
export declare function reportChanged<T extends object>(obj: T): T;
|
|
74
|
-
export declare function reportObserved<T extends object>(obj: T
|
|
75
|
-
deep?: boolean;
|
|
76
|
-
}): T;
|
|
60
|
+
export declare function reportObserved<T extends object>(obj: T): T;
|
|
77
61
|
export declare function getSignal<T extends object>(obj: T, key: keyof T): Signal<T[keyof T]>;
|