mobx 6.10.1 → 6.11.0-pre

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.
Files changed (89) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/api/action.d.ts +16 -15
  3. package/dist/api/annotation.d.ts +19 -18
  4. package/dist/api/autorun.d.ts +25 -25
  5. package/dist/api/become-observed.d.ts +5 -5
  6. package/dist/api/computed.d.ts +14 -13
  7. package/dist/api/configure.d.ts +17 -17
  8. package/dist/api/decorators.d.ts +20 -17
  9. package/dist/api/extendobservable.d.ts +2 -2
  10. package/dist/api/extras.d.ts +10 -10
  11. package/dist/api/flow.d.ts +19 -18
  12. package/dist/api/intercept-read.d.ts +8 -8
  13. package/dist/api/intercept.d.ts +8 -8
  14. package/dist/api/iscomputed.d.ts +3 -3
  15. package/dist/api/isobservable.d.ts +2 -2
  16. package/dist/api/makeObservable.d.ts +6 -6
  17. package/dist/api/object-api.d.ts +36 -36
  18. package/dist/api/observable.d.ts +45 -44
  19. package/dist/api/observe.d.ts +8 -8
  20. package/dist/api/tojs.d.ts +7 -7
  21. package/dist/api/trace.d.ts +3 -3
  22. package/dist/api/transaction.d.ts +8 -8
  23. package/dist/api/when.d.ts +11 -11
  24. package/dist/core/action.d.ts +20 -20
  25. package/dist/core/atom.d.ts +37 -37
  26. package/dist/core/computedvalue.d.ts +99 -99
  27. package/dist/core/derivation.d.ts +73 -73
  28. package/dist/core/globalstate.d.ts +121 -121
  29. package/dist/core/observable.d.ts +45 -45
  30. package/dist/core/reaction.d.ts +62 -62
  31. package/dist/core/spy.d.ts +37 -37
  32. package/dist/errors.d.ts +42 -42
  33. package/dist/internal.d.ts +54 -54
  34. package/dist/mobx.cjs.development.js +428 -260
  35. package/dist/mobx.cjs.development.js.map +1 -1
  36. package/dist/mobx.cjs.production.min.js +1 -1
  37. package/dist/mobx.cjs.production.min.js.map +1 -1
  38. package/dist/mobx.d.ts +2 -2
  39. package/dist/mobx.esm.development.js +428 -260
  40. package/dist/mobx.esm.development.js.map +1 -1
  41. package/dist/mobx.esm.js +428 -260
  42. package/dist/mobx.esm.js.map +1 -1
  43. package/dist/mobx.esm.production.min.js +1 -1
  44. package/dist/mobx.esm.production.min.js.map +1 -1
  45. package/dist/mobx.umd.development.js +428 -260
  46. package/dist/mobx.umd.development.js.map +1 -1
  47. package/dist/mobx.umd.production.min.js +1 -1
  48. package/dist/mobx.umd.production.min.js.map +1 -1
  49. package/dist/types/actionannotation.d.ts +8 -8
  50. package/dist/types/autoannotation.d.ts +3 -3
  51. package/dist/types/computedannotation.d.ts +2 -2
  52. package/dist/types/decorator_fills.d.ts +6 -0
  53. package/dist/types/dynamicobject.d.ts +2 -2
  54. package/dist/types/flowannotation.d.ts +2 -2
  55. package/dist/types/generic-abort-signal.d.ts +6 -6
  56. package/dist/types/intercept-utils.d.ts +8 -8
  57. package/dist/types/legacyobservablearray.d.ts +14 -3
  58. package/dist/types/listen-utils.d.ts +7 -7
  59. package/dist/types/modifiers.d.ts +7 -7
  60. package/dist/types/observableannotation.d.ts +2 -2
  61. package/dist/types/observablearray.d.ts +85 -85
  62. package/dist/types/observablemap.d.ts +78 -78
  63. package/dist/types/observableobject.d.ts +99 -98
  64. package/dist/types/observableset.d.ts +53 -53
  65. package/dist/types/observablevalue.d.ts +49 -49
  66. package/dist/types/overrideannotation.d.ts +4 -3
  67. package/dist/types/type-utils.d.ts +11 -11
  68. package/dist/utils/comparer.d.ts +14 -14
  69. package/dist/utils/eq.d.ts +1 -1
  70. package/dist/utils/global.d.ts +1 -1
  71. package/dist/utils/iterable.d.ts +1 -1
  72. package/dist/utils/utils.d.ts +45 -45
  73. package/package.json +1 -1
  74. package/src/api/action.ts +21 -4
  75. package/src/api/annotation.ts +1 -0
  76. package/src/api/computed.ts +11 -4
  77. package/src/api/decorators.ts +29 -8
  78. package/src/api/flow.ts +10 -3
  79. package/src/api/observable.ts +19 -6
  80. package/src/core/atom.ts +9 -11
  81. package/src/types/actionannotation.ts +48 -2
  82. package/src/types/autoannotation.ts +8 -2
  83. package/src/types/computedannotation.ts +39 -2
  84. package/src/types/decorator_fills.ts +33 -0
  85. package/src/types/flowannotation.ts +28 -2
  86. package/src/types/legacyobservablearray.ts +1 -1
  87. package/src/types/observableannotation.ts +75 -2
  88. package/src/types/observableobject.ts +16 -0
  89. package/src/types/overrideannotation.ts +15 -7
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # mobx
2
2
 
