@legendapp/state 3.0.0-beta.42 → 3.0.0-beta.44
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/config/enableReactComponents.d.mts +1 -0
- package/config/enableReactComponents.d.ts +1 -0
- package/config/enableReactNativeComponents.d.mts +1 -0
- package/config/enableReactNativeComponents.d.ts +1 -0
- package/index.d.mts +14 -6
- package/index.d.ts +14 -6
- package/index.js +25 -6
- package/index.mjs +25 -6
- package/package.json +1 -1
- package/persist-plugins/mmkv.d.mts +4 -3
- package/persist-plugins/mmkv.d.ts +4 -3
- package/persist-plugins/mmkv.js +41 -5
- package/persist-plugins/mmkv.mjs +21 -5
- package/react-hooks/createObservableHook.js +1 -1
- package/react-hooks/createObservableHook.mjs +1 -1
- package/react-reactive/enableReactComponents.d.mts +1 -0
- package/react-reactive/enableReactComponents.d.ts +1 -0
- package/react.d.mts +15 -12
- package/react.d.ts +15 -12
- package/react.js +3 -1
- package/react.mjs +3 -1
- package/sync-plugins/crud.d.mts +3 -2
- package/sync-plugins/crud.d.ts +3 -2
- package/sync-plugins/crud.js +12 -2
- package/sync-plugins/crud.mjs +12 -2
- package/sync-plugins/keel.js +1 -1
- package/sync-plugins/keel.mjs +1 -1
- package/sync-plugins/supabase.d.mts +2 -2
- package/sync-plugins/supabase.d.ts +2 -2
- package/sync.d.mts +4 -2
- package/sync.d.ts +4 -2
- package/sync.js +153 -24
- package/sync.mjs +153 -24
- package/types/reactive-web.d.ts +1 -0
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { JSX } from 'react';
|
|
1
2
|
import { FCReactiveObject, FCReactive } from '@legendapp/state/react';
|
|
2
3
|
import { ActivityIndicator, ActivityIndicatorProps, Button, ButtonProps, FlatList, FlatListProps, Image, ImageProps, Pressable, PressableProps, ScrollView, ScrollViewProps, SectionList, SectionListProps, Switch, SwitchProps, Text, TextProps, TextInput, TextInputProps, TouchableWithoutFeedback, TouchableWithoutFeedbackProps, View, ViewProps } from 'react-native';
|
|
3
4
|
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { JSX } from 'react';
|
|
1
2
|
import { FCReactiveObject, FCReactive } from '@legendapp/state/react';
|
|
2
3
|
import { ActivityIndicator, ActivityIndicatorProps, Button, ButtonProps, FlatList, FlatListProps, Image, ImageProps, Pressable, PressableProps, ScrollView, ScrollViewProps, SectionList, SectionListProps, Switch, SwitchProps, Text, TextProps, TextInput, TextInputProps, TouchableWithoutFeedback, TouchableWithoutFeedbackProps, View, ViewProps } from 'react-native';
|
|
3
4
|
|
package/index.d.mts
CHANGED
|
@@ -5,9 +5,9 @@ type RemoveIndex<T> = {
|
|
|
5
5
|
};
|
|
6
6
|
type BuiltIns = String | Boolean | Number | Date | Error | RegExp | Array<any> | Function | Promise<any>;
|
|
7
7
|
type IsUserDefinedObject<T> = T extends Function | BuiltIns | any[] ? false : T extends object ? true : false;
|
|
8
|
-
type RemoveObservables<T> = T extends ImmutableObservableBase<infer t> ? t : T extends ImmutableObservableBase<infer t>[] ? t[] : IsUserDefinedObject<T> extends true ? {
|
|
8
|
+
type RemoveObservables<T> = T extends OpaqueObject<infer t> ? t : T extends ImmutableObservableBase<infer t> ? t : T extends ImmutableObservableBase<infer t>[] ? t[] : IsUserDefinedObject<T> extends true ? {
|
|
9
9
|
[K in keyof T]: RemoveObservables<T[K]>;
|
|
10
|
-
} : T extends ImmutableObservableBase<infer TObs> ? TObs : T extends () => infer TRet ? RemoveObservables<TRet> & T : T extends (key: infer TKey extends string | number) => infer TRet ? Record<TKey, RemoveObservables<TRet>> & T : T
|
|
10
|
+
} : T extends ImmutableObservableBase<infer TObs> ? TObs : T extends () => infer TRet ? RemoveObservables<TRet> & T : T extends (key: infer TKey extends string | number) => infer TRet ? Record<TKey, RemoveObservables<TRet>> & T : T;
|
|
11
11
|
interface ObservableArray<T, U> extends ObservablePrimitive<T>, Pick<Array<Observable<U>>, ArrayOverrideFnNames>, Omit<RemoveIndex<Array<U>>, ArrayOverrideFnNames> {
|
|
12
12
|
}
|
|
13
13
|
interface ObservableObjectFns<T> {
|
|
@@ -29,7 +29,7 @@ type ObservableSet<T extends Set<any> | WeakSet<any>> = Omit<T, 'size' | 'add'>
|
|
|
29
29
|
size: number;
|
|
30
30
|
add: (value: SetValue<T>) => Observable<T>;
|
|
31
31
|
};
|
|
32
|
-
interface ObservableBoolean extends ObservablePrimitive<
|
|
32
|
+
interface ObservableBoolean<T = any> extends ObservablePrimitive<T> {
|
|
33
33
|
toggle(): void;
|
|
34
34
|
}
|
|
35
35
|
interface ObservablePrimitive<T> extends ImmutableObservableBase<T>, MutableObservableBase<T> {
|
|
@@ -87,7 +87,7 @@ type ObservableFunction<T> = T extends () => infer t ? t | (() => t) : T;
|
|
|
87
87
|
type IsLookupFunction<T> = T extends (...args: infer P) => any ? P extends {
|
|
88
88
|
length: 1;
|
|
89
89
|
} ? P[0] extends string | ObservablePrimitive<string> | number | ObservablePrimitive<number> ? true : false : false : false;
|
|
90
|
-
type ObservableNode<T, NT = NonNullable<T>> = [NT] extends [never] ? ObservablePrimitive<T> : IsStrictAny<T> extends true ? ObservableAny : [T] extends [Promise<infer t>] ? ObservableNode<t> : [T] extends [(key: infer K extends string) => infer t] ? [t] extends [ImmutableObservableBase<any>] ? IsLookupFunction<T> extends true ? Observable<Record<K, t>> : t : IsLookupFunction<T> extends true ? Observable<Record<K, t>> & T : Observable<ObservableFunction<t>> : [NT] extends [ImmutableObservableBase<any>] ? NT : [NT] extends [Primitive$1] ? [NT] extends [boolean] ? ObservableBoolean : ObservablePrimitive<T> : NT extends Map<any, any> | WeakMap<any, any> ? ObservableMap<NT> : NT extends Set<infer U> ? ObservableSet<Set<UndefinedIf<U, IsNullable<T>>>> : NT extends WeakSet<any> ? ObservableSet<NT> : NT extends Array<infer U> ? ObservableArray<T, U> & ObservableChildren<T> : ObservableObject<T> & {};
|
|
90
|
+
type ObservableNode<T, NT = NonNullable<T>> = [NT] extends [never] ? ObservablePrimitive<T> : IsStrictAny<T> extends true ? ObservableAny : [T] extends [Promise<infer t>] ? ObservableNode<t> : [T] extends [(key: infer K extends string) => infer t] ? [t] extends [ImmutableObservableBase<any>] ? IsLookupFunction<T> extends true ? Observable<Record<K, t>> : t : IsLookupFunction<T> extends true ? Observable<Record<K, t>> & T : Observable<ObservableFunction<t>> : [NT] extends [ImmutableObservableBase<any>] ? NT : [NT] extends [Primitive$1] ? [NT] extends [boolean] ? ObservableBoolean<T> : ObservablePrimitive<T> : NT extends Map<any, any> | WeakMap<any, any> ? ObservableMap<NT> : NT extends Set<infer U> ? ObservableSet<Set<UndefinedIf<U, IsNullable<T>>>> : NT extends WeakSet<any> ? ObservableSet<NT> : NT extends Array<infer U> ? ObservableArray<T, U> & ObservableChildren<T> : ObservableObject<T> & {};
|
|
91
91
|
type Observable<T = any> = ObservableNode<T> & {};
|
|
92
92
|
type ObservableParam<T = any> = ImmutableObservableSimple<T> & MutableObservableSimple;
|
|
93
93
|
type FixExpanded<T> = [T] extends [boolean] ? boolean : T;
|
|
@@ -146,6 +146,9 @@ interface Change {
|
|
|
146
146
|
valueAtPath: any;
|
|
147
147
|
prevAtPath: any;
|
|
148
148
|
}
|
|
149
|
+
interface ChangeWithPathStr extends Change {
|
|
150
|
+
pathStr: string;
|
|
151
|
+
}
|
|
149
152
|
type RecordValue<T> = T extends Record<string, infer t> ? t : never;
|
|
150
153
|
type ArrayValue<T> = T extends Array<infer t> ? t : never;
|
|
151
154
|
type ObservableValue<T> = T extends Observable<infer t> ? t : never;
|
|
@@ -253,8 +256,13 @@ interface UpdateFnParams<T = any> {
|
|
|
253
256
|
lastSync?: number | undefined;
|
|
254
257
|
changes?: Change[];
|
|
255
258
|
}
|
|
256
|
-
|
|
259
|
+
type DeepPartial<T> = T extends readonly (infer U)[] ? ReadonlyArray<DeepPartial<U>> : T extends Array<infer U> ? Array<DeepPartial<U>> : T extends object ? {
|
|
260
|
+
[K in keyof T]?: DeepPartial<T[K]>;
|
|
261
|
+
} : T;
|
|
262
|
+
interface UpdateSetFnParams<T = any> extends Omit<UpdateFnParams<T>, 'value'> {
|
|
263
|
+
value: DeepPartial<T>;
|
|
257
264
|
lastSync?: never;
|
|
265
|
+
changes?: ChangeWithPathStr[];
|
|
258
266
|
}
|
|
259
267
|
type UpdateFn<T = any> = (params: UpdateFnParams<T>) => void;
|
|
260
268
|
type UpdateSetFn<T = any> = (params: UpdateSetFnParams<T>) => void;
|
|
@@ -464,4 +472,4 @@ declare const internal: {
|
|
|
464
472
|
};
|
|
465
473
|
};
|
|
466
474
|
|
|
467
|
-
export { type ArrayValue, type Change, type ChildNodeInfo, type ClassConstructor, type GetMode, type GetOptions, type ImmutableObservableBase, type Linked, type LinkedOptions, type ListenerFn, type ListenerParams, type NodeInfo, type NodeListener, type NotPrimitive, type Observable, type ObservableBoolean, type ObservableEvent, ObservableHint, type ObservableListenerDispose, type ObservableMap, type ObservableObject, type ObservableObjectFns, type ObservableParam, type ObservablePrimitive, type ObservableRoot, type ObservableState, type ObservableSyncState, type ObservableSyncStateBase, type ObservableSyncStateOptions, type ObservableValue, type ObserveEvent, type ObserveEventCallback, type ObserveOptions, type OpaqueObject, type PlainObject, type Primitive, type RecordValue, type RecursiveValueOrFunction, type RemoveObservables, type RetryOptions, type RootNodeInfo, type Selector, type SetParams, type TrackingNode, type TrackingState, type TrackingType, type TypeAtPath, type UpdateFn, type UpdateFnParams, type UpdateSetFn, type UpdateSetFnParams, type WaitForSet, type WaitForSetFnParams, applyChange, applyChanges, batch, beginBatch, computeSelector, computed, constructObjectWithPath, deconstructObjectWithPath, endBatch, event, getObservableIndex, hasOwnProperty, internal, isArray, isBoolean, isDate, isEmpty, isFunction, isMap, isNullOrUndefined, isNumber, isObject, isObservable, isObservableValueReady, isObserved, isPlainObject, isPrimitive, isPromise, isSet, isString, isSymbol, linked, mergeIntoObservable, observable, observablePrimitive, observe, opaqueObject, proxy, setAtPath, setSilently, shouldIgnoreUnobserved, syncState, trackSelector, when, whenReady };
|
|
475
|
+
export { type ArrayValue, type Change, type ChangeWithPathStr, type ChildNodeInfo, type ClassConstructor, type GetMode, type GetOptions, type ImmutableObservableBase, type Linked, type LinkedOptions, type ListenerFn, type ListenerParams, type NodeInfo, type NodeListener, type NotPrimitive, type Observable, type ObservableBoolean, type ObservableEvent, ObservableHint, type ObservableListenerDispose, type ObservableMap, type ObservableObject, type ObservableObjectFns, type ObservableParam, type ObservablePrimitive, type ObservableRoot, type ObservableState, type ObservableSyncState, type ObservableSyncStateBase, type ObservableSyncStateOptions, type ObservableValue, type ObserveEvent, type ObserveEventCallback, type ObserveOptions, type OpaqueObject, type PlainObject, type Primitive, type RecordValue, type RecursiveValueOrFunction, type RemoveObservables, type RetryOptions, type RootNodeInfo, type Selector, type SetParams, type TrackingNode, type TrackingState, type TrackingType, type TypeAtPath, type UpdateFn, type UpdateFnParams, type UpdateSetFn, type UpdateSetFnParams, type WaitForSet, type WaitForSetFnParams, applyChange, applyChanges, batch, beginBatch, computeSelector, computed, constructObjectWithPath, deconstructObjectWithPath, endBatch, event, getObservableIndex, hasOwnProperty, internal, isArray, isBoolean, isDate, isEmpty, isFunction, isMap, isNullOrUndefined, isNumber, isObject, isObservable, isObservableValueReady, isObserved, isPlainObject, isPrimitive, isPromise, isSet, isString, isSymbol, linked, mergeIntoObservable, observable, observablePrimitive, observe, opaqueObject, proxy, setAtPath, setSilently, shouldIgnoreUnobserved, syncState, trackSelector, when, whenReady };
|
package/index.d.ts
CHANGED
|
@@ -5,9 +5,9 @@ type RemoveIndex<T> = {
|
|
|
5
5
|
};
|
|
6
6
|
type BuiltIns = String | Boolean | Number | Date | Error | RegExp | Array<any> | Function | Promise<any>;
|
|
7
7
|
type IsUserDefinedObject<T> = T extends Function | BuiltIns | any[] ? false : T extends object ? true : false;
|
|
8
|
-
type RemoveObservables<T> = T extends ImmutableObservableBase<infer t> ? t : T extends ImmutableObservableBase<infer t>[] ? t[] : IsUserDefinedObject<T> extends true ? {
|
|
8
|
+
type RemoveObservables<T> = T extends OpaqueObject<infer t> ? t : T extends ImmutableObservableBase<infer t> ? t : T extends ImmutableObservableBase<infer t>[] ? t[] : IsUserDefinedObject<T> extends true ? {
|
|
9
9
|
[K in keyof T]: RemoveObservables<T[K]>;
|
|
10
|
-
} : T extends ImmutableObservableBase<infer TObs> ? TObs : T extends () => infer TRet ? RemoveObservables<TRet> & T : T extends (key: infer TKey extends string | number) => infer TRet ? Record<TKey, RemoveObservables<TRet>> & T : T
|
|
10
|
+
} : T extends ImmutableObservableBase<infer TObs> ? TObs : T extends () => infer TRet ? RemoveObservables<TRet> & T : T extends (key: infer TKey extends string | number) => infer TRet ? Record<TKey, RemoveObservables<TRet>> & T : T;
|
|
11
11
|
interface ObservableArray<T, U> extends ObservablePrimitive<T>, Pick<Array<Observable<U>>, ArrayOverrideFnNames>, Omit<RemoveIndex<Array<U>>, ArrayOverrideFnNames> {
|
|
12
12
|
}
|
|
13
13
|
interface ObservableObjectFns<T> {
|
|
@@ -29,7 +29,7 @@ type ObservableSet<T extends Set<any> | WeakSet<any>> = Omit<T, 'size' | 'add'>
|
|
|
29
29
|
size: number;
|
|
30
30
|
add: (value: SetValue<T>) => Observable<T>;
|
|
31
31
|
};
|
|
32
|
-
interface ObservableBoolean extends ObservablePrimitive<
|
|
32
|
+
interface ObservableBoolean<T = any> extends ObservablePrimitive<T> {
|
|
33
33
|
toggle(): void;
|
|
34
34
|
}
|
|
35
35
|
interface ObservablePrimitive<T> extends ImmutableObservableBase<T>, MutableObservableBase<T> {
|
|
@@ -87,7 +87,7 @@ type ObservableFunction<T> = T extends () => infer t ? t | (() => t) : T;
|
|
|
87
87
|
type IsLookupFunction<T> = T extends (...args: infer P) => any ? P extends {
|
|
88
88
|
length: 1;
|
|
89
89
|
} ? P[0] extends string | ObservablePrimitive<string> | number | ObservablePrimitive<number> ? true : false : false : false;
|
|
90
|
-
type ObservableNode<T, NT = NonNullable<T>> = [NT] extends [never] ? ObservablePrimitive<T> : IsStrictAny<T> extends true ? ObservableAny : [T] extends [Promise<infer t>] ? ObservableNode<t> : [T] extends [(key: infer K extends string) => infer t] ? [t] extends [ImmutableObservableBase<any>] ? IsLookupFunction<T> extends true ? Observable<Record<K, t>> : t : IsLookupFunction<T> extends true ? Observable<Record<K, t>> & T : Observable<ObservableFunction<t>> : [NT] extends [ImmutableObservableBase<any>] ? NT : [NT] extends [Primitive$1] ? [NT] extends [boolean] ? ObservableBoolean : ObservablePrimitive<T> : NT extends Map<any, any> | WeakMap<any, any> ? ObservableMap<NT> : NT extends Set<infer U> ? ObservableSet<Set<UndefinedIf<U, IsNullable<T>>>> : NT extends WeakSet<any> ? ObservableSet<NT> : NT extends Array<infer U> ? ObservableArray<T, U> & ObservableChildren<T> : ObservableObject<T> & {};
|
|
90
|
+
type ObservableNode<T, NT = NonNullable<T>> = [NT] extends [never] ? ObservablePrimitive<T> : IsStrictAny<T> extends true ? ObservableAny : [T] extends [Promise<infer t>] ? ObservableNode<t> : [T] extends [(key: infer K extends string) => infer t] ? [t] extends [ImmutableObservableBase<any>] ? IsLookupFunction<T> extends true ? Observable<Record<K, t>> : t : IsLookupFunction<T> extends true ? Observable<Record<K, t>> & T : Observable<ObservableFunction<t>> : [NT] extends [ImmutableObservableBase<any>] ? NT : [NT] extends [Primitive$1] ? [NT] extends [boolean] ? ObservableBoolean<T> : ObservablePrimitive<T> : NT extends Map<any, any> | WeakMap<any, any> ? ObservableMap<NT> : NT extends Set<infer U> ? ObservableSet<Set<UndefinedIf<U, IsNullable<T>>>> : NT extends WeakSet<any> ? ObservableSet<NT> : NT extends Array<infer U> ? ObservableArray<T, U> & ObservableChildren<T> : ObservableObject<T> & {};
|
|
91
91
|
type Observable<T = any> = ObservableNode<T> & {};
|
|
92
92
|
type ObservableParam<T = any> = ImmutableObservableSimple<T> & MutableObservableSimple;
|
|
93
93
|
type FixExpanded<T> = [T] extends [boolean] ? boolean : T;
|
|
@@ -146,6 +146,9 @@ interface Change {
|
|
|
146
146
|
valueAtPath: any;
|
|
147
147
|
prevAtPath: any;
|
|
148
148
|
}
|
|
149
|
+
interface ChangeWithPathStr extends Change {
|
|
150
|
+
pathStr: string;
|
|
151
|
+
}
|
|
149
152
|
type RecordValue<T> = T extends Record<string, infer t> ? t : never;
|
|
150
153
|
type ArrayValue<T> = T extends Array<infer t> ? t : never;
|
|
151
154
|
type ObservableValue<T> = T extends Observable<infer t> ? t : never;
|
|
@@ -253,8 +256,13 @@ interface UpdateFnParams<T = any> {
|
|
|
253
256
|
lastSync?: number | undefined;
|
|
254
257
|
changes?: Change[];
|
|
255
258
|
}
|
|
256
|
-
|
|
259
|
+
type DeepPartial<T> = T extends readonly (infer U)[] ? ReadonlyArray<DeepPartial<U>> : T extends Array<infer U> ? Array<DeepPartial<U>> : T extends object ? {
|
|
260
|
+
[K in keyof T]?: DeepPartial<T[K]>;
|
|
261
|
+
} : T;
|
|
262
|
+
interface UpdateSetFnParams<T = any> extends Omit<UpdateFnParams<T>, 'value'> {
|
|
263
|
+
value: DeepPartial<T>;
|
|
257
264
|
lastSync?: never;
|
|
265
|
+
changes?: ChangeWithPathStr[];
|
|
258
266
|
}
|
|
259
267
|
type UpdateFn<T = any> = (params: UpdateFnParams<T>) => void;
|
|
260
268
|
type UpdateSetFn<T = any> = (params: UpdateSetFnParams<T>) => void;
|
|
@@ -464,4 +472,4 @@ declare const internal: {
|
|
|
464
472
|
};
|
|
465
473
|
};
|
|
466
474
|
|
|
467
|
-
export { type ArrayValue, type Change, type ChildNodeInfo, type ClassConstructor, type GetMode, type GetOptions, type ImmutableObservableBase, type Linked, type LinkedOptions, type ListenerFn, type ListenerParams, type NodeInfo, type NodeListener, type NotPrimitive, type Observable, type ObservableBoolean, type ObservableEvent, ObservableHint, type ObservableListenerDispose, type ObservableMap, type ObservableObject, type ObservableObjectFns, type ObservableParam, type ObservablePrimitive, type ObservableRoot, type ObservableState, type ObservableSyncState, type ObservableSyncStateBase, type ObservableSyncStateOptions, type ObservableValue, type ObserveEvent, type ObserveEventCallback, type ObserveOptions, type OpaqueObject, type PlainObject, type Primitive, type RecordValue, type RecursiveValueOrFunction, type RemoveObservables, type RetryOptions, type RootNodeInfo, type Selector, type SetParams, type TrackingNode, type TrackingState, type TrackingType, type TypeAtPath, type UpdateFn, type UpdateFnParams, type UpdateSetFn, type UpdateSetFnParams, type WaitForSet, type WaitForSetFnParams, applyChange, applyChanges, batch, beginBatch, computeSelector, computed, constructObjectWithPath, deconstructObjectWithPath, endBatch, event, getObservableIndex, hasOwnProperty, internal, isArray, isBoolean, isDate, isEmpty, isFunction, isMap, isNullOrUndefined, isNumber, isObject, isObservable, isObservableValueReady, isObserved, isPlainObject, isPrimitive, isPromise, isSet, isString, isSymbol, linked, mergeIntoObservable, observable, observablePrimitive, observe, opaqueObject, proxy, setAtPath, setSilently, shouldIgnoreUnobserved, syncState, trackSelector, when, whenReady };
|
|
475
|
+
export { type ArrayValue, type Change, type ChangeWithPathStr, type ChildNodeInfo, type ClassConstructor, type GetMode, type GetOptions, type ImmutableObservableBase, type Linked, type LinkedOptions, type ListenerFn, type ListenerParams, type NodeInfo, type NodeListener, type NotPrimitive, type Observable, type ObservableBoolean, type ObservableEvent, ObservableHint, type ObservableListenerDispose, type ObservableMap, type ObservableObject, type ObservableObjectFns, type ObservableParam, type ObservablePrimitive, type ObservableRoot, type ObservableState, type ObservableSyncState, type ObservableSyncStateBase, type ObservableSyncStateOptions, type ObservableValue, type ObserveEvent, type ObserveEventCallback, type ObserveOptions, type OpaqueObject, type PlainObject, type Primitive, type RecordValue, type RecursiveValueOrFunction, type RemoveObservables, type RetryOptions, type RootNodeInfo, type Selector, type SetParams, type TrackingNode, type TrackingState, type TrackingType, type TypeAtPath, type UpdateFn, type UpdateFnParams, type UpdateSetFn, type UpdateSetFnParams, type WaitForSet, type WaitForSetFnParams, applyChange, applyChanges, batch, beginBatch, computeSelector, computed, constructObjectWithPath, deconstructObjectWithPath, endBatch, event, getObservableIndex, hasOwnProperty, internal, isArray, isBoolean, isDate, isEmpty, isFunction, isMap, isNullOrUndefined, isNumber, isObject, isObservable, isObservableValueReady, isObserved, isPlainObject, isPrimitive, isPromise, isSet, isString, isSymbol, linked, mergeIntoObservable, observable, observablePrimitive, observe, opaqueObject, proxy, setAtPath, setSilently, shouldIgnoreUnobserved, syncState, trackSelector, when, whenReady };
|
package/index.js
CHANGED
|
@@ -416,10 +416,19 @@ function _mergeIntoObservable(target, source, levelsDeep) {
|
|
|
416
416
|
const isArr = !isObj && isArray(sourceValue);
|
|
417
417
|
const targetChild = target[key];
|
|
418
418
|
if ((isObj || isArr) && targetChild) {
|
|
419
|
-
if (
|
|
419
|
+
if (isArr) {
|
|
420
|
+
const sourceArr = sourceValue;
|
|
421
|
+
const isSparseArray = Object.keys(sourceArr).length < sourceArr.length;
|
|
422
|
+
if (isSparseArray) {
|
|
423
|
+
_mergeIntoObservable(targetChild, sourceValue, levelsDeep + 1);
|
|
424
|
+
} else {
|
|
425
|
+
targetChild.set(sourceValue);
|
|
426
|
+
}
|
|
427
|
+
} else if (levelsDeep > 0 && isEmpty(sourceValue)) {
|
|
420
428
|
targetChild.set(sourceValue);
|
|
429
|
+
} else {
|
|
430
|
+
_mergeIntoObservable(targetChild, sourceValue, levelsDeep + 1);
|
|
421
431
|
}
|
|
422
|
-
_mergeIntoObservable(targetChild, sourceValue, levelsDeep + 1);
|
|
423
432
|
} else {
|
|
424
433
|
targetChild.set(sourceValue);
|
|
425
434
|
}
|
|
@@ -1501,7 +1510,7 @@ function flushPending() {
|
|
|
1501
1510
|
}
|
|
1502
1511
|
var proxyHandler = {
|
|
1503
1512
|
get(node, p, receiver) {
|
|
1504
|
-
var _a, _b;
|
|
1513
|
+
var _a, _b, _c;
|
|
1505
1514
|
if (p === symbolToPrimitive) {
|
|
1506
1515
|
throw new Error(
|
|
1507
1516
|
process.env.NODE_ENV === "development" ? "[legend-state] observable should not be used as a primitive. You may have forgotten to use .get() or .peek() to get the value of the observable." : "[legend-state] observable is not a primitive."
|
|
@@ -1516,6 +1525,10 @@ var proxyHandler = {
|
|
|
1516
1525
|
return nodeValue[p];
|
|
1517
1526
|
}
|
|
1518
1527
|
}
|
|
1528
|
+
if (p === "constructor") {
|
|
1529
|
+
const ctor = (_a = peekInternal(node)) == null ? void 0 : _a.constructor;
|
|
1530
|
+
return typeof ctor === "function" ? ctor : Object;
|
|
1531
|
+
}
|
|
1519
1532
|
let value = peekInternal(
|
|
1520
1533
|
node,
|
|
1521
1534
|
/*activateRecursive*/
|
|
@@ -1561,7 +1574,7 @@ var proxyHandler = {
|
|
|
1561
1574
|
if (isObject(value) && isHintOpaque(value)) {
|
|
1562
1575
|
return vProp;
|
|
1563
1576
|
}
|
|
1564
|
-
const fnOrComputed = (
|
|
1577
|
+
const fnOrComputed = (_b = node.functions) == null ? void 0 : _b.get(p);
|
|
1565
1578
|
if (fnOrComputed) {
|
|
1566
1579
|
if (isObservable(fnOrComputed)) {
|
|
1567
1580
|
return fnOrComputed;
|
|
@@ -1614,7 +1627,7 @@ var proxyHandler = {
|
|
|
1614
1627
|
}
|
|
1615
1628
|
}
|
|
1616
1629
|
extractFunctionOrComputed(node, p, vProp);
|
|
1617
|
-
const fnOrComputed2 = (
|
|
1630
|
+
const fnOrComputed2 = (_c = node.functions) == null ? void 0 : _c.get(p);
|
|
1618
1631
|
if (fnOrComputed2) {
|
|
1619
1632
|
return getProxy(node, p, fnOrComputed2);
|
|
1620
1633
|
}
|
|
@@ -1689,7 +1702,13 @@ var proxyHandler = {
|
|
|
1689
1702
|
},
|
|
1690
1703
|
has(node, prop) {
|
|
1691
1704
|
const value = getNodeValue(node);
|
|
1692
|
-
|
|
1705
|
+
if (value === void 0 || value === null) {
|
|
1706
|
+
return false;
|
|
1707
|
+
}
|
|
1708
|
+
if (typeof value === "object" || typeof value === "function") {
|
|
1709
|
+
return Reflect.has(value, prop);
|
|
1710
|
+
}
|
|
1711
|
+
return false;
|
|
1693
1712
|
},
|
|
1694
1713
|
apply(target, thisArg, argArray) {
|
|
1695
1714
|
if (isObservable(thisArg)) {
|
package/index.mjs
CHANGED
|
@@ -414,10 +414,19 @@ function _mergeIntoObservable(target, source, levelsDeep) {
|
|
|
414
414
|
const isArr = !isObj && isArray(sourceValue);
|
|
415
415
|
const targetChild = target[key];
|
|
416
416
|
if ((isObj || isArr) && targetChild) {
|
|
417
|
-
if (
|
|
417
|
+
if (isArr) {
|
|
418
|
+
const sourceArr = sourceValue;
|
|
419
|
+
const isSparseArray = Object.keys(sourceArr).length < sourceArr.length;
|
|
420
|
+
if (isSparseArray) {
|
|
421
|
+
_mergeIntoObservable(targetChild, sourceValue, levelsDeep + 1);
|
|
422
|
+
} else {
|
|
423
|
+
targetChild.set(sourceValue);
|
|
424
|
+
}
|
|
425
|
+
} else if (levelsDeep > 0 && isEmpty(sourceValue)) {
|
|
418
426
|
targetChild.set(sourceValue);
|
|
427
|
+
} else {
|
|
428
|
+
_mergeIntoObservable(targetChild, sourceValue, levelsDeep + 1);
|
|
419
429
|
}
|
|
420
|
-
_mergeIntoObservable(targetChild, sourceValue, levelsDeep + 1);
|
|
421
430
|
} else {
|
|
422
431
|
targetChild.set(sourceValue);
|
|
423
432
|
}
|
|
@@ -1499,7 +1508,7 @@ function flushPending() {
|
|
|
1499
1508
|
}
|
|
1500
1509
|
var proxyHandler = {
|
|
1501
1510
|
get(node, p, receiver) {
|
|
1502
|
-
var _a, _b;
|
|
1511
|
+
var _a, _b, _c;
|
|
1503
1512
|
if (p === symbolToPrimitive) {
|
|
1504
1513
|
throw new Error(
|
|
1505
1514
|
process.env.NODE_ENV === "development" ? "[legend-state] observable should not be used as a primitive. You may have forgotten to use .get() or .peek() to get the value of the observable." : "[legend-state] observable is not a primitive."
|
|
@@ -1514,6 +1523,10 @@ var proxyHandler = {
|
|
|
1514
1523
|
return nodeValue[p];
|
|
1515
1524
|
}
|
|
1516
1525
|
}
|
|
1526
|
+
if (p === "constructor") {
|
|
1527
|
+
const ctor = (_a = peekInternal(node)) == null ? void 0 : _a.constructor;
|
|
1528
|
+
return typeof ctor === "function" ? ctor : Object;
|
|
1529
|
+
}
|
|
1517
1530
|
let value = peekInternal(
|
|
1518
1531
|
node,
|
|
1519
1532
|
/*activateRecursive*/
|
|
@@ -1559,7 +1572,7 @@ var proxyHandler = {
|
|
|
1559
1572
|
if (isObject(value) && isHintOpaque(value)) {
|
|
1560
1573
|
return vProp;
|
|
1561
1574
|
}
|
|
1562
|
-
const fnOrComputed = (
|
|
1575
|
+
const fnOrComputed = (_b = node.functions) == null ? void 0 : _b.get(p);
|
|
1563
1576
|
if (fnOrComputed) {
|
|
1564
1577
|
if (isObservable(fnOrComputed)) {
|
|
1565
1578
|
return fnOrComputed;
|
|
@@ -1612,7 +1625,7 @@ var proxyHandler = {
|
|
|
1612
1625
|
}
|
|
1613
1626
|
}
|
|
1614
1627
|
extractFunctionOrComputed(node, p, vProp);
|
|
1615
|
-
const fnOrComputed2 = (
|
|
1628
|
+
const fnOrComputed2 = (_c = node.functions) == null ? void 0 : _c.get(p);
|
|
1616
1629
|
if (fnOrComputed2) {
|
|
1617
1630
|
return getProxy(node, p, fnOrComputed2);
|
|
1618
1631
|
}
|
|
@@ -1687,7 +1700,13 @@ var proxyHandler = {
|
|
|
1687
1700
|
},
|
|
1688
1701
|
has(node, prop) {
|
|
1689
1702
|
const value = getNodeValue(node);
|
|
1690
|
-
|
|
1703
|
+
if (value === void 0 || value === null) {
|
|
1704
|
+
return false;
|
|
1705
|
+
}
|
|
1706
|
+
if (typeof value === "object" || typeof value === "function") {
|
|
1707
|
+
return Reflect.has(value, prop);
|
|
1708
|
+
}
|
|
1709
|
+
return false;
|
|
1691
1710
|
},
|
|
1692
1711
|
apply(target, thisArg, argArray) {
|
|
1693
1712
|
if (isObservable(thisArg)) {
|
package/package.json
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { Change } from '@legendapp/state';
|
|
2
2
|
import { ObservablePersistPlugin, PersistOptions, PersistMetadata } from '@legendapp/state/sync';
|
|
3
|
-
import
|
|
3
|
+
import * as mmkv from 'react-native-mmkv';
|
|
4
4
|
|
|
5
|
+
type Configuration = mmkv.Configuration;
|
|
5
6
|
declare class ObservablePersistMMKV implements ObservablePersistPlugin {
|
|
6
7
|
private data;
|
|
7
8
|
private storages;
|
|
8
9
|
private configuration;
|
|
9
|
-
constructor(configuration:
|
|
10
|
+
constructor(configuration: Configuration);
|
|
10
11
|
getTable<T = any>(table: string, init: object, config: PersistOptions): T;
|
|
11
12
|
getMetadata(table: string, config: PersistOptions): PersistMetadata;
|
|
12
13
|
set(table: string, changes: Change[], config: PersistOptions): void;
|
|
@@ -17,6 +18,6 @@ declare class ObservablePersistMMKV implements ObservablePersistPlugin {
|
|
|
17
18
|
private setValue;
|
|
18
19
|
private save;
|
|
19
20
|
}
|
|
20
|
-
declare function observablePersistMMKV(configuration:
|
|
21
|
+
declare function observablePersistMMKV(configuration: Configuration): ObservablePersistMMKV;
|
|
21
22
|
|
|
22
23
|
export { ObservablePersistMMKV, observablePersistMMKV };
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { Change } from '@legendapp/state';
|
|
2
2
|
import { ObservablePersistPlugin, PersistOptions, PersistMetadata } from '@legendapp/state/sync';
|
|
3
|
-
import
|
|
3
|
+
import * as mmkv from 'react-native-mmkv';
|
|
4
4
|
|
|
5
|
+
type Configuration = mmkv.Configuration;
|
|
5
6
|
declare class ObservablePersistMMKV implements ObservablePersistPlugin {
|
|
6
7
|
private data;
|
|
7
8
|
private storages;
|
|
8
9
|
private configuration;
|
|
9
|
-
constructor(configuration:
|
|
10
|
+
constructor(configuration: Configuration);
|
|
10
11
|
getTable<T = any>(table: string, init: object, config: PersistOptions): T;
|
|
11
12
|
getMetadata(table: string, config: PersistOptions): PersistMetadata;
|
|
12
13
|
set(table: string, changes: Change[], config: PersistOptions): void;
|
|
@@ -17,6 +18,6 @@ declare class ObservablePersistMMKV implements ObservablePersistPlugin {
|
|
|
17
18
|
private setValue;
|
|
18
19
|
private save;
|
|
19
20
|
}
|
|
20
|
-
declare function observablePersistMMKV(configuration:
|
|
21
|
+
declare function observablePersistMMKV(configuration: Configuration): ObservablePersistMMKV;
|
|
21
22
|
|
|
22
23
|
export { ObservablePersistMMKV, observablePersistMMKV };
|
package/persist-plugins/mmkv.js
CHANGED
|
@@ -1,19 +1,55 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var state = require('@legendapp/state');
|
|
4
|
-
var
|
|
4
|
+
var mmkv = require('react-native-mmkv');
|
|
5
|
+
|
|
6
|
+
function _interopNamespace(e) {
|
|
7
|
+
if (e && e.__esModule) return e;
|
|
8
|
+
var n = Object.create(null);
|
|
9
|
+
if (e) {
|
|
10
|
+
Object.keys(e).forEach(function (k) {
|
|
11
|
+
if (k !== 'default') {
|
|
12
|
+
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
13
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
14
|
+
enumerable: true,
|
|
15
|
+
get: function () { return e[k]; }
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
n.default = e;
|
|
21
|
+
return Object.freeze(n);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
var mmkv__namespace = /*#__PURE__*/_interopNamespace(mmkv);
|
|
5
25
|
|
|
6
26
|
// src/persist-plugins/mmkv.ts
|
|
7
27
|
var symbolDefault = Symbol();
|
|
8
28
|
var MetadataSuffix = "__m";
|
|
9
29
|
var { safeParse, safeStringify } = state.internal;
|
|
30
|
+
function createMMKVInstance(config) {
|
|
31
|
+
const hasCreateFunction = "createMMKV" in mmkv__namespace;
|
|
32
|
+
if (hasCreateFunction) {
|
|
33
|
+
return mmkv__namespace.createMMKV(config);
|
|
34
|
+
} else {
|
|
35
|
+
const { MMKV: MMKVConstructor } = mmkv__namespace;
|
|
36
|
+
return new MMKVConstructor(config);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
function deleteFromMMKV(storage, key) {
|
|
40
|
+
if ("remove" in storage) {
|
|
41
|
+
storage.remove(key);
|
|
42
|
+
} else {
|
|
43
|
+
storage.delete(key);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
10
46
|
var ObservablePersistMMKV = class {
|
|
11
47
|
constructor(configuration) {
|
|
12
48
|
this.data = {};
|
|
13
49
|
this.storages = /* @__PURE__ */ new Map([
|
|
14
50
|
[
|
|
15
51
|
symbolDefault,
|
|
16
|
-
|
|
52
|
+
createMMKVInstance({
|
|
17
53
|
id: `obsPersist`
|
|
18
54
|
})
|
|
19
55
|
]
|
|
@@ -53,7 +89,7 @@ var ObservablePersistMMKV = class {
|
|
|
53
89
|
deleteTable(table, config) {
|
|
54
90
|
const storage = this.getStorage(config);
|
|
55
91
|
delete this.data[table];
|
|
56
|
-
storage
|
|
92
|
+
deleteFromMMKV(storage, table);
|
|
57
93
|
}
|
|
58
94
|
deleteMetadata(table, config) {
|
|
59
95
|
this.deleteTable(table + MetadataSuffix, config);
|
|
@@ -65,7 +101,7 @@ var ObservablePersistMMKV = class {
|
|
|
65
101
|
const key = JSON.stringify(configuration);
|
|
66
102
|
let storage = this.storages.get(key);
|
|
67
103
|
if (!storage) {
|
|
68
|
-
storage =
|
|
104
|
+
storage = createMMKVInstance(configuration);
|
|
69
105
|
this.storages.set(key, storage);
|
|
70
106
|
}
|
|
71
107
|
return storage;
|
|
@@ -87,7 +123,7 @@ var ObservablePersistMMKV = class {
|
|
|
87
123
|
console.error(err);
|
|
88
124
|
}
|
|
89
125
|
} else {
|
|
90
|
-
storage
|
|
126
|
+
deleteFromMMKV(storage, table);
|
|
91
127
|
}
|
|
92
128
|
}
|
|
93
129
|
};
|
package/persist-plugins/mmkv.mjs
CHANGED
|
@@ -1,17 +1,33 @@
|
|
|
1
1
|
import { setAtPath, internal } from '@legendapp/state';
|
|
2
|
-
import
|
|
2
|
+
import * as mmkv from 'react-native-mmkv';
|
|
3
3
|
|
|
4
4
|
// src/persist-plugins/mmkv.ts
|
|
5
5
|
var symbolDefault = Symbol();
|
|
6
6
|
var MetadataSuffix = "__m";
|
|
7
7
|
var { safeParse, safeStringify } = internal;
|
|
8
|
+
function createMMKVInstance(config) {
|
|
9
|
+
const hasCreateFunction = "createMMKV" in mmkv;
|
|
10
|
+
if (hasCreateFunction) {
|
|
11
|
+
return mmkv.createMMKV(config);
|
|
12
|
+
} else {
|
|
13
|
+
const { MMKV: MMKVConstructor } = mmkv;
|
|
14
|
+
return new MMKVConstructor(config);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
function deleteFromMMKV(storage, key) {
|
|
18
|
+
if ("remove" in storage) {
|
|
19
|
+
storage.remove(key);
|
|
20
|
+
} else {
|
|
21
|
+
storage.delete(key);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
8
24
|
var ObservablePersistMMKV = class {
|
|
9
25
|
constructor(configuration) {
|
|
10
26
|
this.data = {};
|
|
11
27
|
this.storages = /* @__PURE__ */ new Map([
|
|
12
28
|
[
|
|
13
29
|
symbolDefault,
|
|
14
|
-
|
|
30
|
+
createMMKVInstance({
|
|
15
31
|
id: `obsPersist`
|
|
16
32
|
})
|
|
17
33
|
]
|
|
@@ -51,7 +67,7 @@ var ObservablePersistMMKV = class {
|
|
|
51
67
|
deleteTable(table, config) {
|
|
52
68
|
const storage = this.getStorage(config);
|
|
53
69
|
delete this.data[table];
|
|
54
|
-
storage
|
|
70
|
+
deleteFromMMKV(storage, table);
|
|
55
71
|
}
|
|
56
72
|
deleteMetadata(table, config) {
|
|
57
73
|
this.deleteTable(table + MetadataSuffix, config);
|
|
@@ -63,7 +79,7 @@ var ObservablePersistMMKV = class {
|
|
|
63
79
|
const key = JSON.stringify(configuration);
|
|
64
80
|
let storage = this.storages.get(key);
|
|
65
81
|
if (!storage) {
|
|
66
|
-
storage =
|
|
82
|
+
storage = createMMKVInstance(configuration);
|
|
67
83
|
this.storages.set(key, storage);
|
|
68
84
|
}
|
|
69
85
|
return storage;
|
|
@@ -85,7 +101,7 @@ var ObservablePersistMMKV = class {
|
|
|
85
101
|
console.error(err);
|
|
86
102
|
}
|
|
87
103
|
} else {
|
|
88
|
-
storage
|
|
104
|
+
deleteFromMMKV(storage, table);
|
|
89
105
|
}
|
|
90
106
|
}
|
|
91
107
|
};
|
|
@@ -29,7 +29,7 @@ function createObservableHook(fn) {
|
|
|
29
29
|
const _useState = React__default.default.useState;
|
|
30
30
|
const _useReducer = React__default.default.useReducer;
|
|
31
31
|
return function(...args) {
|
|
32
|
-
const refObs = React__default.default.useRef();
|
|
32
|
+
const refObs = React__default.default.useRef(void 0);
|
|
33
33
|
overrideHooks(refObs);
|
|
34
34
|
fn(...args);
|
|
35
35
|
React__default.default.useState = _useState;
|
|
@@ -23,7 +23,7 @@ function createObservableHook(fn) {
|
|
|
23
23
|
const _useState = React.useState;
|
|
24
24
|
const _useReducer = React.useReducer;
|
|
25
25
|
return function(...args) {
|
|
26
|
-
const refObs = React.useRef();
|
|
26
|
+
const refObs = React.useRef(void 0);
|
|
27
27
|
overrideHooks(refObs);
|
|
28
28
|
fn(...args);
|
|
29
29
|
React.useState = _useState;
|
package/react.d.mts
CHANGED
|
@@ -22,8 +22,8 @@ declare function For<T, TProps>({ each, optimized: isOptimized, item, itemProps,
|
|
|
22
22
|
declare function usePauseProvider(): {
|
|
23
23
|
PauseProvider: ({ children }: {
|
|
24
24
|
children: ReactNode;
|
|
25
|
-
}) => React.FunctionComponentElement<React.ProviderProps<ObservableBoolean
|
|
26
|
-
isPaused$: ObservableBoolean
|
|
25
|
+
}) => React.FunctionComponentElement<React.ProviderProps<ObservableBoolean<boolean>>>;
|
|
26
|
+
isPaused$: ObservableBoolean<boolean>;
|
|
27
27
|
};
|
|
28
28
|
|
|
29
29
|
declare const Memo: NamedExoticComponent<{
|
|
@@ -71,18 +71,20 @@ declare function Switch<T>({ value, children, }: {
|
|
|
71
71
|
children: Partial<Record<'undefined' | 'default', () => ReactNode>>;
|
|
72
72
|
}): ReactElement | null;
|
|
73
73
|
|
|
74
|
+
type KeysOfUnion<T> = T extends T ? keyof T : never;
|
|
75
|
+
type ValueOfUnionKey$1<P, K extends PropertyKey> = P extends any ? (K extends keyof P ? P[K] : never) : never;
|
|
74
76
|
type ShapeWithNew$<T> = Partial<Omit<T, 'children'>> & {
|
|
75
77
|
[K in keyof T as K extends `$${string & K}` ? K : `$${string & K}`]?: Selector<T[K]>;
|
|
76
78
|
} & {
|
|
77
79
|
children?: Selector<ReactNode>;
|
|
78
80
|
};
|
|
79
|
-
interface BindKey<P, K extends
|
|
81
|
+
interface BindKey<P, K extends KeysOfUnion<P> = KeysOfUnion<P>> {
|
|
80
82
|
handler?: K;
|
|
81
|
-
getValue?: P
|
|
83
|
+
getValue?: ValueOfUnionKey$1<P, K> extends infer T ? T extends (...args: any) => any ? (params: Parameters<T>[0]) => any : (e: any) => any : (e: any) => any;
|
|
82
84
|
defaultValue?: any;
|
|
83
85
|
selector?: (propsOut: Record<string, any>, p: Observable<any>) => any;
|
|
84
86
|
}
|
|
85
|
-
type BindKeys<P = any, K extends
|
|
87
|
+
type BindKeys<P = any, K extends KeysOfUnion<P> = KeysOfUnion<P>> = Partial<Record<K, BindKey<P, K>>>;
|
|
86
88
|
type FCReactiveObject<T> = {
|
|
87
89
|
[K in keyof T]: FC<ShapeWithNew$<T[K]>>;
|
|
88
90
|
};
|
|
@@ -109,23 +111,24 @@ type ShapeWith$<T> = WithSelectorChildren<Partial<T>> & {
|
|
|
109
111
|
type ObjectShapeWith$<T> = {
|
|
110
112
|
[K in keyof T]: T[K] extends FC<infer P> ? FC<ShapeWith$<P>> : T[K];
|
|
111
113
|
};
|
|
112
|
-
type
|
|
113
|
-
|
|
114
|
+
type ValueOfUnionKey<T, K extends PropertyKey> = T extends any ? (K extends keyof T ? T[K] : never) : never;
|
|
115
|
+
type ReactifyProps<T, K extends KeysOfUnion<T>> = T & {
|
|
116
|
+
[P in K as `$${string & P}`]?: Selector<ValueOfUnionKey<T, P>>;
|
|
114
117
|
};
|
|
115
118
|
declare const hasSymbol: false | ((key: string) => symbol);
|
|
116
119
|
declare function observer<P extends FC<any>>(component: P): P;
|
|
117
120
|
declare function reactive<T extends object>(component: React.ComponentClass<T>, keys: undefined | null, bindKeys?: BindKeys<T>): React.FC<ShapeWith$<T>>;
|
|
118
121
|
declare function reactive<T extends object>(component: React.FC<T>, keys: undefined | null, bindKeys?: BindKeys<T>): React.FC<ShapeWith$<T>>;
|
|
119
122
|
declare function reactive<T extends object>(component: React.ForwardRefExoticComponent<T>, keys: undefined | null, bindKeys?: BindKeys<T>): React.ForwardRefExoticComponent<ShapeWith$<T>>;
|
|
120
|
-
declare function reactive<T extends object, K extends
|
|
121
|
-
declare function reactive<T extends object, K extends
|
|
123
|
+
declare function reactive<T extends object, K extends KeysOfUnion<T>>(component: React.FC<T>, keys: K[] | KeysOfUnion<T>[], bindKeys?: BindKeys<T, K>): React.FC<ReactifyProps<T, K>>;
|
|
124
|
+
declare function reactive<T extends object, K extends KeysOfUnion<T>>(component: React.ForwardRefExoticComponent<T>, keys: K[] | KeysOfUnion<T>[], bindKeys?: BindKeys<T, K>): React.ForwardRefExoticComponent<ReactifyProps<T, K>>;
|
|
122
125
|
declare function reactive<T extends object>(component: React.ComponentClass<T>): React.ComponentClass<ShapeWith$<T>>;
|
|
123
126
|
declare function reactive<T extends object>(component: React.FC<T>): React.FC<ShapeWith$<T>>;
|
|
124
127
|
declare function reactive<T extends object>(component: React.ForwardRefExoticComponent<T>): React.ForwardRefExoticComponent<ShapeWith$<T>>;
|
|
125
128
|
declare function reactiveObserver<T extends object>(component: React.FC<T>, keys: undefined | null, bindKeys?: BindKeys<T>): React.FC<ShapeWith$<T>>;
|
|
126
129
|
declare function reactiveObserver<T extends object>(component: React.ForwardRefExoticComponent<T>, keys: undefined | null, bindKeys?: BindKeys<T>): React.ForwardRefExoticComponent<ShapeWith$<T>>;
|
|
127
|
-
declare function reactiveObserver<T extends object, K extends
|
|
128
|
-
declare function reactiveObserver<T extends object, K extends
|
|
130
|
+
declare function reactiveObserver<T extends object, K extends KeysOfUnion<T>>(component: React.FC<T>, keys: K[] | KeysOfUnion<T>[], bindKeys?: BindKeys<T, K>): React.FC<ReactifyProps<T, K>>;
|
|
131
|
+
declare function reactiveObserver<T extends object, K extends KeysOfUnion<T>>(component: React.ForwardRefExoticComponent<T>, keys: K[] | KeysOfUnion<T>[], bindKeys?: BindKeys<T, K>): React.ForwardRefExoticComponent<ReactifyProps<T, K>>;
|
|
129
132
|
declare function reactiveObserver<T extends object>(component: React.FC<T>): React.FC<ShapeWith$<T>>;
|
|
130
133
|
declare function reactiveObserver<T extends object>(component: React.ForwardRefExoticComponent<T>): React.ForwardRefExoticComponent<ShapeWith$<T>>;
|
|
131
134
|
declare function reactiveComponents<P extends Record<string, any>>(components: P): ObjectShapeWith$<P>;
|
|
@@ -192,4 +195,4 @@ declare function configureReactive({ components, binders, }: {
|
|
|
192
195
|
binders?: Record<string, BindKeys>;
|
|
193
196
|
}): void;
|
|
194
197
|
|
|
195
|
-
export { type BindKey, type BindKeys, Computed, type FCReactive, type FCReactiveObject, For, type IReactive, Memo, type ObjectShapeWith$, type ReactifyProps, Reactive, type ShapeWith$, type ShapeWithNew$, Show, Switch, type UseObserveOptions, type UseSelectorOptions, configureReactive, hasSymbol, observer, reactive, reactiveComponents, reactiveObserver, useSelector as use$, useComputed, useEffectOnce, useIsMounted, useObservable as useLocalObservable, useMount, useMountOnce, useObservable, useObservableReducer, useObserve, useObserveEffect, usePauseProvider, useSelector, useUnmount, useUnmountOnce, useSelector as useValue, useWhen, useWhenReady };
|
|
198
|
+
export { type BindKey, type BindKeys, Computed, type FCReactive, type FCReactiveObject, For, type IReactive, type KeysOfUnion, Memo, type ObjectShapeWith$, type ReactifyProps, Reactive, type ShapeWith$, type ShapeWithNew$, Show, Switch, type UseObserveOptions, type UseSelectorOptions, configureReactive, hasSymbol, observer, reactive, reactiveComponents, reactiveObserver, useSelector as use$, useComputed, useEffectOnce, useIsMounted, useObservable as useLocalObservable, useMount, useMountOnce, useObservable, useObservableReducer, useObserve, useObserveEffect, usePauseProvider, useSelector, useUnmount, useUnmountOnce, useSelector as useValue, useWhen, useWhenReady };
|