@legendapp/state 2.2.0-next.3 → 2.2.0-next.30

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 (108) hide show
  1. package/babel.js.map +1 -1
  2. package/config/enableDirectAccess.d.ts +1 -1
  3. package/config/enableDirectPeek.d.ts +1 -1
  4. package/config/enableReactDirectRender.js.map +1 -1
  5. package/config/enableReactDirectRender.mjs.map +1 -1
  6. package/config/enableReactTracking.d.ts +4 -3
  7. package/config/enableReactTracking.js.map +1 -1
  8. package/config/enableReactTracking.mjs.map +1 -1
  9. package/config/enableReactUse.d.ts +1 -1
  10. package/helpers/fetch.d.ts +4 -3
  11. package/helpers/fetch.js.map +1 -1
  12. package/helpers/fetch.mjs.map +1 -1
  13. package/helpers/pageHash.js.map +1 -1
  14. package/helpers/pageHash.mjs.map +1 -1
  15. package/helpers/pageHashParams.js.map +1 -1
  16. package/helpers/pageHashParams.mjs.map +1 -1
  17. package/helpers/time.d.ts +2 -2
  18. package/helpers/time.js.map +1 -1
  19. package/helpers/time.mjs.map +1 -1
  20. package/history.js.map +1 -1
  21. package/history.mjs.map +1 -1
  22. package/index.d.ts +15 -4
  23. package/index.js +534 -242
  24. package/index.js.map +1 -1
  25. package/index.mjs +533 -243
  26. package/index.mjs.map +1 -1
  27. package/package.json +2 -10
  28. package/persist-plugins/async-storage.js.map +1 -1
  29. package/persist-plugins/async-storage.mjs.map +1 -1
  30. package/persist-plugins/fetch.js.map +1 -1
  31. package/persist-plugins/fetch.mjs.map +1 -1
  32. package/persist-plugins/firebase.js.map +1 -1
  33. package/persist-plugins/firebase.mjs.map +1 -1
  34. package/persist-plugins/indexeddb.js.map +1 -1
  35. package/persist-plugins/indexeddb.mjs.map +1 -1
  36. package/persist-plugins/local-storage.js +10 -2
  37. package/persist-plugins/local-storage.js.map +1 -1
  38. package/persist-plugins/local-storage.mjs +10 -2
  39. package/persist-plugins/local-storage.mjs.map +1 -1
  40. package/persist-plugins/mmkv.js.map +1 -1
  41. package/persist-plugins/mmkv.mjs.map +1 -1
  42. package/persist-plugins/query.js.map +1 -1
  43. package/persist-plugins/query.mjs.map +1 -1
  44. package/persist.d.ts +15 -1
  45. package/persist.js +365 -116
  46. package/persist.js.map +1 -1
  47. package/persist.mjs +366 -117
  48. package/persist.mjs.map +1 -1
  49. package/react-hooks/createObservableHook.js +1 -1
  50. package/react-hooks/createObservableHook.js.map +1 -1
  51. package/react-hooks/createObservableHook.mjs +1 -1
  52. package/react-hooks/createObservableHook.mjs.map +1 -1
  53. package/react-hooks/useFetch.d.ts +4 -3
  54. package/react-hooks/useFetch.js.map +1 -1
  55. package/react-hooks/useFetch.mjs.map +1 -1
  56. package/react-hooks/useHover.js.map +1 -1
  57. package/react-hooks/useHover.mjs.map +1 -1
  58. package/react-hooks/useMeasure.js.map +1 -1
  59. package/react-hooks/useMeasure.mjs.map +1 -1
  60. package/react-hooks/useObservableNextRouter.js.map +1 -1
  61. package/react-hooks/useObservableNextRouter.mjs.map +1 -1
  62. package/react-hooks/useObservableQuery.js.map +1 -1
  63. package/react-hooks/useObservableQuery.mjs.map +1 -1
  64. package/react-hooks/usePersistedObservable.d.ts +2 -2
  65. package/react-hooks/usePersistedObservable.js +3 -3
  66. package/react-hooks/usePersistedObservable.js.map +1 -1
  67. package/react-hooks/usePersistedObservable.mjs +3 -3
  68. package/react-hooks/usePersistedObservable.mjs.map +1 -1
  69. package/react.js +13 -8
  70. package/react.js.map +1 -1
  71. package/react.mjs +14 -9
  72. package/react.mjs.map +1 -1
  73. package/src/ObservableObject.d.ts +8 -4
  74. package/src/ObservablePrimitive.d.ts +2 -1
  75. package/src/activated.d.ts +3 -0
  76. package/src/batching.d.ts +3 -1
  77. package/src/computed.d.ts +1 -1
  78. package/src/config/enableDirectAccess.d.ts +1 -1
  79. package/src/config/enableDirectPeek.d.ts +1 -1
  80. package/src/config/enableReactTracking.d.ts +4 -3
  81. package/src/config/enableReactUse.d.ts +1 -1
  82. package/src/createObservable.d.ts +2 -2
  83. package/src/globals.d.ts +11 -4
  84. package/src/helpers/fetch.d.ts +4 -3
  85. package/src/helpers/time.d.ts +2 -2
  86. package/src/helpers.d.ts +3 -2
  87. package/src/history/trackHistory.d.ts +1 -1
  88. package/src/observable.d.ts +6 -15
  89. package/src/observableInterfaces.d.ts +60 -331
  90. package/src/observableTypes.d.ts +93 -0
  91. package/src/persist/observablePersistRemoteFunctionsAdapter.d.ts +1 -1
  92. package/src/persist/persistActivateNode.d.ts +1 -0
  93. package/src/persist/persistHelpers.d.ts +1 -1
  94. package/src/persist/persistObservable.d.ts +3 -12
  95. package/src/persistTypes.d.ts +229 -0
  96. package/src/proxy.d.ts +2 -1
  97. package/src/react/Computed.d.ts +1 -1
  98. package/src/react/Switch.d.ts +3 -3
  99. package/src/react/reactInterfaces.d.ts +2 -1
  100. package/src/react/usePauseProvider.d.ts +3 -3
  101. package/src/react/useWhen.d.ts +2 -2
  102. package/src/react-hooks/useFetch.d.ts +4 -3
  103. package/src/react-hooks/usePersistedObservable.d.ts +2 -2
  104. package/src/retry.d.ts +6 -0
  105. package/src/trackSelector.d.ts +3 -2
  106. package/src/when.d.ts +6 -2
  107. package/trace.js.map +1 -1
  108. package/trace.mjs.map +1 -1
