r-state-tree 0.4.7 → 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.
@@ -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
- write(key: keyof T, newValue: T[keyof T]): void;
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): void;
25
+ remove(key: keyof T): boolean;
25
26
  }
@@ -1,9 +1,8 @@
1
- import { signal, Signal, batch, effect, untracked } from "@preact/signals-core";
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, signal, batch, untracked, Signal };
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,21 +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 extends Function ? T : T extends Map<infer K, infer V> ? Map<K, PreactObservable<V>> : T extends Array<infer V> ? Array<PreactObservable<V>> : T extends Set<infer V> ? Set<PreactObservable<V>> : T extends WeakSet<infer V> ? WeakSet<PreactObservable<V>> : T extends WeakMap<infer K, infer V> ? WeakMap<K, PreactObservable<V>> : {
55
- [key in keyof T]: T[key] extends object ? PreactObservable<T[key]> : T[key];
56
- } & {
57
- readonly [key in keyof T as T[key] extends object ? never : `$${string & key}`]?: Signal<T[key]>;
58
- };
53
+ export type PreactObservable<T> = T;
59
54
  export declare function observable<T>(obj: T): PreactObservable<T>;
60
- export declare function observable(value: undefined, context: ClassFieldDecoratorContext): void;
55
+ export declare function signal<T>(value: T): Signal<T>;
61
56
  export declare function computed<T>(value: () => T, context: ClassGetterDecoratorContext): void;
62
57
  export declare function computed<T>(fn: () => T): ReadonlySignal<T>;
63
58
  export declare function source<T>(obj: PreactObservable<T> | T): T;
64
- export declare class Observable {
65
- constructor();
66
- }
67
59
  export declare function reportChanged<T extends object>(obj: T): T;
68
- export declare function reportObserved<T extends object>(obj: T, opts?: {
69
- deep?: boolean;
70
- }): T;
60
+ export declare function reportObserved<T extends object>(obj: T): T;
71
61
  export declare function getSignal<T extends object>(obj: T, key: keyof T): Signal<T[keyof T]>;