3
+ ## 6.10.2
4
+
5
+ ### Patch Changes
6
+
7
+ - [`c8d9374d`](https://github.com/mobxjs/mobx/commit/c8d9374d4f3b05cfec0d690e0eb3ada4f619ff0b) [#3748](https://github.com/mobxjs/mobx/pull/3748) Thanks [@mweststrate](https://github.com/mweststrate)! - Fixed: #3747, computed values becoming stale if the underlying observable was created and updated outside a reactive context
8
+
3
9
  ## 6.10.1
4
10
 
5
11
  ### Patch Changes
@@ -1,15 +1,16 @@
1
- import { Annotation } from "../internal";
2
- export declare const ACTION = "action";
3
- export declare const ACTION_BOUND = "action.bound";
4
- export declare const AUTOACTION = "autoAction";
5
- export declare const AUTOACTION_BOUND = "autoAction.bound";
6
- export interface IActionFactory extends Annotation, PropertyDecorator {
7
- <T extends Function | undefined | null>(fn: T): T;
8
- <T extends Function | undefined | null>(name: string, fn: T): T;
9
- (customName: string): PropertyDecorator & Annotation;
10
- bound: Annotation & PropertyDecorator;
11
- }
12
- export declare const action: IActionFactory;
13
- export declare const autoAction: IActionFactory;
14
- export declare function runInAction<T>(fn: () => T): T;
15
- export declare function isAction(thing: any): boolean;
1
+ import { Annotation } from "../internal";
2
+ import type { ClassFieldDecorator, ClassMethodDecorator } from "../types/decorator_fills";
3
+ export declare const ACTION = "action";
4
+ export declare const ACTION_BOUND = "action.bound";
5
+ export declare const AUTOACTION = "autoAction";
6
+ export declare const AUTOACTION_BOUND = "autoAction.bound";
7
+ export interface IActionFactory extends Annotation, PropertyDecorator, ClassMethodDecorator, ClassFieldDecorator {
8
+ <T extends Function | undefined | null>(fn: T): T;
9
+ <T extends Function | undefined | null>(name: string, fn: T): T;
10
+ (customName: string): PropertyDecorator & Annotation & ClassMethodDecorator & ClassFieldDecorator;
11
+ bound: Annotation & PropertyDecorator & ClassMethodDecorator & ClassFieldDecorator;
12
+ }
13
+ export declare const action: IActionFactory;
14
+ export declare const autoAction: IActionFactory;
15
+ export declare function runInAction<T>(fn: () => T): T;
16
+ export declare function isAction(thing: any): boolean;
@@ -1,18 +1,19 @@
1
- import { ObservableObjectAdministration } from "../internal";
2
- export declare const enum MakeResult {
3
- Cancel = 0,
4
- Break = 1,
5
- Continue = 2
6
- }
7
- export declare type Annotation = {
8
- annotationType_: string;
9
- make_(adm: ObservableObjectAdministration, key: PropertyKey, descriptor: PropertyDescriptor, source: object): MakeResult;
10
- extend_(adm: ObservableObjectAdministration, key: PropertyKey, descriptor: PropertyDescriptor, proxyTrap: boolean): boolean | null;
11
- options_?: any;
12
- };
13
- export declare type AnnotationMapEntry = Annotation | true | false;
14
- export declare type AnnotationsMap<T, AdditionalFields extends PropertyKey> = {
15
- [P in Exclude<keyof T, "toString">]?: AnnotationMapEntry;
16
- } & Record<AdditionalFields, AnnotationMapEntry>;
17
- export declare function isAnnotation(thing: any): boolean;
18
- export declare function isAnnotationMapEntry(thing: any): boolean;
1
+ import { ObservableObjectAdministration } from "../internal";
2
+ export declare const enum MakeResult {
3
+ Cancel = 0,
4
+ Break = 1,
5
+ Continue = 2
6
+ }
7
+ export type Annotation = {
8
+ annotationType_: string;
9
+ make_(adm: ObservableObjectAdministration, key: PropertyKey, descriptor: PropertyDescriptor, source: object): MakeResult;
10
+ extend_(adm: ObservableObjectAdministration, key: PropertyKey, descriptor: PropertyDescriptor, proxyTrap: boolean): boolean | null;
11
+ decorate_20223_(value: any, context: DecoratorContext): any;
12
+ options_?: any;
13
+ };
14
+ export type AnnotationMapEntry = Annotation | true | false;
15
+ export type AnnotationsMap<T, AdditionalFields extends PropertyKey> = {
16
+ [P in Exclude<keyof T, "toString">]?: AnnotationMapEntry;
17
+ } & Record<AdditionalFields, AnnotationMapEntry>;
18
+ export declare function isAnnotation(thing: any): boolean;
19
+ export declare function isAnnotationMapEntry(thing: any): boolean;
@@ -1,25 +1,25 @@
1
- import { IEqualsComparer, IReactionDisposer, IReactionPublic, GenericAbortSignal } from "../internal";
2
- export interface IAutorunOptions {
3
- delay?: number;
4
- name?: string;
5
- /**
6
- * Experimental.
7
- * Warns if the view doesn't track observables
8
- */
9
- requiresObservable?: boolean;
10
- scheduler?: (callback: () => void) => any;
11
- onError?: (error: any) => void;
12
- signal?: GenericAbortSignal;
13
- }
14
- /**
15
- * Creates a named reactive view and keeps it alive, so that the view is always
16
- * updated if one of the dependencies changes, even when the view is not further used by something else.
17
- * @param view The reactive view
18
- * @returns disposer function, which can be used to stop the view from being updated in the future.
19
- */
20
- export declare function autorun(view: (r: IReactionPublic) => any, opts?: IAutorunOptions): IReactionDisposer;
21
- export declare type IReactionOptions<T, FireImmediately extends boolean> = IAutorunOptions & {
22
- fireImmediately?: FireImmediately;
23
- equals?: IEqualsComparer<T>;
24
- };
25
- export declare function reaction<T, FireImmediately extends boolean = false>(expression: (r: IReactionPublic) => T, effect: (arg: T, prev: FireImmediately extends true ? T | undefined : T, r: IReactionPublic) => void, opts?: IReactionOptions<T, FireImmediately>): IReactionDisposer;
1
+ import { IEqualsComparer, IReactionDisposer, IReactionPublic, GenericAbortSignal } from "../internal";
2
+ export interface IAutorunOptions {
3
+ delay?: number;
4
+ name?: string;
5
+ /**
6
+ * Experimental.
7
+ * Warns if the view doesn't track observables
8
+ */
9
+ requiresObservable?: boolean;
10
+ scheduler?: (callback: () => void) => any;
11
+ onError?: (error: any) => void;
12
+ signal?: GenericAbortSignal;
13
+ }
14
+ /**
15
+ * Creates a named reactive view and keeps it alive, so that the view is always
16
+ * updated if one of the dependencies changes, even when the view is not further used by something else.
17
+ * @param view The reactive view
18
+ * @returns disposer function, which can be used to stop the view from being updated in the future.
19
+ */
20
+ export declare function autorun(view: (r: IReactionPublic) => any, opts?: IAutorunOptions): IReactionDisposer;
21
+ export type IReactionOptions<T, FireImmediately extends boolean> = IAutorunOptions & {
22
+ fireImmediately?: FireImmediately;
23
+ equals?: IEqualsComparer<T>;
24
+ };
25
+ export declare function reaction<T, FireImmediately extends boolean = false>(expression: (r: IReactionPublic) => T, effect: (arg: T, prev: FireImmediately extends true ? T | undefined : T, r: IReactionPublic) => void, opts?: IReactionOptions<T, FireImmediately>): IReactionDisposer;
@@ -1,5 +1,5 @@
1
- import { IComputedValue, IObservable, IObservableArray, Lambda, ObservableMap, ObservableSet, IObservableValue } from "../internal";
2
- export declare function onBecomeObserved(value: IObservable | IComputedValue<any> | IObservableArray<any> | ObservableMap<any, any> | ObservableSet<any> | IObservableValue<any>, listener: Lambda): Lambda;
3
- export declare function onBecomeObserved<K, V = any>(value: ObservableMap<K, V> | Object, property: K, listener: Lambda): Lambda;
4
- export declare function onBecomeUnobserved(value: IObservable | IComputedValue<any> | IObservableArray<any> | ObservableMap<any, any> | ObservableSet<any> | IObservableValue<any>, listener: Lambda): Lambda;
5
- export declare function onBecomeUnobserved<K, V = any>(value: ObservableMap<K, V> | Object, property: K, listener: Lambda): Lambda;
1
+ import { IComputedValue, IObservable, IObservableArray, Lambda, ObservableMap, ObservableSet, IObservableValue } from "../internal";
2
+ export declare function onBecomeObserved(value: IObservable | IComputedValue<any> | IObservableArray<any> | ObservableMap<any, any> | ObservableSet<any> | IObservableValue<any>, listener: Lambda): Lambda;
3
+ export declare function onBecomeObserved<K, V = any>(value: ObservableMap<K, V> | Object, property: K, listener: Lambda): Lambda;
4
+ export declare function onBecomeUnobserved(value: IObservable | IComputedValue<any> | IObservableArray<any> | ObservableMap<any, any> | ObservableSet<any> | IObservableValue<any>, listener: Lambda): Lambda;
5
+ export declare function onBecomeUnobserved<K, V = any>(value: ObservableMap<K, V> | Object, property: K, listener: Lambda): Lambda;
@@ -1,13 +1,14 @@
1
- import { IComputedValueOptions, Annotation, IComputedValue } from "../internal";
2
- export declare const COMPUTED = "computed";
3
- export declare const COMPUTED_STRUCT = "computed.struct";
4
- export interface IComputedFactory extends Annotation, PropertyDecorator {
5
- <T>(options: IComputedValueOptions<T>): Annotation & PropertyDecorator;
6
- <T>(func: () => T, options?: IComputedValueOptions<T>): IComputedValue<T>;
7
- struct: Annotation & PropertyDecorator;
8
- }
9
- /**
10
- * Decorator for class properties: @computed get value() { return expr; }.
11
- * For legacy purposes also invokable as ES5 observable created: `computed(() => expr)`;
12
- */
13
- export declare const computed: IComputedFactory;
1
+ import { IComputedValueOptions, Annotation, IComputedValue } from "../internal";
2
+ import type { ClassGetterDecorator } from "../types/decorator_fills";
3
+ export declare const COMPUTED = "computed";
4
+ export declare const COMPUTED_STRUCT = "computed.struct";
5
+ export interface IComputedFactory extends Annotation, PropertyDecorator, ClassGetterDecorator {
6
+ <T>(options: IComputedValueOptions<T>): Annotation & PropertyDecorator & ClassGetterDecorator;
7
+ <T>(func: () => T, options?: IComputedValueOptions<T>): IComputedValue<T>;
8
+ struct: Annotation & PropertyDecorator & ClassGetterDecorator;
9
+ }
10
+ /**
11
+ * Decorator for class properties: @computed get value() { return expr; }.
12
+ * For legacy purposes also invokable as ES5 observable created: `computed(() => expr)`;
13
+ */
14
+ export declare const computed: IComputedFactory;
@@ -1,17 +1,17 @@
1
- export declare function configure(options: {
2
- enforceActions?: "never" | "always" | "observed";
3
- computedRequiresReaction?: boolean;
4
- /**
5
- * Warn if you try to create to derivation / reactive context without accessing any observable.
6
- */
7
- reactionRequiresObservable?: boolean;
8
- /**
9
- * Warn if observables are accessed outside a reactive context
10
- */
11
- observableRequiresReaction?: boolean;
12
- isolateGlobalState?: boolean;
13
- disableErrorBoundaries?: boolean;
14
- safeDescriptors?: boolean;
15
- reactionScheduler?: (f: () => void) => void;
16
- useProxies?: "always" | "never" | "ifavailable";
17
- }): void;
1
+ export declare function configure(options: {
2
+ enforceActions?: "never" | "always" | "observed";
3
+ computedRequiresReaction?: boolean;
4
+ /**
5
+ * Warn if you try to create to derivation / reactive context without accessing any observable.
6
+ */
7
+ reactionRequiresObservable?: boolean;
8
+ /**
9
+ * Warn if observables are accessed outside a reactive context
10
+ */
11
+ observableRequiresReaction?: boolean;
12
+ isolateGlobalState?: boolean;
13
+ disableErrorBoundaries?: boolean;
14
+ safeDescriptors?: boolean;
15
+ reactionScheduler?: (f: () => void) => void;
16
+ useProxies?: "always" | "never" | "ifavailable";
17
+ }): void;
@@ -1,17 +1,20 @@
1
- import { Annotation, AnnotationsMap } from "../internal";
2
- export declare const storedAnnotationsSymbol: unique symbol;
3
- /**
4
- * Creates a function that acts as
5
- * - decorator
6
- * - annotation object
7
- */
8
- export declare function createDecoratorAnnotation(annotation: Annotation): PropertyDecorator & Annotation;
9
- /**
10
- * Stores annotation to prototype,
11
- * so it can be inspected later by `makeObservable` called from constructor
12
- */
13
- export declare function storeAnnotation(prototype: any, key: PropertyKey, annotation: Annotation): void;
14
- /**
15
- * Collects annotations from prototypes and stores them on target (instance)
16
- */
17
- export declare function collectStoredAnnotations(target: any): AnnotationsMap<any, any>;
1
+ import { Annotation, AnnotationsMap } from "../internal";
2
+ import type { Decorator } from "../types/decorator_fills";
3
+ export declare const storedAnnotationsSymbol: unique symbol;
4
+ /**
5
+ * Creates a function that acts as
6
+ * - decorator
7
+ * - annotation object
8
+ */
9
+ export declare function createDecoratorAnnotation<D extends Decorator = Decorator>(annotation: Annotation): PropertyDecorator & Annotation & D;
10
+ /**
11
+ * Stores annotation to prototype,
12
+ * so it can be inspected later by `makeObservable` called from constructor
13
+ */
14
+ export declare function storeAnnotation(prototype: any, key: PropertyKey, annotation: Annotation): void;
15
+ /**
16
+ * Collects annotations from prototypes and stores them on target (instance)
17
+ */
18
+ export declare function collectStoredAnnotations(target: any): AnnotationsMap<any, any>;
19
+ export declare function is20223Decorator(context: any): context is DecoratorContext;
20
+ export declare function assert20223DecoratorType(context: DecoratorContext, types: DecoratorContext["kind"][]): void;
@@ -1,2 +1,2 @@
1
- import { CreateObservableOptions, AnnotationsMap } from "../internal";
2
- export declare function extendObservable<A extends Object, B extends Object>(target: A, properties: B, annotations?: AnnotationsMap<B, never>, options?: CreateObservableOptions): A & B;
1
+ import { CreateObservableOptions, AnnotationsMap } from "../internal";
2
+ export declare function extendObservable<A extends Object, B extends Object>(target: A, properties: B, annotations?: AnnotationsMap<B, never>, options?: CreateObservableOptions): A & B;
@@ -1,10 +1,10 @@
1
- export interface IDependencyTree {
2
- name: string;
3
- dependencies?: IDependencyTree[];
4
- }
5
- export interface IObserverTree {
6
- name: string;
7
- observers?: IObserverTree[];
8
- }
9
- export declare function getDependencyTree(thing: any, property?: string): IDependencyTree;
10
- export declare function getObserverTree(thing: any, property?: string): IObserverTree;
1
+ export interface IDependencyTree {
2
+ name: string;
3
+ dependencies?: IDependencyTree[];
4
+ }
5
+ export interface IObserverTree {
6
+ name: string;
7
+ observers?: IObserverTree[];
8
+ }
9
+ export declare function getDependencyTree(thing: any, property?: string): IDependencyTree;
10
+ export declare function getObserverTree(thing: any, property?: string): IObserverTree;
@@ -1,18 +1,19 @@
1
- import { Annotation } from "../internal";
2
- export declare const FLOW = "flow";
3
- export declare function FlowCancellationError(): void;
4
- export declare namespace FlowCancellationError {
5
- var prototype: any;
6
- }
7
- export declare function isFlowCancellationError(error: Error): boolean;
8
- export declare type CancellablePromise<T> = Promise<T> & {
9
- cancel(): void;
10
- };
11
- interface Flow extends Annotation, PropertyDecorator {
12
- <R, Args extends any[]>(generator: (...args: Args) => Generator<any, R, any> | AsyncGenerator<any, R, any>): (...args: Args) => CancellablePromise<R>;
13
- bound: Annotation & PropertyDecorator;
14
- }
15
- export declare const flow: Flow;
16
- export declare function flowResult<T>(result: T): T extends Generator<any, infer R, any> ? CancellablePromise<R> : T extends CancellablePromise<any> ? T : never;
17
- export declare function isFlow(fn: any): boolean;
18
- export {};
1
+ import { Annotation } from "../internal";
2
+ import type { ClassMethodDecorator } from "../types/decorator_fills";
3
+ export declare const FLOW = "flow";
4
+ export declare function FlowCancellationError(): void;
5
+ export declare namespace FlowCancellationError {
6
+ var prototype: any;
7
+ }
8
+ export declare function isFlowCancellationError(error: Error): boolean;
9
+ export type CancellablePromise<T> = Promise<T> & {
10
+ cancel(): void;
11
+ };
12
+ interface Flow extends Annotation, PropertyDecorator, ClassMethodDecorator {
13
+ <R, Args extends any[]>(generator: (...args: Args) => Generator<any, R, any> | AsyncGenerator<any, R, any>): (...args: Args) => CancellablePromise<R>;
14
+ bound: Annotation & PropertyDecorator & ClassMethodDecorator;
15
+ }
16
+ export declare const flow: Flow;
17
+ export declare function flowResult<T>(result: T): T extends Generator<any, infer R, any> ? CancellablePromise<R> : T extends CancellablePromise<any> ? T : never;
18
+ export declare function isFlow(fn: any): boolean;
19
+ export {};
@@ -1,8 +1,8 @@
1
- import { IObservableArray, IObservableValue, Lambda, ObservableMap, ObservableSet } from "../internal";
2
- export declare type ReadInterceptor<T> = (value: any) => T;
3
- /** Experimental feature right now, tested indirectly via Mobx-State-Tree */
4
- export declare function interceptReads<T>(value: IObservableValue<T>, handler: ReadInterceptor<T>): Lambda;
5
- export declare function interceptReads<T>(observableArray: IObservableArray<T>, handler: ReadInterceptor<T>): Lambda;
6
- export declare function interceptReads<K, V>(observableMap: ObservableMap<K, V>, handler: ReadInterceptor<V>): Lambda;
7
- export declare function interceptReads<V>(observableSet: ObservableSet<V>, handler: ReadInterceptor<V>): Lambda;
8
- export declare function interceptReads(object: Object, property: string, handler: ReadInterceptor<any>): Lambda;
1
+ import { IObservableArray, IObservableValue, Lambda, ObservableMap, ObservableSet } from "../internal";
2
+ export type ReadInterceptor<T> = (value: any) => T;
3
+ /** Experimental feature right now, tested indirectly via Mobx-State-Tree */
4
+ export declare function interceptReads<T>(value: IObservableValue<T>, handler: ReadInterceptor<T>): Lambda;
5
+ export declare function interceptReads<T>(observableArray: IObservableArray<T>, handler: ReadInterceptor<T>): Lambda;
6
+ export declare function interceptReads<K, V>(observableMap: ObservableMap<K, V>, handler: ReadInterceptor<V>): Lambda;
7
+ export declare function interceptReads<V>(observableSet: ObservableSet<V>, handler: ReadInterceptor<V>): Lambda;
8
+ export declare function interceptReads(object: Object, property: string, handler: ReadInterceptor<any>): Lambda;
@@ -1,8 +1,8 @@
1
- import { IArrayWillChange, IArrayWillSplice, IInterceptor, IMapWillChange, IObjectWillChange, IObservableArray, IObservableValue, IValueWillChange, Lambda, ObservableMap, ObservableSet, ISetWillChange } from "../internal";
2
- export declare function intercept<T>(value: IObservableValue<T>, handler: IInterceptor<IValueWillChange<T>>): Lambda;
3
- export declare function intercept<T>(observableArray: IObservableArray<T> | Array<T>, handler: IInterceptor<IArrayWillChange<T> | IArrayWillSplice<T>>): Lambda;
4
- export declare function intercept<K, V>(observableMap: ObservableMap<K, V> | Map<K, V>, handler: IInterceptor<IMapWillChange<K, V>>): Lambda;
5
- export declare function intercept<V>(observableSet: ObservableSet<V> | Set<V>, handler: IInterceptor<ISetWillChange<V>>): Lambda;
6
- export declare function intercept<K, V>(observableMap: ObservableMap<K, V> | Map<K, V>, property: K, handler: IInterceptor<IValueWillChange<V>>): Lambda;
7
- export declare function intercept(object: object, handler: IInterceptor<IObjectWillChange>): Lambda;
8
- export declare function intercept<T extends object, K extends keyof T>(object: T, property: K, handler: IInterceptor<IValueWillChange<T[K]>>): Lambda;
1
+ import { IArrayWillChange, IArrayWillSplice, IInterceptor, IMapWillChange, IObjectWillChange, IObservableArray, IObservableValue, IValueWillChange, Lambda, ObservableMap, ObservableSet, ISetWillChange } from "../internal";
2
+ export declare function intercept<T>(value: IObservableValue<T>, handler: IInterceptor<IValueWillChange<T>>): Lambda;
3
+ export declare function intercept<T>(observableArray: IObservableArray<T> | Array<T>, handler: IInterceptor<IArrayWillChange<T> | IArrayWillSplice<T>>): Lambda;
4
+ export declare function intercept<K, V>(observableMap: ObservableMap<K, V> | Map<K, V>, handler: IInterceptor<IMapWillChange<K, V>>): Lambda;
5
+ export declare function intercept<V>(observableSet: ObservableSet<V> | Set<V>, handler: IInterceptor<ISetWillChange<V>>): Lambda;
6
+ export declare function intercept<K, V>(observableMap: ObservableMap<K, V> | Map<K, V>, property: K, handler: IInterceptor<IValueWillChange<V>>): Lambda;
7
+ export declare function intercept(object: object, handler: IInterceptor<IObjectWillChange>): Lambda;
8
+ export declare function intercept<T extends object, K extends keyof T>(object: T, property: K, handler: IInterceptor<IValueWillChange<T[K]>>): Lambda;
@@ -1,3 +1,3 @@
1
- export declare function _isComputed(value: any, property?: PropertyKey): boolean;
2
- export declare function isComputed(value: any): boolean;
3
- export declare function isComputedProp(value: any, propName: PropertyKey): boolean;
1
+ export declare function _isComputed(value: any, property?: PropertyKey): boolean;
2
+ export declare function isComputed(value: any): boolean;
3
+ export declare function isComputedProp(value: any, propName: PropertyKey): boolean;
@@ -1,2 +1,2 @@
1
- export declare function isObservable(value: any): boolean;
2
- export declare function isObservableProp(value: any, propName: PropertyKey): boolean;
1
+ export declare function isObservable(value: any): boolean;
2
+ export declare function isObservableProp(value: any, propName: PropertyKey): boolean;
@@ -1,6 +1,6 @@
1
- import { AnnotationsMap, CreateObservableOptions } from "../internal";
2
- declare type NoInfer<T> = [T][T extends any ? 0 : never];
3
- declare type MakeObservableOptions = Omit<CreateObservableOptions, "proxy">;
4
- export declare function makeObservable<T extends object, AdditionalKeys extends PropertyKey = never>(target: T, annotations?: AnnotationsMap<T, NoInfer<AdditionalKeys>>, options?: MakeObservableOptions): T;
5
- export declare function makeAutoObservable<T extends object, AdditionalKeys extends PropertyKey = never>(target: T, overrides?: AnnotationsMap<T, NoInfer<AdditionalKeys>>, options?: MakeObservableOptions): T;
6
- export {};
1
+ import { AnnotationsMap, CreateObservableOptions } from "../internal";
2
+ type NoInfer<T> = [T][T extends any ? 0 : never];
3
+ type MakeObservableOptions = Omit<CreateObservableOptions, "proxy">;
4
+ export declare function makeObservable<T extends object, AdditionalKeys extends PropertyKey = never>(target: T, annotations?: AnnotationsMap<T, NoInfer<AdditionalKeys>>, options?: MakeObservableOptions): T;
5
+ export declare function makeAutoObservable<T extends object, AdditionalKeys extends PropertyKey = never>(target: T, overrides?: AnnotationsMap<T, NoInfer<AdditionalKeys>>, options?: MakeObservableOptions): T;
6
+ export {};
@@ -1,36 +1,36 @@
1
- import { IObservableArray, ObservableMap, ObservableSet } from "../internal";
2
- export declare function keys<K>(map: ObservableMap<K, any>): ReadonlyArray<K>;
3
- export declare function keys<T>(ar: IObservableArray<T>): ReadonlyArray<number>;
4
- export declare function keys<T>(set: ObservableSet<T>): ReadonlyArray<T>;
5
- export declare function keys<T extends Object>(obj: T): ReadonlyArray<PropertyKey>;
6
- export declare function values<K, T>(map: ObservableMap<K, T>): ReadonlyArray<T>;
7
- export declare function values<T>(set: ObservableSet<T>): ReadonlyArray<T>;
8
- export declare function values<T>(ar: IObservableArray<T>): ReadonlyArray<T>;
9
- export declare function values<T = any>(obj: T): ReadonlyArray<T extends object ? T[keyof T] : any>;
10
- export declare function entries<K, T>(map: ObservableMap<K, T>): ReadonlyArray<[K, T]>;
11
- export declare function entries<T>(set: ObservableSet<T>): ReadonlyArray<[T, T]>;
12
- export declare function entries<T>(ar: IObservableArray<T>): ReadonlyArray<[number, T]>;
13
- export declare function entries<T = any>(obj: T): ReadonlyArray<[string, T extends object ? T[keyof T] : any]>;
14
- export declare function set<V>(obj: ObservableMap<PropertyKey, V>, values: {
15
- [key: string]: V;
16
- }): any;
17
- export declare function set<K, V>(obj: ObservableMap<K, V>, key: K, value: V): any;
18
- export declare function set<T>(obj: ObservableSet<T>, value: T): any;
19
- export declare function set<T>(obj: IObservableArray<T>, index: number, value: T): any;
20
- export declare function set<T extends Object>(obj: T, values: {
21
- [key: string]: any;
22
- }): any;
23
- export declare function set<T extends Object>(obj: T, key: PropertyKey, value: any): any;
24
- export declare function remove<K, V>(obj: ObservableMap<K, V>, key: K): any;
25
- export declare function remove<T>(obj: ObservableSet<T>, key: T): any;
26
- export declare function remove<T>(obj: IObservableArray<T>, index: number): any;
27
- export declare function remove<T extends Object>(obj: T, key: string): any;
28
- export declare function has<K>(obj: ObservableMap<K, any>, key: K): boolean;
29
- export declare function has<T>(obj: ObservableSet<T>, key: T): boolean;
30
- export declare function has<T>(obj: IObservableArray<T>, index: number): boolean;
31
- export declare function has<T extends Object>(obj: T, key: string): boolean;
32
- export declare function get<K, V>(obj: ObservableMap<K, V>, key: K): V | undefined;
33
- export declare function get<T>(obj: IObservableArray<T>, index: number): T | undefined;
34
- export declare function get<T extends Object>(obj: T, key: string): any;
35
- export declare function apiDefineProperty(obj: Object, key: PropertyKey, descriptor: PropertyDescriptor): any;
36
- export declare function apiOwnKeys(obj: Object): any;
1
+ import { IObservableArray, ObservableMap, ObservableSet } from "../internal";
2
+ export declare function keys<K>(map: ObservableMap<K, any>): ReadonlyArray<K>;
3
+ export declare function keys<T>(ar: IObservableArray<T>): ReadonlyArray<number>;
4
+ export declare function keys<T>(set: ObservableSet<T>): ReadonlyArray<T>;
5
+ export declare function keys<T extends Object>(obj: T): ReadonlyArray<PropertyKey>;
6
+ export declare function values<K, T>(map: ObservableMap<K, T>): ReadonlyArray<T>;
7
+ export declare function values<T>(set: ObservableSet<T>): ReadonlyArray<T>;
8
+ export declare function values<T>(ar: IObservableArray<T>): ReadonlyArray<T>;
9
+ export declare function values<T = any>(obj: T): ReadonlyArray<T extends object ? T[keyof T] : any>;
10
+ export declare function entries<K, T>(map: ObservableMap<K, T>): ReadonlyArray<[K, T]>;
11
+ export declare function entries<T>(set: ObservableSet<T>): ReadonlyArray<[T, T]>;
12
+ export declare function entries<T>(ar: IObservableArray<T>): ReadonlyArray<[number, T]>;
13
+ export declare function entries<T = any>(obj: T): ReadonlyArray<[string, T extends object ? T[keyof T] : any]>;
14
+ export declare function set<V>(obj: ObservableMap<PropertyKey, V>, values: {
15
+ [key: string]: V;
16
+ }): any;
17
+ export declare function set<K, V>(obj: ObservableMap<K, V>, key: K, value: V): any;
18
+ export declare function set<T>(obj: ObservableSet<T>, value: T): any;
19
+ export declare function set<T>(obj: IObservableArray<T>, index: number, value: T): any;
20
+ export declare function set<T extends Object>(obj: T, values: {
21
+ [key: string]: any;
22
+ }): any;
23
+ export declare function set<T extends Object>(obj: T, key: PropertyKey, value: any): any;
24
+ export declare function remove<K, V>(obj: ObservableMap<K, V>, key: K): any;
25
+ export declare function remove<T>(obj: ObservableSet<T>, key: T): any;
26
+ export declare function remove<T>(obj: IObservableArray<T>, index: number): any;
27
+ export declare function remove<T extends Object>(obj: T, key: string): any;
28
+ export declare function has<K>(obj: ObservableMap<K, any>, key: K): boolean;
29
+ export declare function has<T>(obj: ObservableSet<T>, key: T): boolean;
30
+ export declare function has<T>(obj: IObservableArray<T>, index: number): boolean;
31
+ export declare function has<T extends Object>(obj: T, key: string): boolean;
32
+ export declare function get<K, V>(obj: ObservableMap<K, V>, key: K): V | undefined;
33
+ export declare function get<T>(obj: IObservableArray<T>, index: number): T | undefined;
34
+ export declare function get<T extends Object>(obj: T, key: string): any;
35
+ export declare function apiDefineProperty(obj: Object, key: PropertyKey, descriptor: PropertyDescriptor): any;
36
+ export declare function apiOwnKeys(obj: Object): any;
@@ -1,44 +1,45 @@
1
- import { IEnhancer, IEqualsComparer, IObservableArray, IObservableMapInitialValues, IObservableSetInitialValues, IObservableValue, ObservableMap, ObservableSet, Annotation, AnnotationsMap } from "../internal";
2
- export declare const OBSERVABLE = "observable";
3
- export declare const OBSERVABLE_REF = "observable.ref";
4
- export declare const OBSERVABLE_SHALLOW = "observable.shallow";
5
- export declare const OBSERVABLE_STRUCT = "observable.struct";
6
- export declare type CreateObservableOptions = {
7
- name?: string;
8
- equals?: IEqualsComparer<any>;
9
- deep?: boolean;
10
- defaultDecorator?: Annotation;
11
- proxy?: boolean;
12
- autoBind?: boolean;
13
- };
14
- export declare const defaultCreateObservableOptions: CreateObservableOptions;
15
- export declare function asCreateObservableOptions(thing: any): CreateObservableOptions;
16
- export declare function getEnhancerFromOptions(options: CreateObservableOptions): IEnhancer<any>;
17
- export declare function getAnnotationFromOptions(options?: CreateObservableOptions): Annotation | undefined;
18
- export declare function getEnhancerFromAnnotation(annotation?: Annotation): IEnhancer<any>;
19
- export interface IObservableValueFactory {
20
- <T>(value: T, options?: CreateObservableOptions): IObservableValue<T>;
21
- <T>(value?: T, options?: CreateObservableOptions): IObservableValue<T | undefined>;
22
- }
23
- export interface IObservableFactory extends Annotation, PropertyDecorator {
24
- <T = any>(value: T[], options?: CreateObservableOptions): IObservableArray<T>;
25
- <T = any>(value: Set<T>, options?: CreateObservableOptions): ObservableSet<T>;
26
- <K = any, V = any>(value: Map<K, V>, options?: CreateObservableOptions): ObservableMap<K, V>;
27
- <T extends object>(value: T, decorators?: AnnotationsMap<T, never>, options?: CreateObservableOptions): T;
28
- box: IObservableValueFactory;
29
- array: <T = any>(initialValues?: T[], options?: CreateObservableOptions) => IObservableArray<T>;
30
- set: <T = any>(initialValues?: IObservableSetInitialValues<T>, options?: CreateObservableOptions) => ObservableSet<T>;
31
- map: <K = any, V = any>(initialValues?: IObservableMapInitialValues<K, V>, options?: CreateObservableOptions) => ObservableMap<K, V>;
32
- object: <T = any>(props: T, decorators?: AnnotationsMap<T, never>, options?: CreateObservableOptions) => T;
33
- /**
34
- * Decorator that creates an observable that only observes the references, but doesn't try to turn the assigned value into an observable.ts.
35
- */
36
- ref: Annotation & PropertyDecorator;
37
- /**
38
- * Decorator that creates an observable converts its value (objects, maps or arrays) into a shallow observable structure
39
- */
40
- shallow: Annotation & PropertyDecorator;
41
- deep: Annotation & PropertyDecorator;
42
- struct: Annotation & PropertyDecorator;
43
- }
44
- export declare var observable: IObservableFactory;
1
+ import { IEnhancer, IEqualsComparer, IObservableArray, IObservableMapInitialValues, IObservableSetInitialValues, IObservableValue, ObservableMap, ObservableSet, Annotation, AnnotationsMap } from "../internal";
2
+ import type { ClassAccessorDecorator, ClassFieldDecorator } from "../types/decorator_fills";
3
+ export declare const OBSERVABLE = "observable";
4
+ export declare const OBSERVABLE_REF = "observable.ref";
5
+ export declare const OBSERVABLE_SHALLOW = "observable.shallow";
6
+ export declare const OBSERVABLE_STRUCT = "observable.struct";
7
+ export type CreateObservableOptions = {
8
+ name?: string;
9
+ equals?: IEqualsComparer<any>;
10
+ deep?: boolean;
11
+ defaultDecorator?: Annotation;
12
+ proxy?: boolean;
13
+ autoBind?: boolean;
14
+ };
15
+ export declare const defaultCreateObservableOptions: CreateObservableOptions;
16
+ export declare function asCreateObservableOptions(thing: any): CreateObservableOptions;
17
+ export declare function getEnhancerFromOptions(options: CreateObservableOptions): IEnhancer<any>;
18
+ export declare function getAnnotationFromOptions(options?: CreateObservableOptions): Annotation | undefined;
19
+ export declare function getEnhancerFromAnnotation(annotation?: Annotation): IEnhancer<any>;
20
+ export interface IObservableValueFactory {
21
+ <T>(value: T, options?: CreateObservableOptions): IObservableValue<T>;
22
+ <T>(value?: T, options?: CreateObservableOptions): IObservableValue<T | undefined>;
23
+ }
24
+ export interface IObservableFactory extends Annotation, PropertyDecorator, ClassAccessorDecorator, ClassFieldDecorator {
25
+ <T = any>(value: T[], options?: CreateObservableOptions): IObservableArray<T>;
26
+ <T = any>(value: Set<T>, options?: CreateObservableOptions): ObservableSet<T>;
27
+ <K = any, V = any>(value: Map<K, V>, options?: CreateObservableOptions): ObservableMap<K, V>;
28
+ <T extends object>(value: T, decorators?: AnnotationsMap<T, never>, options?: CreateObservableOptions): T;
29
+ box: IObservableValueFactory;
30
+ array: <T = any>(initialValues?: T[], options?: CreateObservableOptions) => IObservableArray<T>;
31
+ set: <T = any>(initialValues?: IObservableSetInitialValues<T>, options?: CreateObservableOptions) => ObservableSet<T>;
32
+ map: <K = any, V = any>(initialValues?: IObservableMapInitialValues<K, V>, options?: CreateObservableOptions) => ObservableMap<K, V>;
33
+ object: <T = any>(props: T, decorators?: AnnotationsMap<T, never>, options?: CreateObservableOptions) => T;
34
+ /**
35
+ * Decorator that creates an observable that only observes the references, but doesn't try to turn the assigned value into an observable.ts.
36
+ */
37
+ ref: Annotation & PropertyDecorator & ClassAccessorDecorator & ClassFieldDecorator;
38
+ /**
39
+ * Decorator that creates an observable converts its value (objects, maps or arrays) into a shallow observable structure
40
+ */
41
+ shallow: Annotation & PropertyDecorator & ClassAccessorDecorator & ClassFieldDecorator;
42
+ deep: Annotation & PropertyDecorator & ClassAccessorDecorator & ClassFieldDecorator;
43
+ struct: Annotation & PropertyDecorator & ClassAccessorDecorator & ClassFieldDecorator;
44
+ }
45
+ export declare var observable: IObservableFactory;
@@ -1,8 +1,8 @@
1
- import { IArrayDidChange, IComputedValue, IMapDidChange, IObjectDidChange, IObservableArray, IObservableValue, IValueDidChange, Lambda, ObservableMap, ObservableSet, ISetDidChange } from "../internal";
2
- export declare function observe<T>(value: IObservableValue<T> | IComputedValue<T>, listener: (change: IValueDidChange<T>) => void, fireImmediately?: boolean): Lambda;
3
- export declare function observe<T>(observableArray: IObservableArray<T> | Array<T>, listener: (change: IArrayDidChange<T>) => void, fireImmediately?: boolean): Lambda;
4
- export declare function observe<V>(observableSet: ObservableSet<V> | Set<V>, listener: (change: ISetDidChange<V>) => void, fireImmediately?: boolean): Lambda;
5
- export declare function observe<K, V>(observableMap: ObservableMap<K, V> | Map<K, V>, listener: (change: IMapDidChange<K, V>) => void, fireImmediately?: boolean): Lambda;
6
- export declare function observe<K, V>(observableMap: ObservableMap<K, V> | Map<K, V>, property: K, listener: (change: IValueDidChange<V>) => void, fireImmediately?: boolean): Lambda;
7
- export declare function observe(object: Object, listener: (change: IObjectDidChange) => void, fireImmediately?: boolean): Lambda;
8
- export declare function observe<T, K extends keyof T>(object: T, property: K, listener: (change: IValueDidChange<T[K]>) => void, fireImmediately?: boolean): Lambda;
1
+ import { IArrayDidChange, IComputedValue, IMapDidChange, IObjectDidChange, IObservableArray, IObservableValue, IValueDidChange, Lambda, ObservableMap, ObservableSet, ISetDidChange } from "../internal";
2
+ export declare function observe<T>(value: IObservableValue<T> | IComputedValue<T>, listener: (change: IValueDidChange<T>) => void, fireImmediately?: boolean): Lambda;
3
+ export declare function observe<T>(observableArray: IObservableArray<T> | Array<T>, listener: (change: IArrayDidChange<T>) => void, fireImmediately?: boolean): Lambda;
4
+ export declare function observe<V>(observableSet: ObservableSet<V> | Set<V>, listener: (change: ISetDidChange<V>) => void, fireImmediately?: boolean): Lambda;
5
+ export declare function observe<K, V>(observableMap: ObservableMap<K, V> | Map<K, V>, listener: (change: IMapDidChange<K, V>) => void, fireImmediately?: boolean): Lambda;
6
+ export declare function observe<K, V>(observableMap: ObservableMap<K, V> | Map<K, V>, property: K, listener: (change: IValueDidChange<V>) => void, fireImmediately?: boolean): Lambda;
7
+ export declare function observe(object: Object, listener: (change: IObjectDidChange) => void, fireImmediately?: boolean): Lambda;
8
+ export declare function observe<T, K extends keyof T>(object: T, property: K, listener: (change: IValueDidChange<T[K]>) => void, fireImmediately?: boolean): Lambda;
@@ -1,7 +1,7 @@
1
- /**
2
- * Recursively converts an observable to it's non-observable native counterpart.
3
- * It does NOT recurse into non-observables, these are left as they are, even if they contain observables.
4
- * Computed and other non-enumerable properties are completely ignored.
5
- * Complex scenarios require custom solution, eg implementing `toJSON` or using `serializr` lib.
6
- */
7
- export declare function toJS<T>(source: T, options?: any): T;
1
+ /**
2
+ * Recursively converts an observable to it's non-observable native counterpart.
3
+ * It does NOT recurse into non-observables, these are left as they are, even if they contain observables.
4
+ * Computed and other non-enumerable properties are completely ignored.
5
+ * Complex scenarios require custom solution, eg implementing `toJSON` or using `serializr` lib.
6
+ */
7
+ export declare function toJS<T>(source: T, options?: any): T;
@@ -1,3 +1,3 @@
1
- export declare function trace(thing?: any, prop?: string, enterBreakPoint?: boolean): void;
2
- export declare function trace(thing?: any, enterBreakPoint?: boolean): void;
3
- export declare function trace(enterBreakPoint?: boolean): void;
1
+ export declare function trace(thing?: any, prop?: string, enterBreakPoint?: boolean): void;
2
+ export declare function trace(thing?: any, enterBreakPoint?: boolean): void;
3
+ export declare function trace(enterBreakPoint?: boolean): void;