@@ -0,0 +1,229 @@
1
+ import type { AsyncStorageStatic } from '@react-native-async-storage/async-storage';
2
+ import type { DatabaseReference, Query } from 'firebase/database';
3
+ import { ArrayValue, Change, ClassConstructor, RecordValue, RetryOptions, Selector, TypeAtPath } from './observableInterfaces';
4
+ import { Observable, ObservableReadable, ObservableState } from './observableTypes';
5
+ export interface PersistTransform<T = any> {
6
+ in?: (value: T) => T | Promise<T>;
7
+ out?: (value: T) => T | Promise<T>;
8
+ }
9
+ export interface PersistOptionsLocal<T = any> {
10
+ name: string;
11
+ transform?: PersistTransform<T>;
12
+ fieldTransforms?: FieldTransforms<T>;
13
+ readonly?: boolean;
14
+ mmkv?: MMKVConfiguration;
15
+ indexedDB?: {
16
+ prefixID?: string;
17
+ itemID?: string;
18
+ };
19
+ options?: any;
20
+ }
21
+ export type PersistOptionsRemote<T = any> = ObservablePersistenceConfigRemoteGlobalOptions & {
22
+ readonly?: boolean;
23
+ waitForGet?: Selector<any>;
24
+ waitForSet?: Selector<any> | ((changes: Change[]) => any);
25
+ manual?: boolean;
26
+ fieldTransforms?: FieldTransforms<T>;
27
+ allowSetIfError?: boolean;
28
+ transform?: PersistTransform<T>;
29
+ firebase?: {
30
+ refPath: (uid: string | undefined) => string;
31
+ query?: (ref: DatabaseReference) => DatabaseReference | Query;
32
+ queryByModified?: QueryByModified<T>;
33
+ ignoreKeys?: string[];
34
+ requireAuth?: boolean;
35
+ mode?: 'once' | 'realtime';
36
+ };
37
+ offlineBehavior?: false | 'retry';
38
+ changeTimeout?: number;
39
+ metadataTimeout?: number;
40
+ retry?: RetryOptions;
41
+ onGetError?: (error: Error) => void;
42
+ onSetError?: (error: Error) => void;
43
+ log?: (message?: any, ...optionalParams: any[]) => void;
44
+ onBeforeSet?: () => void;
45
+ onSet?: () => void;
46
+ };
47
+ export interface ObservablePersistenceConfigLocalGlobalOptions {
48
+ onGetError?: (error: Error) => void;
49
+ onSetError?: (error: Error) => void;
50
+ indexedDB?: {
51
+ databaseName: string;
52
+ version: number;
53
+ tableNames: string[];
54
+ };
55
+ asyncStorage?: {
56
+ AsyncStorage: AsyncStorageStatic;
57
+ preload?: boolean | string[];
58
+ };
59
+ }
60
+ export interface ObservablePersistenceConfigRemoteGlobalOptions {
61
+ saveTimeout?: number;
62
+ dateModifiedKey?: string;
63
+ offlineBehavior?: false | 'retry';
64
+ onGetError?: (error: Error) => void;
65
+ onSetError?: (error: Error) => void;
66
+ log?: (logLevel: 'verbose' | 'warning' | 'error', message: any, ...optionalParams: any[]) => void;
67
+ onBeforeSet?: () => void;
68
+ onSet?: () => void;
69
+ }
70
+ export interface ObservablePersistenceConfig {
71
+ pluginLocal?: ClassConstructor<ObservablePersistLocal>;
72
+ pluginRemote?: ClassConstructor<ObservablePersistRemoteClass> | ObservablePersistRemoteFunctions;
73
+ localOptions?: ObservablePersistenceConfigLocalGlobalOptions;
74
+ remoteOptions?: ObservablePersistenceConfigRemoteGlobalOptions;
75
+ }
76
+ export interface PersistOptions<T = any> {
77
+ local?: string | PersistOptionsLocal<T>;
78
+ remote?: PersistOptionsRemote<T>;
79
+ pluginLocal?: ClassConstructor<ObservablePersistLocal>;
80
+ pluginRemote?: ClassConstructor<ObservablePersistRemoteClass> | ObservablePersistRemoteFunctions<T>;
81
+ }
82
+ export interface PersistMetadata {
83
+ id?: '__legend_metadata';
84
+ lastSync?: number;
85
+ pending?: any;
86
+ }
87
+ export interface ObservablePersistLocal {
88
+ initialize?(config: ObservablePersistenceConfigLocalGlobalOptions): void | Promise<void>;
89
+ loadTable?(table: string, config: PersistOptionsLocal): Promise<any> | void;
90
+ getTable<T = any>(table: string, config: PersistOptionsLocal): T;
91
+ set(table: string, changes: Change[], config: PersistOptionsLocal): Promise<any> | void;
92
+ deleteTable(table: string, config: PersistOptionsLocal): Promise<any> | void;
93
+ getMetadata(table: string, config: PersistOptionsLocal): PersistMetadata;
94
+ setMetadata(table: string, metadata: PersistMetadata, config: PersistOptionsLocal): Promise<any> | void;
95
+ deleteMetadata(table: string, config: PersistOptionsLocal): Promise<any> | void;
96
+ }
97
+ export interface ObservableOnChangeParams {
98
+ value: unknown;
99
+ path?: string[];
100
+ pathTypes?: TypeAtPath[];
101
+ mode?: 'assign' | 'set' | 'dateModified' | 'lastSync' | 'merge';
102
+ dateModified?: number | undefined;
103
+ lastSync?: number | undefined;
104
+ }
105
+ export interface ObservablePersistRemoteSetParams<T> {
106
+ syncState: Observable<ObservablePersistState>;
107
+ obs: Observable<T>;
108
+ options: PersistOptions<T>;
109
+ changes: Change[];
110
+ value: T;
111
+ }
112
+ export interface ObservablePersistRemoteGetParams<T> {
113
+ state: Observable<ObservablePersistState>;
114
+ obs: ObservableReadable<T>;
115
+ options: PersistOptions<T>;
116
+ dateModified?: number;
117
+ lastSync?: number;
118
+ mode?: 'assign' | 'set' | 'dateModified' | 'merge';
119
+ onGet: () => void;
120
+ onError: (error: Error) => void;
121
+ onChange: (params: ObservableOnChangeParams) => void | Promise<void>;
122
+ }
123
+ export type ObservablePersistRemoteGetFnParams<T> = Omit<ObservablePersistRemoteGetParams<T>, 'onGet'>;
124
+ export interface ObservablePersistRemoteClass {
125
+ get?<T>(params: ObservablePersistRemoteGetParams<T>): void;
126
+ set?<T>(params: ObservablePersistRemoteSetParams<T>): void | Promise<void | {
127
+ changes?: object;
128
+ dateModified?: number;
129
+ lastSync?: number;
130
+ pathStrs?: string[];
131
+ }>;
132
+ }
133
+ export interface ObservablePersistRemoteFunctions<T = any> {
134
+ get?(params: ObservablePersistRemoteGetFnParams<T>): T | Promise<T>;
135
+ set?(params: ObservablePersistRemoteSetParams<T>): void | Promise<void | {
136
+ changes?: object | undefined;
137
+ dateModified?: number;
138
+ lastSync?: number;
139
+ }>;
140
+ }
141
+ export interface ObservablePersistStateBase {
142
+ isLoadedLocal: boolean;
143
+ isEnabledLocal: boolean;
144
+ isEnabledRemote: boolean;
145
+ dateModified?: number;
146
+ lastSync?: number;
147
+ syncCount?: number;
148
+ clearLocal: () => Promise<void>;
149
+ sync: () => Promise<void>;
150
+ getPendingChanges: () => Record<string, {
151
+ p: any;
152
+ v?: any;
153
+ }> | undefined;
154
+ }
155
+ export type ObservablePersistState = ObservableState & ObservablePersistStateBase;
156
+ export type ObservablePersistStateInternal = ObservablePersistState & {
157
+ refreshNum: number;
158
+ };
159
+ export interface WithPersistState {
160
+ state?: ObservablePersistState;
161
+ _state?: ObservablePersistState;
162
+ }
163
+ export interface CacheOptions<T = any> {
164
+ local: string | PersistOptionsLocal<T>;
165
+ pluginLocal?: ClassConstructor<ObservablePersistLocal, T[]>;
166
+ }
167
+ declare type ObjectKeys<T> = Pick<T, {
168
+ [K in keyof T]-?: K extends string ? T[K] extends Record<string, any> ? T[K] extends any[] ? never : K : never : never;
169
+ }[keyof T]>;
170
+ declare type DictKeys<T> = Pick<T, {
171
+ [K in keyof T]-?: K extends string ? (T[K] extends Record<string, Record<string, any>> ? K : never) : never;
172
+ }[keyof T]>;
173
+ declare type ArrayKeys<T> = Pick<T, {
174
+ [K in keyof T]-?: K extends string | number ? (T[K] extends any[] ? K : never) : never;
175
+ }[keyof T]>;
176
+ export declare type FieldTransforms<T> = (T extends Record<string, Record<string, any>> ? {
177
+ _dict: FieldTransformsInner<RecordValue<T>>;
178
+ } : never) | FieldTransformsInner<T>;
179
+ export declare type FieldTransformsInner<T> = {
180
+ [K in keyof T]: string;
181
+ } & ({
182
+ [K in keyof ObjectKeys<T> as `${K}_obj`]?: FieldTransforms<T[K]>;
183
+ } | {
184
+ [K in keyof DictKeys<T> as `${K}_dict`]?: FieldTransforms<RecordValue<T[K]>>;
185
+ }) & {
186
+ [K in keyof ArrayKeys<T> as `${K}_arr`]?: FieldTransforms<ArrayValue<T[K]>>;
187
+ } & {
188
+ [K in keyof ArrayKeys<T> as `${K}_val`]?: FieldTransforms<ArrayValue<T[K]>>;
189
+ };
190
+ export type QueryByModified<T> = boolean | {
191
+ [K in keyof T]?: QueryByModified<T[K]>;
192
+ } | {
193
+ '*'?: boolean;
194
+ };
195
+ interface MMKVConfiguration {
196
+ /**
197
+ * The MMKV instance's ID. If you want to use multiple instances, make sure to use different IDs!
198
+ *
199
+ * @example
200
+ * ```ts
201
+ * const userStorage = new MMKV({ id: `user-${userId}-storage` })
202
+ * const globalStorage = new MMKV({ id: 'global-app-storage' })
203
+ * ```
204
+ *
205
+ * @default 'mmkv.default'
206
+ */
207
+ id: string;
208
+ /**
209
+ * The MMKV instance's root path. By default, MMKV stores file inside `$(Documents)/mmkv/`. You can customize MMKV's root directory on MMKV initialization:
210
+ *
211
+ * @example
212
+ * ```ts
213
+ * const temporaryStorage = new MMKV({ path: '/tmp/' })
214
+ * ```
215
+ */
216
+ path?: string;
217
+ /**
218
+ * The MMKV instance's encryption/decryption key. By default, MMKV stores all key-values in plain text on file, relying on iOS's sandbox to make sure the file is encrypted. Should you worry about information leaking, you can choose to encrypt MMKV.
219
+ *
220
+ * Encryption keys can have a maximum length of 16 bytes.
221
+ *
222
+ * @example
223
+ * ```ts
224
+ * const secureStorage = new MMKV({ encryptionKey: 'my-encryption-key!' })
225
+ * ```
226
+ */
227
+ encryptionKey?: string;
228
+ }
229
+ export {};
package/src/proxy.d.ts CHANGED
@@ -1,4 +1,5 @@
1
- import { ObservableProxy, ObservableProxyLink, ObservableProxyTwoWay, Observable as ObservableWriteable } from './observableInterfaces';
1
+ import { ObservableWriteable } from './observableTypes';
2
+ import { ObservableProxy, ObservableProxyLink, ObservableProxyTwoWay } from './observableInterfaces';
2
3
  export declare function proxy<T, T2 = T>(get: (key: string) => T, set: (key: string, value: T2) => void): ObservableProxyTwoWay<Record<string, T>, T2>;
