react-native-global-state-hooks 4.0.5 → 4.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +44 -6
- package/lib/GlobalStore.d.ts +49 -39
- package/lib/GlobalStore.functions.d.ts +5 -5
- package/lib/GlobalStore.types.d.ts +102 -3
- package/lib/bundle.js +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -117,17 +117,55 @@ Using decoupled state access allows you to retrieve the state when needed withou
|
|
|
117
117
|
```ts
|
|
118
118
|
import { createGlobalStateWithDecoupledFuncs } from "react-native-global-state-hooks";
|
|
119
119
|
|
|
120
|
-
export const [
|
|
121
|
-
createGlobalStateWithDecoupledFuncs(
|
|
120
|
+
export const [useContacts, contactsGetter, contactsSetter] =
|
|
121
|
+
createGlobalStateWithDecoupledFuncs({
|
|
122
|
+
isLoading: true,
|
|
123
|
+
filter: "",
|
|
124
|
+
items: [] as Contact[],
|
|
125
|
+
});
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
That's great! With the addition of the **contactsGetter** and **contactsSetter** methods, you now have the ability to access and modify the state without the need for subscription to the hook.
|
|
129
|
+
|
|
130
|
+
While **useContacts** will allow your components to subscribe to the custom hook, using the **contactsGetter** method you will be able retrieve the current value of the state. This allows you to access the state whenever necessary, without being reactive to its changes. Let' see how:
|
|
131
|
+
|
|
132
|
+
```ts
|
|
133
|
+
// To synchronously get the value of the state
|
|
134
|
+
const value = contactsGetter();
|
|
135
|
+
|
|
136
|
+
// the type of value will be { isLoading: boolean; filter: string; items: Contact[] }
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
Additionally, to subscribe to state changes, you can pass a callback function as a parameter to the **getter**. This approach enables you to create a subscription group, allowing you to subscribe to either the entire state or a specific portion of it. When a callback function is provided to the **getter**, it will return a cleanup function instead of the state. This cleanup function can be used to unsubscribe or clean up the subscription when it is no longer needed.
|
|
140
|
+
|
|
141
|
+
```ts
|
|
142
|
+
/**
|
|
143
|
+
* This not only allows you to retrieve the current value of the state...
|
|
144
|
+
* but also enables you to subscribe to any changes in the state or a portion of it
|
|
145
|
+
*/
|
|
146
|
+
const removeSubscriptionGroup = contactsGetter(
|
|
147
|
+
({ subscribe, subscribeSelector }) => {
|
|
148
|
+
subscribe((state) => {
|
|
149
|
+
console.log("state changed: ", state);
|
|
150
|
+
});
|
|
151
|
+
|
|
152
|
+
subscribeSelector(
|
|
153
|
+
(state) => state.isLoading,
|
|
154
|
+
(isLoading) => {
|
|
155
|
+
console.log("is loading changed", isLoading);
|
|
156
|
+
}
|
|
157
|
+
);
|
|
158
|
+
}
|
|
159
|
+
);
|
|
122
160
|
```
|
|
123
161
|
|
|
124
|
-
That's great
|
|
162
|
+
That's great, isn't it? And everything stays synchronized with the original state!!
|
|
125
163
|
|
|
126
|
-
|
|
164
|
+
...
|
|
127
165
|
|
|
128
|
-
Similarly, the **
|
|
166
|
+
Similarly, the **contactsSetter** method enables you to modify the state stored in **useContacts**. You can use this method to update the state with a new value or perform any necessary state mutations.
|
|
129
167
|
|
|
130
|
-
These additional methods provide a more flexible and granular way to interact with the state managed by **
|
|
168
|
+
These additional methods provide a more flexible and granular way to interact with the state managed by **useContacts**. You can retrieve and modify the state as needed, without establishing a subscription relationship or reactivity with the state changes.
|
|
131
169
|
|
|
132
170
|
Let's add more actions to the state and explore how to use one action from inside another.
|
|
133
171
|
|
package/lib/GlobalStore.d.ts
CHANGED
|
@@ -1,5 +1,15 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import { ActionCollectionConfig, StateSetter, GlobalStoreConfig, ActionCollectionResult, StateConfigCallbackParam, MetadataSetter, UseHookConfig, StateGetter, SubscribeCallbackConfig } from "./GlobalStore.types";
|
|
2
|
+
type SubscriberParameters<TState> = {
|
|
3
|
+
selector?: (state: TState) => unknown;
|
|
4
|
+
config?: UseHookConfig<any> | SubscribeCallbackConfig<any>;
|
|
5
|
+
currentState?: unknown;
|
|
6
|
+
};
|
|
7
|
+
type SubscriptionCallback = (params: {
|
|
8
|
+
state: unknown;
|
|
9
|
+
}) => void;
|
|
10
|
+
type SetStateCallback = (parameters: {
|
|
11
|
+
state: unknown;
|
|
12
|
+
}) => void;
|
|
3
13
|
/**
|
|
4
14
|
* The GlobalStore class is the main class of the library and it is used to create a GlobalStore instances
|
|
5
15
|
* @template {TState} TState - The type of the state object
|
|
@@ -12,13 +22,7 @@ export declare class GlobalStore<TState, TMetadata = null, TStateSetter extends
|
|
|
12
22
|
* list of all the subscribers setState functions
|
|
13
23
|
* @template {TState} TState - The type of the state object
|
|
14
24
|
* */
|
|
15
|
-
subscribers: Map<
|
|
16
|
-
state: unknown;
|
|
17
|
-
}>>, {
|
|
18
|
-
selector?: (state: TState) => unknown;
|
|
19
|
-
config?: UseHookConfig<TState, any>;
|
|
20
|
-
currentState?: unknown;
|
|
21
|
-
}>;
|
|
25
|
+
subscribers: Map<SubscriptionCallback, SubscriberParameters<TState>>;
|
|
22
26
|
/**
|
|
23
27
|
* additional configuration for the store
|
|
24
28
|
* @template {TState} TState - The type of the state object
|
|
@@ -123,13 +127,11 @@ export declare class GlobalStore<TState, TMetadata = null, TStateSetter extends
|
|
|
123
127
|
/**
|
|
124
128
|
* set the state and update all the subscribers
|
|
125
129
|
* @param {StateSetter<TState>} setter - The setter function or the value to set
|
|
126
|
-
* @param {
|
|
130
|
+
* @param {SetStateCallback} invokerSetState - The setState function of the component that invoked the state change (optional) (default: null) this is used to updated first the component that invoked the state change
|
|
127
131
|
* */
|
|
128
132
|
protected setState: ({ invokerSetState, state, forceUpdate, }: {
|
|
129
133
|
state: TState;
|
|
130
|
-
invokerSetState?:
|
|
131
|
-
state: unknown;
|
|
132
|
-
}>>;
|
|
134
|
+
invokerSetState?: SetStateCallback;
|
|
133
135
|
forceUpdate: boolean;
|
|
134
136
|
}) => void;
|
|
135
137
|
/**
|
|
@@ -138,34 +140,49 @@ export declare class GlobalStore<TState, TMetadata = null, TStateSetter extends
|
|
|
138
140
|
* */
|
|
139
141
|
protected setMetadata: MetadataSetter<TMetadata>;
|
|
140
142
|
protected getMetadata: () => TMetadata;
|
|
141
|
-
protected
|
|
143
|
+
protected createChangesSubscriber: <TDerivate, State = TDerivate extends never ? TState : TDerivate>({ callback, selector, config, }: {
|
|
144
|
+
selector?: (state: TState) => TDerivate;
|
|
145
|
+
callback: (state: State) => void;
|
|
146
|
+
config: SubscribeCallbackConfig<State>;
|
|
147
|
+
}) => {
|
|
148
|
+
stateWrapper: {
|
|
149
|
+
state: State;
|
|
150
|
+
};
|
|
151
|
+
subscription: SubscriptionCallback;
|
|
152
|
+
};
|
|
153
|
+
/**
|
|
154
|
+
* Return current state of the store
|
|
155
|
+
* Optionally you can use this method to subscribe a callback to the store changes
|
|
156
|
+
* @param {UseHookConfig<TState, TDerivate>} config - The configuration object (optional) (default: { selector: null, subscriptionCallback: null, config: null })
|
|
157
|
+
* @param {TSelector} config.selector - The selector function to derive the state (optional) (default: null)
|
|
158
|
+
* @param {TSubscriptionCallback} config.subscriptionCallback - The callback to execute every time the state is changed
|
|
159
|
+
* @param {UseHookConfig<TState, TDerivate>} config.config - The configuration for the callback (optional) (default: null)
|
|
160
|
+
* @param {UseHookConfig<TState, TDerivate>} config.config.isEqual - The compare function to check if the state is changed (optional) (default: shallowCompare)
|
|
161
|
+
* @returns The state of the store, optionally if you provide a subscriptionCallback it this method will return the unsubscribe function
|
|
162
|
+
*/
|
|
163
|
+
protected getState: StateGetter<TState>;
|
|
142
164
|
/**
|
|
143
165
|
* get the parameters object to pass to the callback functions (onInit, onStateChanged, onSubscribed, computePreventStateChange)
|
|
144
166
|
* this parameters object brings the following properties: setState, getState, setMetadata, getMetadata
|
|
145
167
|
* this parameter object allows to update the state, get the state, update the metadata, get the metadata
|
|
146
|
-
* @param {{ invokerSetState?: React.Dispatch<React.SetStateAction<TState>> }} parameters - The setState function of the component that invoked the state change (optional) (default: null) this is used to updated first the component that invoked the state change
|
|
147
168
|
* @returns {StateConfigCallbackParam<TState, TMetadata>} - The parameters object
|
|
148
169
|
* */
|
|
149
170
|
protected getConfigCallbackParam: ({ invokerSetState, }: {
|
|
150
|
-
invokerSetState?:
|
|
151
|
-
state: unknown;
|
|
152
|
-
}>>;
|
|
171
|
+
invokerSetState?: SetStateCallback;
|
|
153
172
|
}) => StateConfigCallbackParam<TState, TMetadata, TStateSetter>;
|
|
154
173
|
protected updateSubscription: <State = TState>({ selector, config, stateWrapper: { state }, invokerSetState, }: {
|
|
155
174
|
selector?: (state: TState) => State;
|
|
156
|
-
config: UseHookConfig<
|
|
175
|
+
config: UseHookConfig<any>;
|
|
157
176
|
stateWrapper: {
|
|
158
177
|
state: unknown;
|
|
159
178
|
};
|
|
160
|
-
invokerSetState:
|
|
161
|
-
state: unknown;
|
|
162
|
-
}>>;
|
|
179
|
+
invokerSetState: SetStateCallback;
|
|
163
180
|
}) => void;
|
|
164
181
|
/**
|
|
165
182
|
* Returns a custom hook that allows to handle a global state
|
|
166
183
|
* @returns {[TState, TStateSetter, TMetadata]} - The state, the state setter or the actions map, the metadata
|
|
167
184
|
* */
|
|
168
|
-
getHook: () => <State = TState>(selector?: (state: TState) => State, config?: UseHookConfig<
|
|
185
|
+
getHook: () => <State = TState>(selector?: (state: TState) => State, config?: UseHookConfig<State>) => [state: State extends null ? TState : State, setter: TStateSetter extends StateSetter<TState> ? StateSetter<TState> : ActionCollectionResult<TState, TMetadata, TStateSetter>, metadata: TMetadata];
|
|
169
186
|
/**
|
|
170
187
|
* Returns an array with the a function to get the state, the state setter or the actions map, and a function to get the metadata
|
|
171
188
|
* @returns {[() => TState, TStateSetter, () => TMetadata]} - The state getter, the state setter or the actions map, the metadata getter
|
|
@@ -173,22 +190,18 @@ export declare class GlobalStore<TState, TMetadata = null, TStateSetter extends
|
|
|
173
190
|
getHookDecoupled: () => [() => TState, TStateSetter extends StateSetter<TState> ? StateSetter<TState> : ActionCollectionResult<TState, TMetadata, TStateSetter>, () => TMetadata];
|
|
174
191
|
/**
|
|
175
192
|
* returns a wrapper for the setState function that will update the state and all the subscribers
|
|
176
|
-
* @param {{ invokerSetState?:
|
|
193
|
+
* @param {{ invokerSetState?: SetStateCallback }} parameters - The setState function of the component that invoked the state change (optional) (default: null) this is used to updated first the component that invoked the state change
|
|
177
194
|
* @returns {StateSetter<TState>} - The state setter
|
|
178
195
|
* */
|
|
179
196
|
protected getSetStateWrapper: ({ invokerSetState, }?: {
|
|
180
|
-
invokerSetState?:
|
|
181
|
-
state: unknown;
|
|
182
|
-
}>>;
|
|
197
|
+
invokerSetState?: SetStateCallback;
|
|
183
198
|
}) => StateSetter<TState>;
|
|
184
199
|
/**
|
|
185
200
|
* Returns the state setter or the actions map
|
|
186
|
-
* @param {{ invokerSetState?:
|
|
201
|
+
* @param {{ invokerSetState?: SetStateCallback }} parameters - The setState function of the component that invoked the state change (optional) (default: null) this is used to updated first the component that invoked the state change
|
|
187
202
|
* @returns {TStateSetter} - The state setter or the actions map
|
|
188
203
|
* */
|
|
189
|
-
protected getStateOrchestrator(invokerSetState?:
|
|
190
|
-
state: unknown;
|
|
191
|
-
}>>): StateSetter<TState> | ActionCollectionResult<TState, TMetadata, TStateSetter>;
|
|
204
|
+
protected getStateOrchestrator(invokerSetState?: SetStateCallback): StateSetter<TState> | ActionCollectionResult<TState, TMetadata, TStateSetter>;
|
|
192
205
|
/**
|
|
193
206
|
* Calculate whenever or not we should compute the callback parameters on the state change
|
|
194
207
|
* @returns {boolean} - True if we should compute the callback parameters on the state change
|
|
@@ -199,23 +212,20 @@ export declare class GlobalStore<TState, TMetadata = null, TStateSetter extends
|
|
|
199
212
|
* the function also execute the functions:
|
|
200
213
|
* - onStateChanged (if defined) - this function is executed after the state change
|
|
201
214
|
* - computePreventStateChange (if defined) - this function is executed before the state change and it should return a boolean value that will be used to determine if the state change should be prevented or not
|
|
202
|
-
* @param {{ setter: StateSetter<TState>; invokerSetState?:
|
|
215
|
+
* @param {{ setter: StateSetter<TState>; invokerSetState?: SetStateCallback }} parameters - The state setter and the setState function of the component that invoked the state change (optional) (default: null) this is used to updated first the component that invoked the state change
|
|
203
216
|
*/
|
|
204
217
|
protected computeSetState: ({ setter, invokerSetState, forceUpdate, }: {
|
|
205
218
|
setter: StateSetter<TState>;
|
|
206
|
-
invokerSetState?:
|
|
207
|
-
state: unknown;
|
|
208
|
-
}>>;
|
|
219
|
+
invokerSetState?: SetStateCallback;
|
|
209
220
|
forceUpdate: boolean;
|
|
210
221
|
}) => void;
|
|
211
222
|
/**
|
|
212
223
|
* This creates a map of actions that can be used to modify or interact with the state
|
|
213
|
-
* @param {{ invokerSetState?:
|
|
224
|
+
* @param {{ invokerSetState?: SetStateCallback }} parameters - The setState function of the component that invoked the state change (optional) (default: null) this is used to updated first the component that invoked the state change
|
|
214
225
|
* @returns {ActionCollectionResult<TState, TMetadata, TStateSetter>} - The actions map result of the configuration object passed to the constructor
|
|
215
226
|
* */
|
|
216
227
|
protected getStoreActionsMap: ({ invokerSetState, }?: {
|
|
217
|
-
invokerSetState?:
|
|
218
|
-
state: unknown;
|
|
219
|
-
}>>;
|
|
228
|
+
invokerSetState?: SetStateCallback;
|
|
220
229
|
}) => ActionCollectionResult<TState, TMetadata, TStateSetter>;
|
|
221
230
|
}
|
|
231
|
+
export {};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ActionCollectionConfig, StateConfigCallbackParam, StateChangesParam, StateSetter, ActionCollectionResult, UseHookConfig, AvoidNever, GlobalStoreConfig } from "GlobalStore.types";
|
|
1
|
+
import { ActionCollectionConfig, StateConfigCallbackParam, StateChangesParam, StateSetter, ActionCollectionResult, UseHookConfig, AvoidNever, GlobalStoreConfig, SubscriberCallback, UnsubscribeCallback } from "GlobalStore.types";
|
|
2
2
|
/**
|
|
3
3
|
* Creates a global hook that can be used to access the state and actions across the application
|
|
4
4
|
* @param {TState} state - The initial state
|
|
@@ -37,7 +37,7 @@ export declare const createGlobalStateWithDecoupledFuncs: <TState, TMetadata = n
|
|
|
37
37
|
* @returns {boolean} result - true if you want to prevent the state change, false otherwise
|
|
38
38
|
*/
|
|
39
39
|
computePreventStateChange?: (parameters: StateChangesParam<TState, TMetadata, TActions>) => boolean;
|
|
40
|
-
}) => [useState: <State = TState>(selector?: (state: TState) => State, config?: UseHookConfig<
|
|
40
|
+
}) => [useState: <State = TState>(selector?: (state: TState) => State, config?: UseHookConfig<State>) => [State extends null ? TState : State, TActions extends StateSetter<TState> ? StateSetter<TState> : ActionCollectionResult<TState, TMetadata, TActions>, TMetadata], getter: <TCallback extends SubscriberCallback<TState> = null>(callback?: TCallback) => TCallback extends null ? TState : UnsubscribeCallback, setter: TActions extends null ? StateSetter<TState> : ActionCollectionResult<TState, TMetadata, TActions>];
|
|
41
41
|
/**
|
|
42
42
|
* Creates a global hook that can be used to access the state and actions across the application
|
|
43
43
|
* @param {TState} state - The initial state of the store
|
|
@@ -76,7 +76,7 @@ export declare const createGlobalState: <TState, TMetadata = null, TActions exte
|
|
|
76
76
|
* @returns {boolean} result - true if you want to prevent the state change, false otherwise
|
|
77
77
|
*/
|
|
78
78
|
computePreventStateChange?: (parameters: StateChangesParam<TState, TMetadata, TActions>) => boolean;
|
|
79
|
-
}) => <State = TState>(selector?: (state: TState) => State, config?: UseHookConfig<
|
|
79
|
+
}) => <State = TState>(selector?: (state: TState) => State, config?: UseHookConfig<State>) => [state: State extends null ? TState : State, setter: TActions extends null ? StateSetter<TState> : ActionCollectionResult<TState, TMetadata, TActions>, metadata: TMetadata];
|
|
80
80
|
export type CustomGlobalHookParams<TInheritMetadata = null, TCustomConfig = {}> = {
|
|
81
81
|
/**
|
|
82
82
|
* @description
|
|
@@ -102,7 +102,7 @@ export declare const createCustomGlobalStateWithDecoupledFuncs: <TInheritMetadat
|
|
|
102
102
|
onStateChanged?: (parameters: StateChangesParam<TState, AvoidNever<TInheritMetadata> & AvoidNever<TMetadata>, TActions>) => void;
|
|
103
103
|
onSubscribed?: (parameters: StateConfigCallbackParam<TState, AvoidNever<TInheritMetadata> & AvoidNever<TMetadata>, TActions>) => void;
|
|
104
104
|
computePreventStateChange?: (parameters: StateChangesParam<TState, AvoidNever<TInheritMetadata> & AvoidNever<TMetadata>, TActions>) => boolean;
|
|
105
|
-
}) => [useState: <State = TState>(selector?: (state: TState) => State, config?: UseHookConfig<
|
|
105
|
+
}) => [useState: <State = TState>(selector?: (state: TState) => State, config?: UseHookConfig<State>) => [State extends null ? TState : State, TActions extends null ? StateSetter<TState> : ActionCollectionResult<TState, AvoidNever<TInheritMetadata> & AvoidNever<TMetadata>, TActions>, AvoidNever<TInheritMetadata> & AvoidNever<TMetadata>], getter: <TCallback extends SubscriberCallback<TState> = null>(callback?: TCallback) => TCallback extends null ? TState : UnsubscribeCallback, setter: TActions extends null ? StateSetter<TState> : ActionCollectionResult<TState, AvoidNever<TInheritMetadata> & AvoidNever<TMetadata>, TActions>];
|
|
106
106
|
/**
|
|
107
107
|
* @description
|
|
108
108
|
* Use this function to create a custom global store.
|
|
@@ -146,4 +146,4 @@ export declare const createCustomGlobalState: <TInheritMetadata = null, TCustomC
|
|
|
146
146
|
* @returns {boolean} result - true if you want to prevent the state change, false otherwise
|
|
147
147
|
*/
|
|
148
148
|
computePreventStateChange?: (parameters: StateChangesParam<TState, AvoidNever<TInheritMetadata> & AvoidNever<TMetadata>, TActions>) => boolean;
|
|
149
|
-
}) => <State = TState>(selector?: (state: TState) => State, config?: UseHookConfig<
|
|
149
|
+
}) => <State = TState>(selector?: (state: TState) => State, config?: UseHookConfig<State>) => [state: State extends null ? TState : State, setter: TActions extends null ? StateSetter<TState> : ActionCollectionResult<TState, AvoidNever<TInheritMetadata> & AvoidNever<TMetadata>, TActions>, metadata: (TInheritMetadata extends null ? {} : TInheritMetadata) & (TMetadata extends null ? {} : TMetadata)];
|
|
@@ -79,7 +79,7 @@ export type StoreTools<TState = any, TMetadata = any, TActions = any> = {
|
|
|
79
79
|
* Get the state
|
|
80
80
|
* @returns {TState} result - The state
|
|
81
81
|
* */
|
|
82
|
-
getState:
|
|
82
|
+
getState: StateGetter<TState>;
|
|
83
83
|
/**
|
|
84
84
|
* Get the metadata
|
|
85
85
|
* @returns {TMetadata} result - The metadata
|
|
@@ -188,10 +188,109 @@ export type GlobalStoreConfig<TState, TMetadata, TStateSetter extends ActionColl
|
|
|
188
188
|
*/
|
|
189
189
|
computePreventStateChange?: (parameters: StateChangesParam<TState, TMetadata, TStateSetter>) => boolean;
|
|
190
190
|
} | null;
|
|
191
|
-
export type UseHookConfig<TState
|
|
191
|
+
export type UseHookConfig<TState> = {
|
|
192
192
|
/**
|
|
193
193
|
* The callback to execute when the state is changed to check if the same really changed
|
|
194
194
|
* If the function is not provided the derived state will perform a shallow comparison
|
|
195
195
|
*/
|
|
196
|
-
isEqual?: (current:
|
|
196
|
+
isEqual?: (current: TState, next: TState) => boolean;
|
|
197
197
|
};
|
|
198
|
+
/**
|
|
199
|
+
* Callback function to unsubscribe from the store
|
|
200
|
+
*/
|
|
201
|
+
export type UnsubscribeCallback = () => void;
|
|
202
|
+
/**
|
|
203
|
+
* Configuration of the subscribe callbacks
|
|
204
|
+
*/
|
|
205
|
+
export type SubscribeCallbackConfig<TState> = UseHookConfig<TState> & {
|
|
206
|
+
/**
|
|
207
|
+
* By default the callback is executed immediately after the subscription
|
|
208
|
+
*/
|
|
209
|
+
skipFirst?: boolean;
|
|
210
|
+
};
|
|
211
|
+
/**
|
|
212
|
+
* Callback function to subscribe to the store changes
|
|
213
|
+
*/
|
|
214
|
+
export type SubscribeCallback<TState> = (state: TState) => void;
|
|
215
|
+
/**
|
|
216
|
+
* Callback function to subscribe to a portion of the store changes
|
|
217
|
+
* @template {TState} TState - The state type
|
|
218
|
+
* @template {TDerivate} TDerivate - The derived state type
|
|
219
|
+
* @param {SubscribeSelectorCallback<TState, TDerivate>} selector - the selector function to derive the state
|
|
220
|
+
* @param {SubscribeCallback<TDerivate>} callback - the callback to execute when the derived state is changed
|
|
221
|
+
* @param {SubscribeCallbackConfig<TDerivate>} config - the configuration object
|
|
222
|
+
* @returns {void} result - void
|
|
223
|
+
*/
|
|
224
|
+
export type SubscribeSelectorCallback<TState, TDerivate> = (
|
|
225
|
+
/**
|
|
226
|
+
* The selector function to derive the state
|
|
227
|
+
* @param {TState} state - the current state of the store
|
|
228
|
+
* @returns {TDerivate} result - the derived state
|
|
229
|
+
* */
|
|
230
|
+
selector: (state: TState) => TDerivate,
|
|
231
|
+
/**
|
|
232
|
+
* The callback to execute when the derived state is changed
|
|
233
|
+
*/
|
|
234
|
+
callback: SubscribeCallback<TDerivate>,
|
|
235
|
+
/**
|
|
236
|
+
* The configuration object
|
|
237
|
+
* In the configuration object you can specify a custom compare function to check if the state is changed
|
|
238
|
+
*/
|
|
239
|
+
config?: SubscribeCallbackConfig<TDerivate>) => void;
|
|
240
|
+
/**
|
|
241
|
+
* Use this function to subscribe to the store changes
|
|
242
|
+
*/
|
|
243
|
+
export type SubscribeMethod<TState> = (
|
|
244
|
+
/**
|
|
245
|
+
* This callback will be executed every time the state is changed
|
|
246
|
+
*/
|
|
247
|
+
callback: SubscribeCallback<TState>,
|
|
248
|
+
/**
|
|
249
|
+
* The configuration object
|
|
250
|
+
* In the configuration object you can specify a custom compare function to check if the state is changed
|
|
251
|
+
*/
|
|
252
|
+
config?: SubscribeCallbackConfig<TState>) => void;
|
|
253
|
+
export type SubscribeSelectorMethod<TState> = <TDerivate>(
|
|
254
|
+
/**
|
|
255
|
+
* The selector function to derive the state
|
|
256
|
+
* @param {TState} state - the current state of the store
|
|
257
|
+
* @returns {TDerivate} result - the derived state
|
|
258
|
+
* */
|
|
259
|
+
selector: (state: TState) => TDerivate,
|
|
260
|
+
/**
|
|
261
|
+
* This callback will be executed every time the state is changed
|
|
262
|
+
*/
|
|
263
|
+
callback: SubscribeCallback<TDerivate>,
|
|
264
|
+
/**
|
|
265
|
+
* The configuration object
|
|
266
|
+
* In the configuration object you can specify a custom compare function to check if the state is changed
|
|
267
|
+
*/
|
|
268
|
+
config?: SubscribeCallbackConfig<TDerivate>) => void;
|
|
269
|
+
export type SubscriberCallback<TState> = ({ subscribe, }: {
|
|
270
|
+
/**
|
|
271
|
+
* Current state of the store
|
|
272
|
+
*/
|
|
273
|
+
state: TState;
|
|
274
|
+
/**
|
|
275
|
+
* Allow you to subscribe to the store changes
|
|
276
|
+
*/
|
|
277
|
+
subscribe: SubscribeMethod<TState>;
|
|
278
|
+
/**
|
|
279
|
+
* Allow to select a derived state from the store
|
|
280
|
+
*/
|
|
281
|
+
subscribeSelector: SubscribeSelectorMethod<TState>;
|
|
282
|
+
}) => void;
|
|
283
|
+
/**
|
|
284
|
+
* Callback function to get the current state of the store or to subscribe to the store changes
|
|
285
|
+
* @template TState - the type of the state
|
|
286
|
+
* @param {SubscriberCallback<TState> | null} callback - the callback function to subscribe to the store changes (optional)
|
|
287
|
+
* use the methods subscribe and subscribeSelect to subscribe to the store changes
|
|
288
|
+
* if you don't pass a callback function the hook will return the current state of the store
|
|
289
|
+
* @returns {UnsubscribeCallback | TState} result - the state or the unsubscribe callback if you pass a callback function
|
|
290
|
+
*/
|
|
291
|
+
export type StateGetter<TState> = <TCallback extends SubscriberCallback<TState> | null = null>(
|
|
292
|
+
/**
|
|
293
|
+
* @param {SubscriberCallback<TState> | null} callback - the callback function to subscribe to the store changes (optional)
|
|
294
|
+
* use the methods subscribe and subscribeSelect to subscribe to the store changes
|
|
295
|
+
*/
|
|
296
|
+
callback?: TCallback) => TCallback extends null | never | undefined ? TState : UnsubscribeCallback;
|
package/lib/bundle.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/*! For license information please see bundle.js.LICENSE.txt */
|
|
2
|
-
!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(require("react")):"function"==typeof define&&define.amd?define(["react"],e):"object"==typeof exports?exports["react-native-global-state-hooks"]=e(require("react")):t["react-native-global-state-hooks"]=e(t.react)}(this,(t=>{return e={729:(t,e,r)=>{"use strict";function n(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,o,i,a,u=[],c=!0,l=!1;try{if(i=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&&(u.push(n.value),u.length!==e);c=!0);}catch(t){l=!0,o=t}finally{try{if(!c&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return u}}(t,e)||function(t,e){if(t){if("string"==typeof t)return o(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?o(t,e):void 0}}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function o(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}Object.defineProperty(e,"__esModule",{value:!0}),e.createCustomGlobalState=e.createCustomGlobalStateWithDecoupledFuncs=e.createGlobalState=e.createGlobalStateWithDecoupledFuncs=void 0;var i=r(774);e.createGlobalStateWithDecoupledFuncs=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=e.actions,o=function(t,e){var r={};for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&e.indexOf(n)<0&&(r[n]=t[n]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(n=Object.getOwnPropertySymbols(t);o<n.length;o++)e.indexOf(n[o])<0&&Object.prototype.propertyIsEnumerable.call(t,n[o])&&(r[n[o]]=t[n[o]])}return r}(e,["actions"]),a=new i.GlobalStore(t,o,r),u=n(a.getHookDecoupled(),2),c=u[0],l=u[1];return[a.getHook(),c,l]},e.createGlobalState=function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return n((0,e.createGlobalStateWithDecoupledFuncs)(t,r),1)[0]},e.createCustomGlobalStateWithDecoupledFuncs=function(t){var r=t.onInitialize,n=t.onChange;return function(t){var o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{config:null},i=o.config,a=o.actions,u=o.metadata,c=o.onInit,l=o.onStateChanged,f=o.onSubscribed,s=o.computePreventStateChange;return(0,e.createGlobalStateWithDecoupledFuncs)(t,{actions:a,metadata:u,onInit:function(t){r(t,i),null==c||c(t)},onStateChanged:function(t){n(t,i),null==l||l(t)},onSubscribed:f,computePreventStateChange:s})}},e.createCustomGlobalState=function(t){var r=t.onInitialize,o=t.onChange,i=(0,e.createCustomGlobalStateWithDecoupledFuncs)({onInitialize:r,onChange:o});return function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{config:{}},r=e.config,o=e.actions,a=e.metadata,u=e.onInit,c=e.onStateChanged,l=e.onSubscribed,f=e.computePreventStateChange;return n(i(t,{config:r,actions:o,metadata:a,onInit:u,onStateChanged:c,onSubscribed:l,computePreventStateChange:f}),1)[0]}}},774:(t,e,r)=>{"use strict";function n(t){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},n(t)}function o(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,o,i,a,u=[],c=!0,l=!1;try{if(i=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&&(u.push(n.value),u.length!==e);c=!0);}catch(t){l=!0,o=t}finally{try{if(!c&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return u}}(t,e)||function(t,e){if(t){if("string"==typeof t)return i(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?i(t,e):void 0}}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function i(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function a(){a=function(){return t};var t={},e=Object.prototype,r=e.hasOwnProperty,o=Object.defineProperty||function(t,e,r){t[e]=r.value},i="function"==typeof Symbol?Symbol:{},u=i.iterator||"@@iterator",c=i.asyncIterator||"@@asyncIterator",l=i.toStringTag||"@@toStringTag";function f(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{f({},"")}catch(t){f=function(t,e,r){return t[e]=r}}function s(t,e,r,n){var i=e&&e.prototype instanceof y?e:y,a=Object.create(i.prototype),u=new C(n||[]);return o(a,"_invoke",{value:j(t,r,u)}),a}function p(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}t.wrap=s;var v={};function y(){}function h(){}function d(){}var b={};f(b,u,(function(){return this}));var g=Object.getPrototypeOf,m=g&&g(g(k([])));m&&m!==e&&r.call(m,u)&&(b=m);var S=d.prototype=y.prototype=Object.create(b);function w(t){["next","throw","return"].forEach((function(e){f(t,e,(function(t){return this._invoke(e,t)}))}))}function O(t,e){function i(o,a,u,c){var l=p(t[o],t,a);if("throw"!==l.type){var f=l.arg,s=f.value;return s&&"object"==n(s)&&r.call(s,"__await")?e.resolve(s.__await).then((function(t){i("next",t,u,c)}),(function(t){i("throw",t,u,c)})):e.resolve(s).then((function(t){f.value=t,u(f)}),(function(t){return i("throw",t,u,c)}))}c(l.arg)}var a;o(this,"_invoke",{value:function(t,r){function n(){return new e((function(e,n){i(t,r,e,n)}))}return a=a?a.then(n,n):n()}})}function j(t,e,r){var n="suspendedStart";return function(o,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw i;return{value:void 0,done:!0}}for(r.method=o,r.arg=i;;){var a=r.delegate;if(a){var u=x(a,r);if(u){if(u===v)continue;return u}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var c=p(t,e,r);if("normal"===c.type){if(n=r.done?"completed":"suspendedYield",c.arg===v)continue;return{value:c.arg,done:r.done}}"throw"===c.type&&(n="completed",r.method="throw",r.arg=c.arg)}}}function x(t,e){var r=e.method,n=t.iterator[r];if(void 0===n)return e.delegate=null,"throw"===r&&t.iterator.return&&(e.method="return",e.arg=void 0,x(t,e),"throw"===e.method)||"return"!==r&&(e.method="throw",e.arg=new TypeError("The iterator does not provide a '"+r+"' method")),v;var o=p(n,t.iterator,e.arg);if("throw"===o.type)return e.method="throw",e.arg=o.arg,e.delegate=null,v;var i=o.arg;return i?i.done?(e[t.resultName]=i.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,v):i:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,v)}function P(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function A(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function C(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(P,this),this.reset(!0)}function k(t){if(t){var e=t[u];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var n=-1,o=function e(){for(;++n<t.length;)if(r.call(t,n))return e.value=t[n],e.done=!1,e;return e.value=void 0,e.done=!0,e};return o.next=o}}return{next:E}}function E(){return{value:void 0,done:!0}}return h.prototype=d,o(S,"constructor",{value:d,configurable:!0}),o(d,"constructor",{value:h,configurable:!0}),h.displayName=f(d,l,"GeneratorFunction"),t.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===h||"GeneratorFunction"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,d):(t.__proto__=d,f(t,l,"GeneratorFunction")),t.prototype=Object.create(S),t},t.awrap=function(t){return{__await:t}},w(O.prototype),f(O.prototype,c,(function(){return this})),t.AsyncIterator=O,t.async=function(e,r,n,o,i){void 0===i&&(i=Promise);var a=new O(s(e,r,n,o),i);return t.isGeneratorFunction(r)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},w(S),f(S,l,"Generator"),f(S,u,(function(){return this})),f(S,"toString",(function(){return"[object Generator]"})),t.keys=function(t){var e=Object(t),r=[];for(var n in e)r.push(n);return r.reverse(),function t(){for(;r.length;){var n=r.pop();if(n in e)return t.value=n,t.done=!1,t}return t.done=!0,t}},t.values=k,C.prototype={constructor:C,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(A),!t)for(var e in this)"t"===e.charAt(0)&&r.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function n(r,n){return a.type="throw",a.arg=t,e.next=r,n&&(e.method="next",e.arg=void 0),!!n}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var u=r.call(i,"catchLoc"),c=r.call(i,"finallyLoc");if(u&&c){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(u){if(this.prev<i.catchLoc)return n(i.catchLoc,!0)}else{if(!c)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(t,e){for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===t||"continue"===t)&&i.tryLoc<=e&&e<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=t,a.arg=e,i?(this.method="next",this.next=i.finallyLoc,v):this.complete(a)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),v},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),A(r),v}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;A(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,r){return this.delegate={iterator:k(t),resultName:e,nextLoc:r},"next"===this.method&&(this.arg=void 0),v}},t}function u(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,c(n.key),n)}}function c(t){var e=function(t,e){if("object"!==n(t)||null===t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var o=r.call(t,"string");if("object"!==n(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"===n(e)?e:String(e)}Object.defineProperty(e,"__esModule",{value:!0}),e.GlobalStore=void 0;var l=r(608),f=r(156),s=function(){function t(e){var r=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.actionsConfig=i,this.subscribers=new Map,this.config={metadata:null},this.onInit=null,this.onStateChanged=null,this.onSubscribed=null,this.computePreventStateChange=null,this.initialize=function(){return t=r,e=void 0,n=void 0,o=a().mark((function t(){var e,r,n;return a().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(e=this.onInit,r=this.config.onInit,e||r){t.next=4;break}return t.abrupt("return");case 4:n=this.getConfigCallbackParam({}),null==e||e(n),null==r||r(n);case 7:case"end":return t.stop()}}),t,this)})),new(n||(n=Promise))((function(r,i){function a(t){try{c(o.next(t))}catch(t){i(t)}}function u(t){try{c(o.throw(t))}catch(t){i(t)}}function c(t){var e;t.done?r(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(a,u)}c((o=o.apply(t,e||[])).next())}));var t,e,n,o},this.setState=function(t){var e,n=t.invokerSetState,i=t.state,a=t.forceUpdate;if(r.stateWrapper={state:i},n){var u=r.subscribers.get(n),c=u.selector,f=u.config,s=u.currentState,p=c?c(i):i,v=null!==(e=null==f?void 0:f.isEqual)&&void 0!==e?e:l.shallowCompare;if(!a&&v(s,p))return;null==n||n({state:p})}Array.from(r.subscribers.entries()).forEach((function(t){var e=o(t,2),r=e[0],a=e[1];if(r!==n){var u=a.selector;r({state:u?u(i):i})}}))},this.setMetadata=function(t){var e,n,o="function"==typeof t?t(null!==(e=r.config.metadata)&&void 0!==e?e:null):t;r.config=Object.assign(Object.assign({},null!==(n=r.config)&&void 0!==n?n:{}),{metadata:o})},this.getMetadata=function(){var t;return null!==(t=r.config.metadata)&&void 0!==t?t:null},this.getState=function(){return r.stateWrapper.state},this.getConfigCallbackParam=function(t){var e=t.invokerSetState;return{setMetadata:r.setMetadata,getMetadata:r.getMetadata,getState:r.getState,setState:r.getSetStateWrapper({invokerSetState:e}),actions:r.getStoreActionsMap()}},this.updateSubscription=function(t){var e=t.selector,n=t.config,o=void 0===n?{}:n,i=t.stateWrapper.state,a=t.invokerSetState,u=r.subscribers.get(a);if(u)u.currentState=i;else{var c=r.onSubscribed,l=r.config.onSubscribed;if(c||l){var f=r.getConfigCallbackParam({invokerSetState:a});null==c||c(f),null==l||l(f)}r.subscribers.set(a,{selector:e,config:o,currentState:i})}},this.getHook=function(){return function(t){var e,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=o((0,f.useState)((function(){return t?{state:t(r.stateWrapper.state)}:r.stateWrapper})),2),a=i[0],u=i[1];r.updateSubscription({invokerSetState:u,stateWrapper:a,selector:t,config:n}),(0,f.useEffect)((function(){return function(){r.subscribers.delete(u)}}),[]);var c=(0,f.useMemo)((function(){return r.getStateOrchestrator(u)}),[]);return[a.state,c,null!==(e=r.config.metadata)&&void 0!==e?e:null]}},this.getHookDecoupled=function(){return[function(){return r.stateWrapper.state},r.getStateOrchestrator(),r.getMetadata]},this.getSetStateWrapper=function(){var t=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).invokerSetState;return function(e){var n=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}).forceUpdate;r.computeSetState({invokerSetState:t,setter:e,forceUpdate:n})}},this.hasStateCallbacks=function(){var t=r.computePreventStateChange,e=r.onStateChanged,n=r.config,o=n.computePreventStateChange,i=n.onStateChanged;return!!(t||o||e||i)},this.computeSetState=function(t){var e=t.setter,n=t.invokerSetState,o=t.forceUpdate,i="function"==typeof e,a=r.stateWrapper.state,u=i?e(a):e;if(o||!Object.is(r.stateWrapper.state,u)){var c=r.hasStateCallbacks(),l=c&&r.getStoreActionsMap({}),f=c&&r.getSetStateWrapper({invokerSetState:n}),s={setMetadata:r.setMetadata,getMetadata:r.getMetadata,setState:f,getState:r.getState,actions:l,previousState:a,state:u},p=r.computePreventStateChange,v=r.config.computePreventStateChange;if((p||v)&&((null==p?void 0:p(s))||(null==v?void 0:v(s))))return;r.setState({forceUpdate:o,invokerSetState:n,state:u});var y=r.onStateChanged,h=r.config.onStateChanged;(y||h)&&(null==y||y(s),null==h||h(s))}},this.getStoreActionsMap=function(){var t=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).invokerSetState;if(!r.actionsConfig)return null;var e=r.actionsConfig,n=r.setMetadata,o=e,i=Object.keys(o),a=r.getSetStateWrapper({invokerSetState:t}),u=function(){return r.stateWrapper.state},l=function(){return r.config.metadata},f=i.reduce((function(t,e){return Object.assign(Object.assign({},t),(r={},s=function(){for(var t=o[e],r=arguments.length,i=new Array(r),c=0;c<r;c++)i[c]=arguments[c];var s=t.apply(f,i);return"function"!=typeof s&&function(t){throw new Error("[WRONG CONFIGURATION!]: Every key inside the storeActionsConfig must be a higher order function that returns a function \n[".concat(t,"]: key is not a valid function, try something like this: \n{\n\n ").concat(t,": (param) => ({ setState, getState, setMetadata, getMetadata }) => {\n\n setState((state) => ({ ...state, ...param }))\n\n }\n\n}\n"))}(e),s.call(f,{setState:a,getState:u,setMetadata:n,getMetadata:l,actions:f})},(i=c(i=e))in r?Object.defineProperty(r,i,{value:s,enumerable:!0,configurable:!0,writable:!0}):r[i]=s,r));var r,i,s}),{});return f},this.stateWrapper={state:e},this.config=Object.assign({metadata:null},null!=n?n:{}),this.constructor!==t||this.initialize()}var e,r;return e=t,(r=[{key:"state",get:function(){return this.stateWrapper.state}},{key:"getStateOrchestrator",value:function(t){return this.actionsConfig?this.getStoreActionsMap({invokerSetState:t}):this.getSetStateWrapper({invokerSetState:t})}}])&&u(e.prototype,r),Object.defineProperty(e,"prototype",{writable:!1}),t}();e.GlobalStore=s},530:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0})},608:(t,e,r)=>{"use strict";function n(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,o,i,a,u=[],c=!0,l=!1;try{if(i=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&&(u.push(n.value),u.length!==e);c=!0);}catch(t){l=!0,o=t}finally{try{if(!c&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return u}}(t,e)||i(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function o(t,e){var r="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=i(t))||e&&t&&"number"==typeof t.length){r&&(t=r);var n=0,o=function(){};return{s:o,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,u=!0,c=!1;return{s:function(){r=r.call(t)},n:function(){var t=r.next();return u=t.done,t},e:function(t){c=!0,a=t},f:function(){try{u||null==r.return||r.return()}finally{if(c)throw a}}}}function i(t,e){if(t){if("string"==typeof t)return a(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?a(t,e):void 0}}function a(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function u(t){return u="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},u(t)}Object.defineProperty(e,"__esModule",{value:!0}),e.shallowCompare=void 0;var c=r(684);e.shallowCompare=function(t,e){if(t===e)return!0;var r=u(t),i=u(e);if(r!==i)return!1;if((0,c.isPrimitive)(t)&&(0,c.isPrimitive)(e)||(0,c.isDate)(t)&&(0,c.isDate)(e)||"function"===r&&"function"===i)return t===e;if(Array.isArray(t)){var a=t,l=e;if(a.length!==l.length)return!1;for(var f=0;f<a.length;f++)if(a[f]!==l[f])return!1}if(t instanceof Map){var s=t,p=e;if(s.size!==p.size)return!1;var v,y=o(s);try{for(y.s();!(v=y.n()).done;){var h=n(v.value,2),d=h[0];if(h[1]!==p.get(d))return!1}}catch(t){y.e(t)}finally{y.f()}}if(t instanceof Set){var b=t,g=e;if(b.size!==g.size)return!1;var m,S=o(b);try{for(S.s();!(m=S.n()).done;){var w=m.value;if(!g.has(w))return!1}}catch(t){S.e(t)}finally{S.f()}}var O=Object.keys(t),j=Object.keys(e);if(O.length!==j.length)return!1;for(var x=0,P=O;x<P.length;x++){var A=P[x];if(t[A]!==e[A])return!1}return!0}},195:(t,e,r)=>{"use strict";function n(t){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},n(t)}function o(t,e){return o=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},o(t,e)}function i(t){return i=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},i(t)}Object.defineProperty(e,"__esModule",{value:!0}),e.GlobalStoreAbstract=void 0;var a=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&o(t,e)}(c,t);var e,r,a,u=(r=c,a=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}(),function(){var t,e=i(r);if(a){var o=i(this).constructor;t=Reflect.construct(e,arguments,o)}else t=e.apply(this,arguments);return function(t,e){if(e&&("object"===n(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}(this,t)});function c(t){var e,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,c),(e=u.call(this,t,r,n)).onInit=function(t){e.onInitialize(t)},e.onStateChanged=function(t){e.onChange(t)},e}return e=c,Object.defineProperty(e,"prototype",{writable:!1}),e}(r(774).GlobalStore);e.GlobalStoreAbstract=a},991:(t,e,r)=>{"use strict";var n=Object.create?function(t,e,r,n){void 0===n&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);o&&!("get"in o?!e.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}:function(t,e,r,n){void 0===n&&(n=r),t[n]=e[r]},o=function(t,e){for(var r in t)"default"===r||Object.prototype.hasOwnProperty.call(e,r)||n(e,t,r)};Object.defineProperty(e,"__esModule",{value:!0}),o(r(684),e),o(r(530),e),o(r(774),e),o(r(195),e),o(r(729),e)},684:function(t){t.exports=(()=>{"use strict";var t={991:(t,e,r)=>{var n=Object.create?function(t,e,r,n){void 0===n&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);o&&!("get"in o?!e.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}:function(t,e,r,n){void 0===n&&(n=r),t[n]=e[r]};Object.defineProperty(e,"__esModule",{value:!0}),function(t,e){for(var r in t)"default"===r||Object.prototype.hasOwnProperty.call(e,r)||n(e,t,r)}(r(729),e)},729:(t,e)=>{function r(t){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},r(t)}function n(t,e,n){return(e=function(t){var e=function(t,e){if("object"!==r(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var o=n.call(t,"string");if("object"!==r(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"===r(e)?e:String(e)}(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function o(t,e){if(t){if("string"==typeof t)return i(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?i(t,e):void 0}}function i(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}Object.defineProperty(e,"__esModule",{value:!0}),e.formatToStore=e.formatFromStore=e.isPrimitive=e.isFunction=e.isRegex=e.isDate=e.isString=e.isBoolean=e.isNumber=e.isNil=e.clone=void 0,e.clone=function(t){var r,a=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}).shallow;if((0,e.isPrimitive)(t)||(0,e.isDate)(t))return t;if(Array.isArray(t))return a?function(t){if(Array.isArray(t))return i(t)}(r=t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(r)||o(r)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}():t.map((function(t){return(0,e.clone)(t)}));if(t instanceof Map){var u=Array.from(t.entries());return a?new Map(u):new Map(u.map((function(t){return(0,e.clone)(t)})))}if(t instanceof Set){var c=Array.from(t.values());return a?new Set(c):new Set(c.map((function(t){return(0,e.clone)(t)})))}return t instanceof RegExp?new RegExp(t.toString()):(0,e.isFunction)(t)?a?t:Object.create(t):a?Object.assign({},t):t instanceof Error?new Error(t.message):Object.keys(t).reduce((function(r,o){var i=t[o];return Object.assign(Object.assign({},r),n({},o,(0,e.clone)(i)))}),{})},e.isNil=function(t){return null==t},e.isNumber=function(t){return"number"==typeof t},e.isBoolean=function(t){return"boolean"==typeof t},e.isString=function(t){return"string"==typeof t},e.isDate=function(t){return t instanceof Date},e.isRegex=function(t){return t instanceof RegExp},e.isFunction=function(t){return"function"==typeof t||t instanceof Function},e.isPrimitive=function(t){return(0,e.isNil)(t)||(0,e.isNumber)(t)||(0,e.isBoolean)(t)||(0,e.isString)(t)||"symbol"===r(t)},e.formatFromStore=function(t){return function(t){var r,i;if((0,e.isPrimitive)(t))return t;if("date"===(null==t?void 0:t.$t))return new Date(t.$v);if("map"===(null==t?void 0:t.$t)){var a=(null!==(r=t.$v)&&void 0!==r?r:[]).map((function(t){var r,n=(2,function(t){if(Array.isArray(t))return t}(r=t)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,o,i,a,u=[],c=!0,l=!1;try{for(i=(r=r.call(t)).next,0;!(c=(n=i.call(r)).done)&&(u.push(n.value),2!==u.length);c=!0);}catch(t){l=!0,o=t}finally{try{if(!c&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return u}}(r)||o(r,2)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),i=n[0],a=n[1];return[i,(0,e.formatFromStore)(a)]}));return new Map(a)}if("set"===(null==t?void 0:t.$t)){var u=null!==(i=t.$v)&&void 0!==i?i:[].map((function(t){return(0,e.formatFromStore)(t)}));return new Set(u)}return"regex"===(null==t?void 0:t.$t)?new RegExp(t.$v):"error"===(null==t?void 0:t.$t)?new Error(t.$v):Array.isArray(t)?t.map((function(t){return(0,e.formatFromStore)(t)})):"function"===(null==t?void 0:t.$t)?Function("(".concat(t.$v,")(...arguments)")):Object.keys(t).reduce((function(r,o){var i=t[o];return Object.assign(Object.assign({},r),n({},o,(0,e.formatFromStore)(i)))}),{})}((arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}).jsonParse?JSON.parse(t):(0,e.clone)(t))},e.formatToStore=function(t){var o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{stringify:!1},i=o.stringify,a=o.validator,u=o.excludeTypes,c=o.excludeKeys,l=new Set(null!=u?u:[]),f=new Set(null!=c?c:[]),s=l.size||f.size,p=null!=a?a:function(t){var e=t.key,n=t.value;if(!s)return!0;var o=f.has(e),i=l.has(r(n));return!o&&!i},v=function t(r){if((0,e.isPrimitive)(r))return r;if(Array.isArray(r))return r.map((function(e){return t(e)}));if(r instanceof Map)return{$t:"map",$v:Array.from(r.entries()).map((function(e){return t(e)}))};if(r instanceof Set)return{$t:"set",$v:Array.from(r.values()).map((function(e){return t(e)}))};if((0,e.isDate)(r))return{$t:"date",$v:r.toISOString()};if((0,e.isRegex)(r))return{$t:"regex",$v:r.toString()};if((0,e.isFunction)(r)){var o;try{o={$t:"function",$v:r.toString()}}catch(t){o={$t:"error",$v:"Error: Could not serialize function"}}return o}return r instanceof Error?{$t:"error",$v:r.message}:Object.keys(r).reduce((function(e,o){var i=r[o],a=t(i);return p({obj:r,key:o,value:a})?Object.assign(Object.assign({},e),n({},o,t(i))):e}),{})}((0,e.clone)(t));return i?JSON.stringify(v):v}}},e={};return function r(n){var o=e[n];if(void 0!==o)return o.exports;var i=e[n]={exports:{}};return t[n](i,i.exports,r),i.exports}(991)})()},156:e=>{"use strict";e.exports=t}},r={},function t(n){var o=r[n];if(void 0!==o)return o.exports;var i=r[n]={exports:{}};return e[n].call(i.exports,i,i.exports,t),i.exports}(991);var e,r}));
|
|
2
|
+
!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(require("react")):"function"==typeof define&&define.amd?define(["react"],e):"object"==typeof exports?exports["react-native-global-state-hooks"]=e(require("react")):t["react-native-global-state-hooks"]=e(t.react)}(this,(t=>{return e={729:(t,e,r)=>{"use strict";function n(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,o,i,a,u=[],c=!0,l=!1;try{if(i=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&&(u.push(n.value),u.length!==e);c=!0);}catch(t){l=!0,o=t}finally{try{if(!c&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return u}}(t,e)||function(t,e){if(t){if("string"==typeof t)return o(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?o(t,e):void 0}}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function o(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}Object.defineProperty(e,"__esModule",{value:!0}),e.createCustomGlobalState=e.createCustomGlobalStateWithDecoupledFuncs=e.createGlobalState=e.createGlobalStateWithDecoupledFuncs=void 0;var i=r(774);e.createGlobalStateWithDecoupledFuncs=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=e.actions,o=function(t,e){var r={};for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&e.indexOf(n)<0&&(r[n]=t[n]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(n=Object.getOwnPropertySymbols(t);o<n.length;o++)e.indexOf(n[o])<0&&Object.prototype.propertyIsEnumerable.call(t,n[o])&&(r[n[o]]=t[n[o]])}return r}(e,["actions"]),a=new i.GlobalStore(t,o,r),u=n(a.getHookDecoupled(),2),c=u[0],l=u[1];return[a.getHook(),c,l]},e.createGlobalState=function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return n((0,e.createGlobalStateWithDecoupledFuncs)(t,r),1)[0]},e.createCustomGlobalStateWithDecoupledFuncs=function(t){var r=t.onInitialize,n=t.onChange;return function(t){var o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{config:null},i=o.config,a=o.actions,u=o.metadata,c=o.onInit,l=o.onStateChanged,s=o.onSubscribed,f=o.computePreventStateChange;return(0,e.createGlobalStateWithDecoupledFuncs)(t,{actions:a,metadata:u,onInit:function(t){r(t,i),null==c||c(t)},onStateChanged:function(t){n(t,i),null==l||l(t)},onSubscribed:s,computePreventStateChange:f})}},e.createCustomGlobalState=function(t){var r=t.onInitialize,o=t.onChange,i=(0,e.createCustomGlobalStateWithDecoupledFuncs)({onInitialize:r,onChange:o});return function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{config:{}},r=e.config,o=e.actions,a=e.metadata,u=e.onInit,c=e.onStateChanged,l=e.onSubscribed,s=e.computePreventStateChange;return n(i(t,{config:r,actions:o,metadata:a,onInit:u,onStateChanged:c,onSubscribed:l,computePreventStateChange:s}),1)[0]}}},774:(t,e,r)=>{"use strict";function n(t){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},n(t)}function o(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,o,i,a,u=[],c=!0,l=!1;try{if(i=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&&(u.push(n.value),u.length!==e);c=!0);}catch(t){l=!0,o=t}finally{try{if(!c&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return u}}(t,e)||function(t,e){if(t){if("string"==typeof t)return i(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?i(t,e):void 0}}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function i(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function a(){a=function(){return t};var t={},e=Object.prototype,r=e.hasOwnProperty,o=Object.defineProperty||function(t,e,r){t[e]=r.value},i="function"==typeof Symbol?Symbol:{},u=i.iterator||"@@iterator",c=i.asyncIterator||"@@asyncIterator",l=i.toStringTag||"@@toStringTag";function s(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{s({},"")}catch(t){s=function(t,e,r){return t[e]=r}}function f(t,e,r,n){var i=e&&e.prototype instanceof y?e:y,a=Object.create(i.prototype),u=new C(n||[]);return o(a,"_invoke",{value:j(t,r,u)}),a}function p(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}t.wrap=f;var v={};function y(){}function h(){}function d(){}var b={};s(b,u,(function(){return this}));var g=Object.getPrototypeOf,m=g&&g(g(E([])));m&&m!==e&&r.call(m,u)&&(b=m);var S=d.prototype=y.prototype=Object.create(b);function w(t){["next","throw","return"].forEach((function(e){s(t,e,(function(t){return this._invoke(e,t)}))}))}function O(t,e){function i(o,a,u,c){var l=p(t[o],t,a);if("throw"!==l.type){var s=l.arg,f=s.value;return f&&"object"==n(f)&&r.call(f,"__await")?e.resolve(f.__await).then((function(t){i("next",t,u,c)}),(function(t){i("throw",t,u,c)})):e.resolve(f).then((function(t){s.value=t,u(s)}),(function(t){return i("throw",t,u,c)}))}c(l.arg)}var a;o(this,"_invoke",{value:function(t,r){function n(){return new e((function(e,n){i(t,r,e,n)}))}return a=a?a.then(n,n):n()}})}function j(t,e,r){var n="suspendedStart";return function(o,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw i;return{value:void 0,done:!0}}for(r.method=o,r.arg=i;;){var a=r.delegate;if(a){var u=x(a,r);if(u){if(u===v)continue;return u}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var c=p(t,e,r);if("normal"===c.type){if(n=r.done?"completed":"suspendedYield",c.arg===v)continue;return{value:c.arg,done:r.done}}"throw"===c.type&&(n="completed",r.method="throw",r.arg=c.arg)}}}function x(t,e){var r=e.method,n=t.iterator[r];if(void 0===n)return e.delegate=null,"throw"===r&&t.iterator.return&&(e.method="return",e.arg=void 0,x(t,e),"throw"===e.method)||"return"!==r&&(e.method="throw",e.arg=new TypeError("The iterator does not provide a '"+r+"' method")),v;var o=p(n,t.iterator,e.arg);if("throw"===o.type)return e.method="throw",e.arg=o.arg,e.delegate=null,v;var i=o.arg;return i?i.done?(e[t.resultName]=i.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,v):i:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,v)}function P(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function k(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function C(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(P,this),this.reset(!0)}function E(t){if(t){var e=t[u];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var n=-1,o=function e(){for(;++n<t.length;)if(r.call(t,n))return e.value=t[n],e.done=!1,e;return e.value=void 0,e.done=!0,e};return o.next=o}}return{next:A}}function A(){return{value:void 0,done:!0}}return h.prototype=d,o(S,"constructor",{value:d,configurable:!0}),o(d,"constructor",{value:h,configurable:!0}),h.displayName=s(d,l,"GeneratorFunction"),t.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===h||"GeneratorFunction"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,d):(t.__proto__=d,s(t,l,"GeneratorFunction")),t.prototype=Object.create(S),t},t.awrap=function(t){return{__await:t}},w(O.prototype),s(O.prototype,c,(function(){return this})),t.AsyncIterator=O,t.async=function(e,r,n,o,i){void 0===i&&(i=Promise);var a=new O(f(e,r,n,o),i);return t.isGeneratorFunction(r)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},w(S),s(S,l,"Generator"),s(S,u,(function(){return this})),s(S,"toString",(function(){return"[object Generator]"})),t.keys=function(t){var e=Object(t),r=[];for(var n in e)r.push(n);return r.reverse(),function t(){for(;r.length;){var n=r.pop();if(n in e)return t.value=n,t.done=!1,t}return t.done=!0,t}},t.values=E,C.prototype={constructor:C,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(k),!t)for(var e in this)"t"===e.charAt(0)&&r.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function n(r,n){return a.type="throw",a.arg=t,e.next=r,n&&(e.method="next",e.arg=void 0),!!n}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var u=r.call(i,"catchLoc"),c=r.call(i,"finallyLoc");if(u&&c){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(u){if(this.prev<i.catchLoc)return n(i.catchLoc,!0)}else{if(!c)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(t,e){for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===t||"continue"===t)&&i.tryLoc<=e&&e<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=t,a.arg=e,i?(this.method="next",this.next=i.finallyLoc,v):this.complete(a)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),v},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),k(r),v}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;k(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,r){return this.delegate={iterator:E(t),resultName:e,nextLoc:r},"next"===this.method&&(this.arg=void 0),v}},t}function u(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,c(n.key),n)}}function c(t){var e=function(t,e){if("object"!==n(t)||null===t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var o=r.call(t,"string");if("object"!==n(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"===n(e)?e:String(e)}Object.defineProperty(e,"__esModule",{value:!0}),e.GlobalStore=void 0;var l=r(608),s=r(156),f=function(){function t(e){var r=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.actionsConfig=i,this.subscribers=new Map,this.config={metadata:null},this.onInit=null,this.onStateChanged=null,this.onSubscribed=null,this.computePreventStateChange=null,this.initialize=function(){return t=r,e=void 0,n=void 0,o=a().mark((function t(){var e,r,n;return a().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(e=this.onInit,r=this.config.onInit,e||r){t.next=4;break}return t.abrupt("return");case 4:n=this.getConfigCallbackParam({}),null==e||e(n),null==r||r(n);case 7:case"end":return t.stop()}}),t,this)})),new(n||(n=Promise))((function(r,i){function a(t){try{c(o.next(t))}catch(t){i(t)}}function u(t){try{c(o.throw(t))}catch(t){i(t)}}function c(t){var e;t.done?r(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(a,u)}c((o=o.apply(t,e||[])).next())}));var t,e,n,o},this.setState=function(t){var e=t.invokerSetState,n=t.state,i=t.forceUpdate;r.stateWrapper={state:n};var a=function(t,e){var r=e.selector,o=e.currentState,a=e.config,u=(null==a?void 0:a.isEqual)||null===(null==a?void 0:a.isEqual)?a.isEqual:r?l.shallowCompare:null,c=r?r(n):n;!i&&(null==u?void 0:u(o,c))||t({state:c})};if(e){var u=r.subscribers.get(e);a(e,u)}Array.from(r.subscribers.entries()).forEach((function(t){var r=o(t,2),n=r[0],i=r[1];n!==e&&a(n,i)}))},this.setMetadata=function(t){var e,n,o="function"==typeof t?t(null!==(e=r.config.metadata)&&void 0!==e?e:null):t;r.config=Object.assign(Object.assign({},null!==(n=r.config)&&void 0!==n?n:{}),{metadata:o})},this.getMetadata=function(){var t;return null!==(t=r.config.metadata)&&void 0!==t?t:null},this.createChangesSubscriber=function(t){var e=t.callback,n=t.selector,o=t.config,i=n?n(r.stateWrapper.state):r.stateWrapper.state,a={state:i};return(null==o?void 0:o.skipFirst)||e(i),{stateWrapper:a,subscription:function(t){var r=t.state;a.state=r,e(r)}}},this.getState=function(t){if(!t)return r.stateWrapper.state;var e=r.stateWrapper.state,n=new Map;if(t({state:e,subscribe:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=r.createChangesSubscriber({selector:null,callback:t,config:e}),i=o.subscription,a=o.stateWrapper;r.updateSubscription({selector:null,config:e,stateWrapper:a,invokerSetState:i}),n.set(i,{config:e})},subscribeSelector:function(t,e){var o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=r.createChangesSubscriber({selector:t,callback:e,config:o}),a=i.subscription,u=i.stateWrapper;r.updateSubscription({selector:t,config:Object.assign({isEqual:l.shallowCompare},o),stateWrapper:u,invokerSetState:a}),n.set(a,{config:o,selector:t})}}),!n.size)throw new Error("No new subscribers were added, please make sure to add at least one subscriber with the subscribe/subscribeSelector methods");return function(){Array.from(n.keys()).forEach((function(t){r.subscribers.delete(t)}))}},this.getConfigCallbackParam=function(t){var e=t.invokerSetState;return{setMetadata:r.setMetadata,getMetadata:r.getMetadata,getState:r.getState,setState:r.getSetStateWrapper({invokerSetState:e}),actions:r.getStoreActionsMap()}},this.updateSubscription=function(t){var e=t.selector,n=t.config,o=void 0===n?{}:n,i=t.stateWrapper.state,a=t.invokerSetState,u=r.subscribers.get(a);if(u)u.currentState=i;else{var c=r.onSubscribed,l=r.config.onSubscribed;if(c||l){var s=r.getConfigCallbackParam({invokerSetState:a});null==c||c(s),null==l||l(s)}r.subscribers.set(a,{selector:e,config:o,currentState:i})}},this.getHook=function(){return function(t){var e,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=o((0,s.useState)((function(){return t?{state:t(r.stateWrapper.state)}:r.stateWrapper})),2),a=i[0],u=i[1];r.updateSubscription({invokerSetState:u,stateWrapper:a,selector:t,config:n}),(0,s.useEffect)((function(){return function(){r.subscribers.delete(u)}}),[]);var c=(0,s.useMemo)((function(){return r.getStateOrchestrator(u)}),[]);return[a.state,c,null!==(e=r.config.metadata)&&void 0!==e?e:null]}},this.getHookDecoupled=function(){var t=r.getStateOrchestrator(),e=r.getMetadata;return[r.getState,t,e]},this.getSetStateWrapper=function(){var t=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).invokerSetState;return function(e){var n=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}).forceUpdate;r.computeSetState({invokerSetState:t,setter:e,forceUpdate:n})}},this.hasStateCallbacks=function(){var t=r.computePreventStateChange,e=r.onStateChanged,n=r.config,o=n.computePreventStateChange,i=n.onStateChanged;return!!(t||o||e||i)},this.computeSetState=function(t){var e=t.setter,n=t.invokerSetState,o=t.forceUpdate,i="function"==typeof e,a=r.stateWrapper.state,u=i?e(a):e;if(o||!Object.is(r.stateWrapper.state,u)){var c=r.hasStateCallbacks(),l=c&&r.getStoreActionsMap({}),s=c&&r.getSetStateWrapper({invokerSetState:n}),f={setMetadata:r.setMetadata,getMetadata:r.getMetadata,setState:s||null,getState:r.getState,actions:l,previousState:a,state:u},p=r.computePreventStateChange,v=r.config.computePreventStateChange;if((p||v)&&((null==p?void 0:p(f))||(null==v?void 0:v(f))))return;r.setState({forceUpdate:o,invokerSetState:n,state:u});var y=r.onStateChanged,h=r.config.onStateChanged;(y||h)&&(null==y||y(f),null==h||h(f))}},this.getStoreActionsMap=function(){var t=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).invokerSetState;if(!r.actionsConfig)return null;var e=r.actionsConfig,n=r.setMetadata,o=e,i=Object.keys(o),a=r.getSetStateWrapper({invokerSetState:t}),u=r.getState,l=r.getMetadata,s=i.reduce((function(t,e){return Object.assign(Object.assign({},t),(r={},f=function(){for(var t=o[e],r=arguments.length,i=new Array(r),c=0;c<r;c++)i[c]=arguments[c];var f=t.apply(s,i);return"function"!=typeof f&&function(t){throw new Error("[WRONG CONFIGURATION!]: Every key inside the storeActionsConfig must be a higher order function that returns a function \n[".concat(t,"]: key is not a valid function, try something like this: \n{\n\n ").concat(t,": (param) => ({ setState, getState, setMetadata, getMetadata }) => {\n\n setState((state) => ({ ...state, ...param }))\n\n }\n\n}\n"))}(e),f.call(s,{setState:a,getState:u,setMetadata:n,getMetadata:l,actions:s})},(i=c(i=e))in r?Object.defineProperty(r,i,{value:f,enumerable:!0,configurable:!0,writable:!0}):r[i]=f,r));var r,i,f}),{});return s},this.stateWrapper={state:e},this.config=Object.assign({metadata:null},null!=n?n:{}),this.constructor!==t||this.initialize()}var e,r;return e=t,(r=[{key:"state",get:function(){return this.stateWrapper.state}},{key:"getStateOrchestrator",value:function(t){return this.actionsConfig?this.getStoreActionsMap({invokerSetState:t}):this.getSetStateWrapper({invokerSetState:t})}}])&&u(e.prototype,r),Object.defineProperty(e,"prototype",{writable:!1}),t}();e.GlobalStore=f},530:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0})},608:(t,e,r)=>{"use strict";function n(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,o,i,a,u=[],c=!0,l=!1;try{if(i=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&&(u.push(n.value),u.length!==e);c=!0);}catch(t){l=!0,o=t}finally{try{if(!c&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return u}}(t,e)||i(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function o(t,e){var r="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=i(t))||e&&t&&"number"==typeof t.length){r&&(t=r);var n=0,o=function(){};return{s:o,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,u=!0,c=!1;return{s:function(){r=r.call(t)},n:function(){var t=r.next();return u=t.done,t},e:function(t){c=!0,a=t},f:function(){try{u||null==r.return||r.return()}finally{if(c)throw a}}}}function i(t,e){if(t){if("string"==typeof t)return a(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?a(t,e):void 0}}function a(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function u(t){return u="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},u(t)}Object.defineProperty(e,"__esModule",{value:!0}),e.shallowCompare=void 0;var c=r(684);e.shallowCompare=function(t,e){if(t===e)return!0;var r=u(t),i=u(e);if(r!==i)return!1;if((0,c.isPrimitive)(t)&&(0,c.isPrimitive)(e)||(0,c.isDate)(t)&&(0,c.isDate)(e)||"function"===r&&"function"===i)return t===e;if(Array.isArray(t)){var a=t,l=e;if(a.length!==l.length)return!1;for(var s=0;s<a.length;s++)if(a[s]!==l[s])return!1}if(t instanceof Map){var f=t,p=e;if(f.size!==p.size)return!1;var v,y=o(f);try{for(y.s();!(v=y.n()).done;){var h=n(v.value,2),d=h[0];if(h[1]!==p.get(d))return!1}}catch(t){y.e(t)}finally{y.f()}}if(t instanceof Set){var b=t,g=e;if(b.size!==g.size)return!1;var m,S=o(b);try{for(S.s();!(m=S.n()).done;){var w=m.value;if(!g.has(w))return!1}}catch(t){S.e(t)}finally{S.f()}}var O=Object.keys(t),j=Object.keys(e);if(O.length!==j.length)return!1;for(var x=0,P=O;x<P.length;x++){var k=P[x];if(t[k]!==e[k])return!1}return!0}},195:(t,e,r)=>{"use strict";function n(t){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},n(t)}function o(t,e){return o=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},o(t,e)}function i(t){return i=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},i(t)}Object.defineProperty(e,"__esModule",{value:!0}),e.GlobalStoreAbstract=void 0;var a=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&o(t,e)}(c,t);var e,r,a,u=(r=c,a=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}(),function(){var t,e=i(r);if(a){var o=i(this).constructor;t=Reflect.construct(e,arguments,o)}else t=e.apply(this,arguments);return function(t,e){if(e&&("object"===n(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}(this,t)});function c(t){var e,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,c),(e=u.call(this,t,r,n)).onInit=function(t){e.onInitialize(t)},e.onStateChanged=function(t){e.onChange(t)},e}return e=c,Object.defineProperty(e,"prototype",{writable:!1}),e}(r(774).GlobalStore);e.GlobalStoreAbstract=a},991:(t,e,r)=>{"use strict";var n=Object.create?function(t,e,r,n){void 0===n&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);o&&!("get"in o?!e.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}:function(t,e,r,n){void 0===n&&(n=r),t[n]=e[r]},o=function(t,e){for(var r in t)"default"===r||Object.prototype.hasOwnProperty.call(e,r)||n(e,t,r)};Object.defineProperty(e,"__esModule",{value:!0}),o(r(684),e),o(r(530),e),o(r(774),e),o(r(195),e),o(r(729),e)},684:function(t){t.exports=(()=>{"use strict";var t={991:(t,e,r)=>{var n=Object.create?function(t,e,r,n){void 0===n&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);o&&!("get"in o?!e.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}:function(t,e,r,n){void 0===n&&(n=r),t[n]=e[r]};Object.defineProperty(e,"__esModule",{value:!0}),function(t,e){for(var r in t)"default"===r||Object.prototype.hasOwnProperty.call(e,r)||n(e,t,r)}(r(729),e)},729:(t,e)=>{function r(t){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},r(t)}function n(t,e,n){return(e=function(t){var e=function(t,e){if("object"!==r(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var o=n.call(t,"string");if("object"!==r(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"===r(e)?e:String(e)}(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function o(t,e){if(t){if("string"==typeof t)return i(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?i(t,e):void 0}}function i(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}Object.defineProperty(e,"__esModule",{value:!0}),e.formatToStore=e.formatFromStore=e.isPrimitive=e.isFunction=e.isRegex=e.isDate=e.isString=e.isBoolean=e.isNumber=e.isNil=e.clone=void 0,e.clone=function(t){var r,a=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}).shallow;if((0,e.isPrimitive)(t)||(0,e.isDate)(t))return t;if(Array.isArray(t))return a?function(t){if(Array.isArray(t))return i(t)}(r=t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(r)||o(r)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}():t.map((function(t){return(0,e.clone)(t)}));if(t instanceof Map){var u=Array.from(t.entries());return a?new Map(u):new Map(u.map((function(t){return(0,e.clone)(t)})))}if(t instanceof Set){var c=Array.from(t.values());return a?new Set(c):new Set(c.map((function(t){return(0,e.clone)(t)})))}return t instanceof RegExp?new RegExp(t.toString()):(0,e.isFunction)(t)?a?t:Object.create(t):a?Object.assign({},t):t instanceof Error?new Error(t.message):Object.keys(t).reduce((function(r,o){var i=t[o];return Object.assign(Object.assign({},r),n({},o,(0,e.clone)(i)))}),{})},e.isNil=function(t){return null==t},e.isNumber=function(t){return"number"==typeof t},e.isBoolean=function(t){return"boolean"==typeof t},e.isString=function(t){return"string"==typeof t},e.isDate=function(t){return t instanceof Date},e.isRegex=function(t){return t instanceof RegExp},e.isFunction=function(t){return"function"==typeof t||t instanceof Function},e.isPrimitive=function(t){return(0,e.isNil)(t)||(0,e.isNumber)(t)||(0,e.isBoolean)(t)||(0,e.isString)(t)||"symbol"===r(t)},e.formatFromStore=function(t){return function(t){var r,i;if((0,e.isPrimitive)(t))return t;if("date"===(null==t?void 0:t.$t))return new Date(t.$v);if("map"===(null==t?void 0:t.$t)){var a=(null!==(r=t.$v)&&void 0!==r?r:[]).map((function(t){var r,n=(2,function(t){if(Array.isArray(t))return t}(r=t)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,o,i,a,u=[],c=!0,l=!1;try{for(i=(r=r.call(t)).next,0;!(c=(n=i.call(r)).done)&&(u.push(n.value),2!==u.length);c=!0);}catch(t){l=!0,o=t}finally{try{if(!c&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return u}}(r)||o(r,2)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),i=n[0],a=n[1];return[i,(0,e.formatFromStore)(a)]}));return new Map(a)}if("set"===(null==t?void 0:t.$t)){var u=null!==(i=t.$v)&&void 0!==i?i:[].map((function(t){return(0,e.formatFromStore)(t)}));return new Set(u)}return"regex"===(null==t?void 0:t.$t)?new RegExp(t.$v):"error"===(null==t?void 0:t.$t)?new Error(t.$v):Array.isArray(t)?t.map((function(t){return(0,e.formatFromStore)(t)})):"function"===(null==t?void 0:t.$t)?Function("(".concat(t.$v,")(...arguments)")):Object.keys(t).reduce((function(r,o){var i=t[o];return Object.assign(Object.assign({},r),n({},o,(0,e.formatFromStore)(i)))}),{})}((arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}).jsonParse?JSON.parse(t):(0,e.clone)(t))},e.formatToStore=function(t){var o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{stringify:!1},i=o.stringify,a=o.validator,u=o.excludeTypes,c=o.excludeKeys,l=new Set(null!=u?u:[]),s=new Set(null!=c?c:[]),f=l.size||s.size,p=null!=a?a:function(t){var e=t.key,n=t.value;if(!f)return!0;var o=s.has(e),i=l.has(r(n));return!o&&!i},v=function t(r){if((0,e.isPrimitive)(r))return r;if(Array.isArray(r))return r.map((function(e){return t(e)}));if(r instanceof Map)return{$t:"map",$v:Array.from(r.entries()).map((function(e){return t(e)}))};if(r instanceof Set)return{$t:"set",$v:Array.from(r.values()).map((function(e){return t(e)}))};if((0,e.isDate)(r))return{$t:"date",$v:r.toISOString()};if((0,e.isRegex)(r))return{$t:"regex",$v:r.toString()};if((0,e.isFunction)(r)){var o;try{o={$t:"function",$v:r.toString()}}catch(t){o={$t:"error",$v:"Error: Could not serialize function"}}return o}return r instanceof Error?{$t:"error",$v:r.message}:Object.keys(r).reduce((function(e,o){var i=r[o],a=t(i);return p({obj:r,key:o,value:a})?Object.assign(Object.assign({},e),n({},o,t(i))):e}),{})}((0,e.clone)(t));return i?JSON.stringify(v):v}}},e={};return function r(n){var o=e[n];if(void 0!==o)return o.exports;var i=e[n]={exports:{}};return t[n](i,i.exports,r),i.exports}(991)})()},156:e=>{"use strict";e.exports=t}},r={},function t(n){var o=r[n];if(void 0!==o)return o.exports;var i=r[n]={exports:{}};return e[n].call(i.exports,i,i.exports,t),i.exports}(991);var e,r}));
|
package/package.json
CHANGED