3
4
  export declare function proxy<T extends Record<string, any>>(get: <K extends keyof T>(key: K) => ObservableWriteable<T[K]>): ObservableProxyLink<T>;
4
5
  export declare function proxy<T>(get: (key: string) => ObservableWriteable<T>): ObservableProxyLink<Record<string, T>>;
@@ -1,5 +1,5 @@
1
1
  import { ReactElement, ReactNode } from 'react';
2
- import type { ObservableReadable } from '../observableInterfaces';
2
+ import type { ObservableReadable } from '../observableTypes';
3
3
  export declare function Computed({ children }: {
4
4
  children: ObservableReadable | (() => ReactNode);
5
5
  }): ReactElement;
@@ -3,12 +3,12 @@ import { ReactElement, ReactNode } from 'react';
3
3
  export declare function Switch<T extends object>({ value, children, }: {
4
4
  value?: Selector<T>;
5
5
  children: Partial<Record<keyof T | 'null' | 'undefined' | 'default', () => ReactNode>>;
6
- }): ReactElement;
6
+ }): ReactElement | null;
7
7
  export declare function Switch<T extends string | number | symbol>({ value, children, }: {
8
8
  value?: Selector<T>;
9
9
  children: Partial<Record<T | 'null' | 'undefined' | 'default', () => ReactNode>>;
10
- }): ReactElement;
10
+ }): ReactElement | null;
11
11
  export declare function Switch<T extends boolean>({ value, children, }: {
12
12
  value?: Selector<T>;
13
13
  children: Partial<Record<'false' | 'true' | 'null' | 'undefined' | 'default', () => ReactNode>>;
14
- }): ReactElement;
14
+ }): ReactElement | null;
@@ -1,5 +1,6 @@
1
1
  import type { FC, LegacyRef, ReactNode } from 'react';
2
- import type { Observable, Selector } from '../observableInterfaces';
2
+ import type { Observable } from '../observableTypes';
3
+ import type { Selector } from '../observableInterfaces';
3
4
  export type ShapeWithNew$<T> = Partial<Omit<T, 'children'>> & {
4
5
  [K in keyof T as K extends `$${string & K}` ? K : `$${string & K}`]?: Selector<T[K]>;
5
6
  } & {
@@ -1,8 +1,8 @@
1
1
  import { ReactNode } from 'react';
2
- export declare const PauseContext: import("react").Context<import("@legendapp/state").ObservablePrimitiveBaseFns<boolean> & import("@legendapp/state").ObservablePrimitiveBooleanFns<boolean>>;
2
+ export declare const PauseContext: import("react").Context<import("../observableTypes").ObservableBoolean>;
3
3
  export declare function usePauseProvider(): {
4
4
  PauseProvider: ({ children }: {
5
5
  children: ReactNode;
6
- }) => import("react").FunctionComponentElement<import("react").ProviderProps<import("@legendapp/state").ObservablePrimitiveBaseFns<boolean> & import("@legendapp/state").ObservablePrimitiveBooleanFns<boolean>>>;
7
- isPaused$: import("@legendapp/state").ObservablePrimitiveBaseFns<boolean> & import("@legendapp/state").ObservablePrimitiveBooleanFns<boolean>;
6
+ }) => import("react").FunctionComponentElement<import("react").ProviderProps<import("../observableTypes").ObservableBoolean>>;
7
+ isPaused$: import("../observableTypes").ObservableBoolean;
8
8
  };
@@ -1,3 +1,3 @@
1
1
  import { Selector } from '@legendapp/state';
2
- export declare function useWhen<T>(predicate: Selector<T>, effect: (value: T) => any | (() => any)): Promise<T>;
3
- export declare function useWhenReady<T>(predicate: Selector<T>, effect: (value: T) => any | (() => any)): Promise<T>;
2
+ export declare function useWhen<T>(predicate: Selector<T>, effect: (value: T) => any | (() => any)): Promise<any>;
3
+ export declare function useWhenReady<T>(predicate: Selector<T>, effect: (value: T) => any | (() => any)): Promise<any>;
@@ -1,6 +1,7 @@
1
- export declare function useFetch<T>(input: RequestInfo | URL, init?: RequestInit, valueType?: 'arrayBuffer' | 'blob' | 'formData' | 'json' | 'text'): import("@legendapp/state").ObservableObject<{
2
- data?: T | undefined;
1
+ import { Observable } from '@legendapp/state';
2
+ export declare function useFetch<T>(input: RequestInfo | URL, init?: RequestInit, valueType?: 'arrayBuffer' | 'blob' | 'formData' | 'json' | 'text'): Observable<{
3
+ data?: T;
3
4
  error?: any;
4
- errorStr?: string | undefined;
5
+ errorStr?: string;
5
6
  loading: boolean;
6
7
  }>;
@@ -1,4 +1,4 @@
1
- import { Observable, PersistOptions, WithPersistState } from '@legendapp/state';
1
+ import { Observable, WithPersistState } from '@legendapp/state';
2
2
  import type { WithoutState } from '../persist/persistObservable';
3
3
  /**
4
4
  * A React hook that creates a new observable and can optionally listen or persist its state.
@@ -8,4 +8,4 @@ import type { WithoutState } from '../persist/persistObservable';
8
8
  *
9
9
  * @see https://www.legendapp.com/dev/state/react/#useObservable
10
10
  */
11
- export declare function usePersistedObservable<T extends WithoutState>(initialValue: T | (() => T) | (() => Promise<T>), options: PersistOptions<T>): Observable<WithPersistState & T>;
11
+ export declare function usePersistedObservable<T extends WithoutState>(): Observable<WithPersistState & T>;
package/src/retry.d.ts ADDED
@@ -0,0 +1,6 @@
1
+ import type { NodeValue } from './observableInterfaces';
2
+ export declare function runWithRetry<T>(node: NodeValue, state: {
3
+ attemptNum: number;
4
+ }, fn: (e: {
5
+ cancel?: boolean;
6
+ }) => T | Promise<T>): T | Promise<T>;
@@ -1,7 +1,8 @@
1
- import type { ListenerParams, ObservableListenerDispose, ObserveEvent, Selector } from './observableInterfaces';
1
+ import type { ListenerParams, NodeValue, ObservableListenerDispose, ObserveEvent, Selector, TrackingNode } from './observableInterfaces';
2
2
  import type { ObserveOptions } from './observe';
3
3
  export declare function trackSelector<T>(selector: Selector<T>, update: (params: ListenerParams) => void, observeEvent?: ObserveEvent<T>, observeOptions?: ObserveOptions, createResubscribe?: boolean): {
4
4
  value: any;
5
- dispose: ObservableListenerDispose | undefined;
5
+ nodes: Map<NodeValue, TrackingNode> | undefined;
6
+ dispose: (() => void) | undefined;
6
7
  resubscribe: ObservableListenerDispose | undefined;
7
8
  };
package/src/when.d.ts CHANGED
@@ -1,3 +1,7 @@
1
1
  import type { Selector } from './observableInterfaces';
2
- export declare function when<T>(predicate: Selector<T>, effect?: (value: T) => any | (() => any)): Promise<T>;
3
- export declare function whenReady<T>(predicate: Selector<T>, effect?: (value: T) => any | (() => any)): Promise<T>;
2
+ export declare function when<T, T2>(predicate: Promise<T>, effect: (value: T) => T2): Promise<T2>;
3
+ export declare function when<T, T2>(predicate: Selector<T>, effect: (value: T) => T2): Promise<T2>;
4
+ export declare function when<T>(predicate: Selector<T>): Promise<T>;
5
+ export declare function whenReady<T, T2>(predicate: Promise<T>, effect: (value: T) => T2): Promise<T2>;
6
+ export declare function whenReady<T, T2>(predicate: Selector<T>, effect: (value: T) => T2): Promise<T2>;
7
+ export declare function whenReady<T>(predicate: Selector<T>): Promise<T>;
package/trace.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"trace.js","sources":["../../src/trace/traceHelpers.ts","../../src/trace/useTraceListeners.ts","../../src/trace/useTraceUpdates.ts","../../src/trace/useVerifyNotTracking.ts","../../src/trace/useVerifyOneRender.ts"],"sourcesContent":[null,null,null,null,null],"names":["tracking","traceNodes","optimized","useRef"],"mappings":"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"}
1
+ {"version":3,"file":"trace.js","sources":["../../src/trace/traceHelpers.ts","../../src/trace/useTraceListeners.ts","../../src/trace/useTraceUpdates.ts","../../src/trace/useVerifyNotTracking.ts","../../src/trace/useVerifyOneRender.ts"],"sourcesContent":[null,null,null,null,null],"names":["tracking","traceNodes","optimized","useRef"],"mappings":"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"}
package/trace.mjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"trace.mjs","sources":["../../src/trace/traceHelpers.ts","../../src/trace/useTraceListeners.ts","../../src/trace/useTraceUpdates.ts","../../src/trace/useVerifyNotTracking.ts","../../src/trace/useVerifyOneRender.ts"],"sourcesContent":[null,null,null,null,null],"names":["traceNodes"],"mappings":"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"}
1
+ {"version":3,"file":"trace.mjs","sources":["../../src/trace/traceHelpers.ts","../../src/trace/useTraceListeners.ts","../../src/trace/useTraceUpdates.ts","../../src/trace/useVerifyNotTracking.ts","../../src/trace/useVerifyOneRender.ts"],"sourcesContent":[null,null,null,null,null],"names":["traceNodes"],"mappings":"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"}