state-decorator 6.7.0 → 6.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +191 -170
- package/impl.d.ts +7 -1
- package/impl.es.js +1 -1
- package/impl.es.js.map +1 -1
- package/impl.js +1 -1
- package/impl.js.map +1 -1
- package/index.d.ts +16 -4
- package/index.es.js +1 -1
- package/index.es.js.map +1 -1
- package/index.js +1 -1
- package/index.js.map +1 -1
- package/middlewares.es.js +1 -1
- package/middlewares.es.js.map +1 -1
- package/middlewares.js +1 -1
- package/middlewares.js.map +1 -1
- package/package.json +1 -1
- package/test.d.ts +13 -3
- package/test.es.js +1 -1
- package/test.es.js.map +1 -1
- package/test.js +1 -1
- package/test.js.map +1 -1
- package/types.d.ts +9 -0
- package/v5.es.js +1 -1
package/README.md
CHANGED
|
@@ -9,7 +9,7 @@ The StateDecorator is a set of Reacts hook that manages a complex component stat
|
|
|
9
9
|
# Features
|
|
10
10
|
|
|
11
11
|
- Deterministic state changes (clear separation of effects and side effects)
|
|
12
|
-
- Ease asynchronous actions state changes (loading states, success & error handlers, parallel actions management, optimistic updates...)
|
|
12
|
+
- Ease asynchronous actions state changes (loading / error states, success & error handlers, parallel actions management, optimistic updates...)
|
|
13
13
|
- Easily and efficiently share slices of state.
|
|
14
14
|
- Easily testable (uses pure functions, utility functions provided)
|
|
15
15
|
- Easily update state from or react to props changes
|
|
@@ -316,15 +316,34 @@ const actions: StoreActions<State, Actions> = {
|
|
|
316
316
|
The loading state of asynchronous actions is automatically computed.
|
|
317
317
|
|
|
318
318
|
```typescript
|
|
319
|
-
const { isLoading, loading } = useLocalStore(getInitialState, actionsImpl);
|
|
319
|
+
const { isLoading, loading, loadingMap } = useLocalStore(getInitialState, actionsImpl);
|
|
320
320
|
|
|
321
321
|
// loading is set to true is at least one asynchronous action is ongoing.
|
|
322
|
+
// loadingMap is action name to boolean or undefined map
|
|
322
323
|
|
|
323
324
|
// isLoading is a function that accepts 1+ arguments
|
|
324
325
|
// It returns true, if at least one of the specified actions is loading.
|
|
325
326
|
const isOneLoading = isLoading('action1', 'action2', ['parallelAction', 'promiseId']);
|
|
326
327
|
```
|
|
327
328
|
|
|
329
|
+
## Error state
|
|
330
|
+
|
|
331
|
+
The last error of each asynchronous actions is available on the errorMap.
|
|
332
|
+
|
|
333
|
+
```typescript
|
|
334
|
+
const { errorMap } = useLocalStore(getInitialState, actionsImpl);
|
|
335
|
+
|
|
336
|
+
|
|
337
|
+
if (errorMap.action1)) {
|
|
338
|
+
// show retry action
|
|
339
|
+
}
|
|
340
|
+
|
|
341
|
+
if (errorMap.action1 instanceof MyCustomError ){
|
|
342
|
+
// show retry action with custom error handling
|
|
343
|
+
}
|
|
344
|
+
|
|
345
|
+
```
|
|
346
|
+
|
|
328
347
|
## Success / error notifications
|
|
329
348
|
|
|
330
349
|
A notification function can be called when the asynchronous action succeeded or failed.
|
|
@@ -931,172 +950,6 @@ describe('Todo', () => {
|
|
|
931
950
|
});
|
|
932
951
|
});
|
|
933
952
|
|
|
934
|
-
it('onSetNewTitle', async () => {
|
|
935
|
-
// always return a promise whatever if the action is asynchronous or not
|
|
936
|
-
const { state, prevState } = await store.getAction('onSetNewTitle').call('new Title');
|
|
937
|
-
|
|
938
|
-
// previous state is available for comparison
|
|
939
|
-
expect(prevState.newTitle).toEqual('');
|
|
940
|
-
expect(state.newTitle).toEqual('new Title');
|
|
941
|
-
});
|
|
942
|
-
|
|
943
|
-
it('onCreate', async () => {
|
|
944
|
-
const {
|
|
945
|
-
state: { todoIds, todoMap, todos },
|
|
946
|
-
} = await store
|
|
947
|
-
// set partial state and return new store, source store is untouched
|
|
948
|
-
.setPartialState({
|
|
949
|
-
newTitle: 'new todo',
|
|
950
|
-
})
|
|
951
|
-
// get a mock action that can be shared too !
|
|
952
|
-
.getAction('onCreate')
|
|
953
|
-
// Invokes action. It has no side effect on state of mock action
|
|
954
|
-
.call();
|
|
955
|
-
|
|
956
|
-
// assert state
|
|
957
|
-
expect(todoIds).toEqual(['id', 'id2', 'id3']);
|
|
958
|
-
expect(todoMap).toEqual({
|
|
959
|
-
id: {
|
|
960
|
-
id: 'id',
|
|
961
|
-
completed: true,
|
|
962
|
-
title: 'todo',
|
|
963
|
-
},
|
|
964
|
-
id2: {
|
|
965
|
-
id: 'id2',
|
|
966
|
-
completed: false,
|
|
967
|
-
title: 'todo 2',
|
|
968
|
-
},
|
|
969
|
-
id3: {
|
|
970
|
-
id: 'id3',
|
|
971
|
-
completed: false,
|
|
972
|
-
title: 'new todo',
|
|
973
|
-
},
|
|
974
|
-
});
|
|
975
|
-
|
|
976
|
-
// assert derived state
|
|
977
|
-
//
|
|
978
|
-
// export const todoOptions: StoreOptions<State, Actions, Props, DerivedState> = {
|
|
979
|
-
// derivedState: {
|
|
980
|
-
// todos: {
|
|
981
|
-
// getDeps: ({ s }) => [s.todoIds, s.todoMap],
|
|
982
|
-
// get: ({ s }) => s.todoIds.map((id) => s.todoMap[id]),
|
|
983
|
-
// },
|
|
984
|
-
// },
|
|
985
|
-
// };
|
|
986
|
-
|
|
987
|
-
expect(todos).toEqual([
|
|
988
|
-
{
|
|
989
|
-
id: 'id',
|
|
990
|
-
completed: true,
|
|
991
|
-
title: 'todo',
|
|
992
|
-
},
|
|
993
|
-
{
|
|
994
|
-
id: 'id2',
|
|
995
|
-
completed: false,
|
|
996
|
-
title: 'todo 2',
|
|
997
|
-
},
|
|
998
|
-
{
|
|
999
|
-
id: 'id3',
|
|
1000
|
-
completed: false,
|
|
1001
|
-
title: 'new todo',
|
|
1002
|
-
},
|
|
1003
|
-
]);
|
|
1004
|
-
});
|
|
1005
|
-
|
|
1006
|
-
describe('onToggle', () => {
|
|
1007
|
-
// this mock action is shared in two tests but they can run in parallel
|
|
1008
|
-
const onToggle = store.getAction('onToggle');
|
|
1009
|
-
|
|
1010
|
-
it('toggle false => true', async () => {
|
|
1011
|
-
// arguments of call() depend on the Store action signature, use auto completion!
|
|
1012
|
-
const {
|
|
1013
|
-
state: { todoIds, todoMap },
|
|
1014
|
-
actions,
|
|
1015
|
-
} = await onToggle.call('id2');
|
|
1016
|
-
|
|
1017
|
-
expect(todoIds).toEqual(['id', 'id2']);
|
|
1018
|
-
expect(todoMap).toEqual({
|
|
1019
|
-
id: {
|
|
1020
|
-
id: 'id',
|
|
1021
|
-
completed: true,
|
|
1022
|
-
title: 'todo',
|
|
1023
|
-
},
|
|
1024
|
-
id2: {
|
|
1025
|
-
id: 'id2',
|
|
1026
|
-
completed: true,
|
|
1027
|
-
title: 'todo 2',
|
|
1028
|
-
},
|
|
1029
|
-
});
|
|
1030
|
-
|
|
1031
|
-
// if there are some side effects calling store actions, you can test them
|
|
1032
|
-
// as mock actions are injected instead of real actions.
|
|
1033
|
-
expect(actions.updateRemoteList).toHaveBeenCalled();
|
|
1034
|
-
});
|
|
1035
|
-
|
|
1036
|
-
it('toggle true => false', async () => {
|
|
1037
|
-
const {
|
|
1038
|
-
state: { todoIds, todoMap },
|
|
1039
|
-
actions,
|
|
1040
|
-
} = await onToggle.call('id');
|
|
1041
|
-
|
|
1042
|
-
expect(todoIds).toEqual(['id', 'id2']);
|
|
1043
|
-
expect(todoMap).toEqual({
|
|
1044
|
-
id: {
|
|
1045
|
-
id: 'id',
|
|
1046
|
-
completed: false,
|
|
1047
|
-
title: 'todo',
|
|
1048
|
-
},
|
|
1049
|
-
id2: {
|
|
1050
|
-
id: 'id2',
|
|
1051
|
-
completed: false,
|
|
1052
|
-
title: 'todo 2',
|
|
1053
|
-
},
|
|
1054
|
-
});
|
|
1055
|
-
|
|
1056
|
-
// if there are some side effects calling store actions, you can test them
|
|
1057
|
-
// as mock actions are injected instead of real actions.
|
|
1058
|
-
expect(actions.updateRemoteList).toHaveBeenCalled();
|
|
1059
|
-
});
|
|
1060
|
-
});
|
|
1061
|
-
|
|
1062
|
-
// Another store / action
|
|
1063
|
-
describe('loadRemoteList', () => {
|
|
1064
|
-
// action is shared
|
|
1065
|
-
const action = store.getAction('loadRemoteList');
|
|
1066
|
-
|
|
1067
|
-
it('success', async () => {
|
|
1068
|
-
const { state } = await action
|
|
1069
|
-
// override default promise result
|
|
1070
|
-
.promiseResolves([
|
|
1071
|
-
{
|
|
1072
|
-
id: 'item1',
|
|
1073
|
-
title: 'item title',
|
|
1074
|
-
completed: true,
|
|
1075
|
-
},
|
|
1076
|
-
])
|
|
1077
|
-
.call();
|
|
1078
|
-
|
|
1079
|
-
expect(state.error).toBeFalsy();
|
|
1080
|
-
expect(state.todoIds).toEqual(['item1']);
|
|
1081
|
-
expect(state.todoMap).toEqual({
|
|
1082
|
-
item1: {
|
|
1083
|
-
id: 'item1',
|
|
1084
|
-
title: 'item title',
|
|
1085
|
-
completed: true,
|
|
1086
|
-
},
|
|
1087
|
-
});
|
|
1088
|
-
});
|
|
1089
|
-
|
|
1090
|
-
it('error', async () => {
|
|
1091
|
-
const { state } = await action
|
|
1092
|
-
// override default promise result with error
|
|
1093
|
-
.promiseRejects(new Error('boom'))
|
|
1094
|
-
.call();
|
|
1095
|
-
|
|
1096
|
-
expect(state.error).toBeTruthy();
|
|
1097
|
-
});
|
|
1098
|
-
});
|
|
1099
|
-
|
|
1100
953
|
// Test effects and side effect when props are changing
|
|
1101
954
|
//
|
|
1102
955
|
// Here:
|
|
@@ -1146,6 +999,174 @@ describe('Todo', () => {
|
|
|
1146
999
|
expect(actions.loadRemoteList).not.toHaveBeenCalled();
|
|
1147
1000
|
});
|
|
1148
1001
|
});
|
|
1002
|
+
|
|
1003
|
+
describe('actions', () => {
|
|
1004
|
+
it('onSetNewTitle', async () => {
|
|
1005
|
+
// always return a promise whatever if the action is asynchronous or not
|
|
1006
|
+
const { state, prevState } = await store.getAction('onSetNewTitle').call('new Title');
|
|
1007
|
+
|
|
1008
|
+
// previous state is available for comparison
|
|
1009
|
+
expect(prevState.newTitle).toEqual('');
|
|
1010
|
+
expect(state.newTitle).toEqual('new Title');
|
|
1011
|
+
});
|
|
1012
|
+
|
|
1013
|
+
it('onCreate', async () => {
|
|
1014
|
+
const {
|
|
1015
|
+
state: { todoIds, todoMap, todos },
|
|
1016
|
+
} = await store
|
|
1017
|
+
// set partial state and return new store, source store is untouched
|
|
1018
|
+
.setPartialState({
|
|
1019
|
+
newTitle: 'new todo',
|
|
1020
|
+
})
|
|
1021
|
+
// get a mock action that can be shared too !
|
|
1022
|
+
.getAction('onCreate')
|
|
1023
|
+
// Invokes action. It has no side effect on state of mock action
|
|
1024
|
+
.call();
|
|
1025
|
+
|
|
1026
|
+
// assert state
|
|
1027
|
+
expect(todoIds).toEqual(['id', 'id2', 'id3']);
|
|
1028
|
+
expect(todoMap).toEqual({
|
|
1029
|
+
id: {
|
|
1030
|
+
id: 'id',
|
|
1031
|
+
completed: true,
|
|
1032
|
+
title: 'todo',
|
|
1033
|
+
},
|
|
1034
|
+
id2: {
|
|
1035
|
+
id: 'id2',
|
|
1036
|
+
completed: false,
|
|
1037
|
+
title: 'todo 2',
|
|
1038
|
+
},
|
|
1039
|
+
id3: {
|
|
1040
|
+
id: 'id3',
|
|
1041
|
+
completed: false,
|
|
1042
|
+
title: 'new todo',
|
|
1043
|
+
},
|
|
1044
|
+
});
|
|
1045
|
+
|
|
1046
|
+
// assert derived state
|
|
1047
|
+
//
|
|
1048
|
+
// export const todoOptions: StoreOptions<State, Actions, Props, DerivedState> = {
|
|
1049
|
+
// derivedState: {
|
|
1050
|
+
// todos: {
|
|
1051
|
+
// getDeps: ({ s }) => [s.todoIds, s.todoMap],
|
|
1052
|
+
// get: ({ s }) => s.todoIds.map((id) => s.todoMap[id]),
|
|
1053
|
+
// },
|
|
1054
|
+
// },
|
|
1055
|
+
// };
|
|
1056
|
+
|
|
1057
|
+
expect(todos).toEqual([
|
|
1058
|
+
{
|
|
1059
|
+
id: 'id',
|
|
1060
|
+
completed: true,
|
|
1061
|
+
title: 'todo',
|
|
1062
|
+
},
|
|
1063
|
+
{
|
|
1064
|
+
id: 'id2',
|
|
1065
|
+
completed: false,
|
|
1066
|
+
title: 'todo 2',
|
|
1067
|
+
},
|
|
1068
|
+
{
|
|
1069
|
+
id: 'id3',
|
|
1070
|
+
completed: false,
|
|
1071
|
+
title: 'new todo',
|
|
1072
|
+
},
|
|
1073
|
+
]);
|
|
1074
|
+
});
|
|
1075
|
+
|
|
1076
|
+
describe('onToggle', () => {
|
|
1077
|
+
// this mock action is shared in two tests but they can run in parallel
|
|
1078
|
+
const onToggle = store.getAction('onToggle');
|
|
1079
|
+
|
|
1080
|
+
it('toggle false => true', async () => {
|
|
1081
|
+
// arguments of call() depend on the Store action signature, use auto completion!
|
|
1082
|
+
const {
|
|
1083
|
+
state: { todoIds, todoMap },
|
|
1084
|
+
actions,
|
|
1085
|
+
} = await onToggle.call('id2');
|
|
1086
|
+
|
|
1087
|
+
expect(todoIds).toEqual(['id', 'id2']);
|
|
1088
|
+
expect(todoMap).toEqual({
|
|
1089
|
+
id: {
|
|
1090
|
+
id: 'id',
|
|
1091
|
+
completed: true,
|
|
1092
|
+
title: 'todo',
|
|
1093
|
+
},
|
|
1094
|
+
id2: {
|
|
1095
|
+
id: 'id2',
|
|
1096
|
+
completed: true,
|
|
1097
|
+
title: 'todo 2',
|
|
1098
|
+
},
|
|
1099
|
+
});
|
|
1100
|
+
|
|
1101
|
+
// if there are some side effects calling store actions, you can test them
|
|
1102
|
+
// as mock actions are injected instead of real actions.
|
|
1103
|
+
expect(actions.updateRemoteList).toHaveBeenCalled();
|
|
1104
|
+
});
|
|
1105
|
+
|
|
1106
|
+
it('toggle true => false', async () => {
|
|
1107
|
+
const {
|
|
1108
|
+
state: { todoIds, todoMap },
|
|
1109
|
+
actions,
|
|
1110
|
+
} = await onToggle.call('id');
|
|
1111
|
+
|
|
1112
|
+
expect(todoIds).toEqual(['id', 'id2']);
|
|
1113
|
+
expect(todoMap).toEqual({
|
|
1114
|
+
id: {
|
|
1115
|
+
id: 'id',
|
|
1116
|
+
completed: false,
|
|
1117
|
+
title: 'todo',
|
|
1118
|
+
},
|
|
1119
|
+
id2: {
|
|
1120
|
+
id: 'id2',
|
|
1121
|
+
completed: false,
|
|
1122
|
+
title: 'todo 2',
|
|
1123
|
+
},
|
|
1124
|
+
});
|
|
1125
|
+
|
|
1126
|
+
// if there are some side effects calling store actions, you can test them
|
|
1127
|
+
// as mock actions are injected instead of real actions.
|
|
1128
|
+
expect(actions.updateRemoteList).toHaveBeenCalled();
|
|
1129
|
+
});
|
|
1130
|
+
});
|
|
1131
|
+
|
|
1132
|
+
// Another store / action
|
|
1133
|
+
describe('loadRemoteList', () => {
|
|
1134
|
+
// action is shared
|
|
1135
|
+
const action = store.getAction('loadRemoteList');
|
|
1136
|
+
|
|
1137
|
+
it('success', async () => {
|
|
1138
|
+
const { state } = await action
|
|
1139
|
+
// override default promise result
|
|
1140
|
+
.promiseResolves([
|
|
1141
|
+
{
|
|
1142
|
+
id: 'item1',
|
|
1143
|
+
title: 'item title',
|
|
1144
|
+
completed: true,
|
|
1145
|
+
},
|
|
1146
|
+
])
|
|
1147
|
+
.call();
|
|
1148
|
+
|
|
1149
|
+
expect(state.error).toBeFalsy();
|
|
1150
|
+
expect(state.todoIds).toEqual(['item1']);
|
|
1151
|
+
expect(state.todoMap).toEqual({
|
|
1152
|
+
item1: {
|
|
1153
|
+
id: 'item1',
|
|
1154
|
+
title: 'item title',
|
|
1155
|
+
completed: true,
|
|
1156
|
+
},
|
|
1157
|
+
});
|
|
1158
|
+
});
|
|
1159
|
+
|
|
1160
|
+
it('error', async () => {
|
|
1161
|
+
const { state } = await action
|
|
1162
|
+
// override default promise result with error
|
|
1163
|
+
.promiseRejects(new Error('boom'))
|
|
1164
|
+
.call();
|
|
1165
|
+
|
|
1166
|
+
expect(state.error).toBeTruthy();
|
|
1167
|
+
});
|
|
1168
|
+
});
|
|
1169
|
+
});
|
|
1149
1170
|
});
|
|
1150
1171
|
```
|
|
1151
1172
|
|
|
@@ -1270,9 +1291,9 @@ TypeError: Cannot set property 'crash' of null
|
|
|
1270
1291
|
### MockStore
|
|
1271
1292
|
|
|
1272
1293
|
| Function | Arguments | Returns | Description |
|
|
1273
|
-
| --------------- | ------------------------------------ | ------------------- | ------------------------------------------------------------------------------------------- |
|
|
1294
|
+
| --------------- | ------------------------------------ | ------------------- | ------------------------------------------------------------------------------------------- |
|
|
1274
1295
|
| getAction | actionName: keyof A | MockStoreAction | Get a mock action instance |
|
|
1275
|
-
| onInit | props?: Partial<P> | MockResult | Test store initialization (onPropsChanged marked onMount + onMount) |
|
|
1296
|
+
| onInit | props?: Partial<P> | MockResult | Test store initialization (onPropsChanged marked onMount + onMount) |
|
|
1276
1297
|
| onPropsChange | props: P, init?: boolean | MockResult | Test prop changes. Does not change internal props. Init allows to test onMount prop changes |
|
|
1277
1298
|
| setPartialProps | props: Partial<P> | new mock store | Create a new store with the merge of current props and partial props |
|
|
1278
1299
|
| setPartialState | state: Partial<S> | new mock store | Create a new store with the merge of current state and partial state |
|
package/impl.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ErrorMap, ErrorParallelMap } from '.';
|
|
2
|
+
import { AsyncAction, SimpleSyncAction, SyncAction, StoreAction, AsyncActionPromise, AsyncActionPromiseGet, InternalLoadingMap, MiddlewareFactory, PromiseIdErrorMap } from './types';
|
|
2
3
|
export declare type SetStateFunc<S, A, P> = (newState: S, newLoadingMap: InternalLoadingMap<A>, actionName: keyof A | 'onPropsChange', actionType: 'preEffects' | 'effects' | 'errorEffects' | null, // FIXME
|
|
3
4
|
isAsync: boolean, actionCtx: any, propsChanged: boolean, isInit?: boolean) => void;
|
|
4
5
|
export declare type NotifyFunc = (msg: string) => void;
|
|
@@ -79,6 +80,11 @@ export declare function isSimpleSyncAction<S, F extends (...args: any[]) => any,
|
|
|
79
80
|
export declare function isSyncAction<S, F extends (...args: any[]) => any, A, P, DS = {}, FxRes = S>(action: StoreAction<S, F, A, P, DS, FxRes>): action is SyncAction<S, F, A, P, DS, FxRes>;
|
|
80
81
|
export declare function isAsyncGetPromiseAction<S, DS, F extends (...args: any[]) => any, A, P, FxRes = S>(action: StoreAction<S, F, A, P, DS, FxRes>): action is AsyncActionPromise<S, F, A, P, DS, FxRes>;
|
|
81
82
|
export declare function isAsyncGetPromiseGetAction<S, DS, F extends (...args: any[]) => any, A, P, FxRes = S>(action: StoreAction<S, F, A, P, DS, FxRes>): action is AsyncActionPromiseGet<S, F, A, P, DS, FxRes>;
|
|
83
|
+
export declare class ParallelActionError extends Error {
|
|
84
|
+
promiseIds: PromiseIdErrorMap;
|
|
85
|
+
constructor(promiseIds: PromiseIdErrorMap);
|
|
86
|
+
}
|
|
87
|
+
export declare function buildErrorMap<A>(map: ErrorParallelMap<A>): ErrorMap<A>;
|
|
82
88
|
export declare type Ref<P> = {
|
|
83
89
|
current: P;
|
|
84
90
|
};
|
package/impl.es.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
function t(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}function e(t){var e={exports:{}};return t(e,e.exports),e.exports}var r,n=e((function(t){t.exports=function(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},t.exports.default=t.exports,t.exports.__esModule=!0})),o=e((function(t){t.exports=function(t){if(Array.isArray(t))return n(t)},t.exports.default=t.exports,t.exports.__esModule=!0})),i=e((function(t){t.exports=function(t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(t))return Array.from(t)},t.exports.default=t.exports,t.exports.__esModule=!0})),a=e((function(t){t.exports=function(t,e){if(t){if("string"==typeof t)return n(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)?n(t,e):void 0}},t.exports.default=t.exports,t.exports.__esModule=!0})),u=e((function(t){t.exports=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.exports.default=t.exports,t.exports.__esModule=!0})),c=t(e((function(t){t.exports=function(t){return o(t)||i(t)||a(t)||u()},t.exports.default=t.exports,t.exports.__esModule=!0}))),s=e((function(t){t.exports=function(t){if(Array.isArray(t))return t},t.exports.default=t.exports,t.exports.__esModule=!0})),f=e((function(t){t.exports=function(t,e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(t)){var r=[],n=!0,o=!1,i=void 0;try{for(var a,u=t[Symbol.iterator]();!(n=(a=u.next()).done)&&(r.push(a.value),!e||r.length!==e);n=!0);}catch(t){o=!0,i=t}finally{try{n||null==u.return||u.return()}finally{if(o)throw i}}return r}},t.exports.default=t.exports,t.exports.__esModule=!0})),l=e((function(t){t.exports=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.")},t.exports.default=t.exports,t.exports.__esModule=!0})),p=t(e((function(t){t.exports=function(t,e){return s(t)||f(t,e)||a(t,e)||l()},t.exports.default=t.exports,t.exports.__esModule=!0}))),d=t(e((function(t){function e(t,e,r,n,o,i,a){try{var u=t[i](a),c=u.value}catch(t){return void r(t)}u.done?e(c):Promise.resolve(c).then(n,o)}t.exports=function(t){return function(){var r=this,n=arguments;return new Promise((function(o,i){var a=t.apply(r,n);function u(t){e(a,o,i,u,c,"next",t)}function c(t){e(a,o,i,u,c,"throw",t)}u(void 0)}))}},t.exports.default=t.exports,t.exports.__esModule=!0}))),h=t(e((function(t){t.exports=function(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t},t.exports.default=t.exports,t.exports.__esModule=!0}))),v=e((function(t){var e=function(t){var e,r=Object.prototype,n=r.hasOwnProperty,o="function"==typeof Symbol?Symbol:{},i=o.iterator||"@@iterator",a=o.asyncIterator||"@@asyncIterator",u=o.toStringTag||"@@toStringTag";function c(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{c({},"")}catch(t){c=function(t,e,r){return t[e]=r}}function s(t,e,r,n){var o=e&&e.prototype instanceof y?e:y,i=Object.create(o.prototype),a=new j(n||[]);return i._invoke=function(t,e,r){var n=l;return function(o,i){if(n===d)throw new Error("Generator is already running");if(n===h){if("throw"===o)throw i;return R()}for(r.method=o,r.arg=i;;){var a=r.delegate;if(a){var u=O(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(n===l)throw n=h,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n=d;var c=f(t,e,r);if("normal"===c.type){if(n=r.done?h:p,c.arg===v)continue;return{value:c.arg,done:r.done}}"throw"===c.type&&(n=h,r.method="throw",r.arg=c.arg)}}}(t,r,a),i}function f(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}t.wrap=s;var l="suspendedStart",p="suspendedYield",d="executing",h="completed",v={};function y(){}function g(){}function m(){}var w={};w[i]=function(){return this};var E=Object.getPrototypeOf,x=E&&E(E(A([])));x&&x!==r&&n.call(x,i)&&(w=x);var b=m.prototype=y.prototype=Object.create(w);function S(t){["next","throw","return"].forEach((function(e){c(t,e,(function(t){return this._invoke(e,t)}))}))}function P(t,e){function r(o,i,a,u){var c=f(t[o],t,i);if("throw"!==c.type){var s=c.arg,l=s.value;return l&&"object"==typeof l&&n.call(l,"__await")?e.resolve(l.__await).then((function(t){r("next",t,a,u)}),(function(t){r("throw",t,a,u)})):e.resolve(l).then((function(t){s.value=t,a(s)}),(function(t){return r("throw",t,a,u)}))}u(c.arg)}var o;this._invoke=function(t,n){function i(){return new e((function(e,o){r(t,n,e,o)}))}return o=o?o.then(i,i):i()}}function O(t,r){var n=t.iterator[r.method];if(n===e){if(r.delegate=null,"throw"===r.method){if(t.iterator.return&&(r.method="return",r.arg=e,O(t,r),"throw"===r.method))return v;r.method="throw",r.arg=new TypeError("The iterator does not provide a 'throw' method")}return v}var o=f(n,t.iterator,r.arg);if("throw"===o.type)return r.method="throw",r.arg=o.arg,r.delegate=null,v;var i=o.arg;return i?i.done?(r[t.resultName]=i.value,r.next=t.nextLoc,"return"!==r.method&&(r.method="next",r.arg=e),r.delegate=null,v):i:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,v)}function _(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 L(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function j(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(_,this),this.reset(!0)}function A(t){if(t){var r=t[i];if(r)return r.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var o=-1,a=function r(){for(;++o<t.length;)if(n.call(t,o))return r.value=t[o],r.done=!1,r;return r.value=e,r.done=!0,r};return a.next=a}}return{next:R}}function R(){return{value:e,done:!0}}return g.prototype=b.constructor=m,m.constructor=g,g.displayName=c(m,u,"GeneratorFunction"),t.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===g||"GeneratorFunction"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,m):(t.__proto__=m,c(t,u,"GeneratorFunction")),t.prototype=Object.create(b),t},t.awrap=function(t){return{__await:t}},S(P.prototype),P.prototype[a]=function(){return this},t.AsyncIterator=P,t.async=function(e,r,n,o,i){void 0===i&&(i=Promise);var a=new P(s(e,r,n,o),i);return t.isGeneratorFunction(r)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},S(b),c(b,u,"Generator"),b[i]=function(){return this},b.toString=function(){return"[object Generator]"},t.keys=function(t){var e=[];for(var r in t)e.push(r);return e.reverse(),function r(){for(;e.length;){var n=e.pop();if(n in t)return r.value=n,r.done=!1,r}return r.done=!0,r}},t.values=A,j.prototype={constructor:j,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(L),!t)for(var r in this)"t"===r.charAt(0)&&n.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=e)},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 r=this;function o(n,o){return u.type="throw",u.arg=t,r.next=n,o&&(r.method="next",r.arg=e),!!o}for(var i=this.tryEntries.length-1;i>=0;--i){var a=this.tryEntries[i],u=a.completion;if("root"===a.tryLoc)return o("end");if(a.tryLoc<=this.prev){var c=n.call(a,"catchLoc"),s=n.call(a,"finallyLoc");if(c&&s){if(this.prev<a.catchLoc)return o(a.catchLoc,!0);if(this.prev<a.finallyLoc)return o(a.finallyLoc)}else if(c){if(this.prev<a.catchLoc)return o(a.catchLoc,!0)}else{if(!s)throw new Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return o(a.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.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),L(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;L(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,r,n){return this.delegate={iterator:A(t),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=e),v}},t}(t.exports);try{regeneratorRuntime=e}catch(t){Function("r","regeneratorRuntime = r")(e)}})),y=t(e((function(t){function e(r){return"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?(t.exports=e=function(t){return typeof t},t.exports.default=t.exports,t.exports.__esModule=!0):(t.exports=e=function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},t.exports.default=t.exports,t.exports.__esModule=!0),e(r)}t.exports=e,t.exports.default=t.exports,t.exports.__esModule=!0})));function g(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function m(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?g(Object(r),!0).forEach((function(e){h(t,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):g(Object(r)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}))}return t}!function(t){t.REJECT="reject",t.IGNORE="ignore",t.KEEP_LAST="keepLast",t.KEEP_ALL="keepAll",t.PARALLEL="parallel",t.REUSE="reuse"}(r||(r={}));var w={clone:function(t){return JSON.parse(JSON.stringify(t))},comparator:function(t,e){if(Object.is(t,e))return!0;if("object"!==y(t)||null===t||"object"!==y(e)||null===e)return!1;if(t instanceof Set||e instanceof Set)return!1;var r=Object.keys(t),n=Object.keys(e);if(r.length!==n.length)return!1;for(var o=0;o<r.length;o++)if(!Object.prototype.hasOwnProperty.call(e,r[o])||!Object.is(t[r[o]],e[r[o]]))return!1;return!0},asyncErrorHandler:function(){},retryOnErrorFunction:function(t){return t instanceof TypeError},notifySuccess:void 0,notifyError:void 0,notifyWarning:void 0,getErrorMessage:void 0,defaultMiddlewares:[]};function E(t){Object.keys(t).forEach((function(e){null!=t[e]&&(w[e]=t[e])}))}function x(t){try{return w.clone(t)}catch(t){var e="StateDecorator: Cannot clone object. Call setCloneFunction with another implementation like lodash/cloneDeep.";throw"development"===process.env.NODE_ENV&&(console.error(e),console.error(t.toString())),new Error(e)}}function b(t){return!(t instanceof Function)&&(t.hasOwnProperty("getPromise")||t.hasOwnProperty("getGetPromise"))}function S(t){return"function"==typeof t}function P(t){return"function"!=typeof t&&!t.hasOwnProperty("getPromise")&&!t.hasOwnProperty("getGetPromise")}function O(t){return"function"!=typeof t&&t.hasOwnProperty("getPromise")&&!t.hasOwnProperty("getGetPromise")}function _(t){return"function"!=typeof t&&!t.hasOwnProperty("getPromise")&&t.hasOwnProperty("getGetPromise")}function L(t){return _(t)?m(m({},t),{},{getPromise:t.getGetPromise,retryCount:3,conflictPolicy:r.REUSE}):t}function j(t,e,r,n){return m(m({},t),{},h({},e,n?m(m({},t[e]||{}),{},h({},r,n)):m(m({},t[e]),{},h({},r,!1))))}function A(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1e3,n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:function(){return!0};return 1===e?t:function(o){function i(t,e){return a.apply(this,arguments)}function a(){return(a=d(v.mark((function a(u,c){return v.wrap((function(a){for(;;)switch(a.prev=a.next){case 0:if(null!==c){a.next=2;break}return a.abrupt("return",null);case 2:return a.abrupt("return",c.catch((function(a){return n(a)?u===e?Promise.reject(a):new Promise((function(e,n){setTimeout((function(){var r=t(o);i(u+1,r).then(e).catch(n)}),r*u)})):Promise.reject(a)})));case 3:case"end":return a.stop()}}),a)})))).apply(this,arguments)}var u=t(o);return null===u?null:i(1,u)}}function R(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return{current:t}}function M(t,e,r){var n,o;return{state:t.current,s:t.current,ds:null==e||null===(n=e.current)||void 0===n?void 0:n.state,derived:null==e||null===(o=e.current)||void 0===o?void 0:o.state,props:r.current,p:r.current}}function k(t,e,r,n){return D(M(t,e,r),n)}function T(t,e,r,n,o,i){var a=M(t,e,r);return a.indices=n,a.index=o,a.isInit=i,a}function C(t,e,r,n,o){var i=M(t,e,r);return i.args=n,o&&(i.promiseId=o),i}function N(t,e,r,n,o,i){var a=C(t,e,r,n,i);return a.result=o,a.res=o,a}function I(t,e,r,n,o,i,a){var u=D(C(t,e,r,n,a),o);return u.abortSignal=i,u}function G(t,e){var r=t;return r.state=e.current,r.s=e.current,r}function D(t,e){var r=t;return r.actions=e.current,r.a=e.current,r}function F(t,e,r,n,o){var i,a=D(t,n);G(t,e);var u=null==r||null===(i=r.current)||void 0===i?void 0:i.state;return a.derived=u,a.ds=u,a.notifyWarning=o,a}function K(t){"development"===process.env.NODE_ENV&&console.warn("[state-decorator] ".concat(t," action was called while store is not initialized or destroyed, this is probably a leak"))}function U(t,e,r,n,o,i,a){return function(){if(i.current){for(var u=arguments.length,c=new Array(u),s=0;s<u;s++)c[s]=arguments[s];var f=C(r,n,o,c),l=e(f);a(l,null,t,"effects",!1,f,!1)}else K(t)}}function W(t,e,r,n,o,i,a,u,c,s){var f=N(r,n,o,s,void 0),l=!1;if(null!=e.effects){var p=e.effects(f);null===p?l=!0:c(p,void 0,t,"effects",!1,f,!1)}if(!l)if(e.debounceSideEffectsTimeout>0){var d=a.current[t];d&&clearTimeout(d),a.current[t]=setTimeout((function(){e.sideEffects(F(f,r,n,i,u.notifyWarning)),delete a.current[t]}),e.debounceSideEffectsTimeout)}else e.sideEffects&&e.sideEffects(F(f,r,n,i,u.notifyWarning))}function z(t,e,r,n,o,i,a,u,c,s){return function(){for(var f=arguments.length,l=new Array(f),p=0;p<f;p++)l[p]=arguments[p];if(a.current)if(e.debounceTimeout){var d=u.current[t];d&&clearTimeout(d),u.current[t]=setTimeout((function(){delete u.current[t],W(t,e,r,n,o,i,u,c,s,l)}),e.debounceTimeout)}else W(t,e,r,n,o,i,u,c,s,l);else K(t)}}function J(t,e,r,n){var o=t.action,i=t.stateRef,a=t.derivedStateRef,u=t.propsRef,c=t.promisesRef,s=t.actionsRef,f=t.loadingMapRef,l=t.conflictActionsRef,p=t.actionName,d=t.options,h=t.setState;if(t.initializedRef.current){var v=null,y=N(i,a,u,n,r,e);o.effects&&(v=o.effects(y)),h(v,j(f.current,p,e,!1),p,"effects",!0,y,!1);var g,m=d.notifySuccess||w.notifySuccess;if(m)o.getSuccessMessage&&(g=o.getSuccessMessage(y)),g&&m(g);return delete c.current[p][e],o.sideEffects&&o.sideEffects(F(y,i,a,s,w.notifyWarning)),Q(p,s.current,l.current),r}}function H(t,e,r,n){var o=t.action,i=t.stateRef,a=t.derivedStateRef,u=t.propsRef,c=t.actionsRef,s=t.loadingMapRef,f=t.promisesRef,l=t.conflictActionsRef,p=t.actionName,d=t.options,h=t.setState;if(t.initializedRef.current){var v=null,y=function(t,e,r,n,o,i){var a=C(t,e,r,n,i);return a.error=o,a.err=o,a}(i,a,u,n,r,e);o.errorEffects&&(v=o.errorEffects(y)),h(v,j(s.current,p,e,!1),p,"errorEffects",!0,y,!1);var g=!1;(null!=v||o.errorSideEffects)&&(g=!0);var m,E=d.notifyError||w.notifyError;if(E)o.getErrorMessage&&(m=o.getErrorMessage(y)),void 0===m&&!g&&w.getErrorMessage&&(m=w.getErrorMessage(r)),m&&(g=!0,E(m));return w.asyncErrorHandler(r,g||o.rejectPromiseOnError,i.current,u.current,p,n),delete f.current[p][e],o.errorSideEffects&&o.errorSideEffects(F(y,i,a,c,w.notifyWarning)),Q(p,c.current,l.current),!g||o.rejectPromiseOnError?Promise.reject(r):Promise.resolve()}}function V(t){var e=t.action,n=t.stateRef,o=t.derivedStateRef,i=t.propsRef,a=t.actionsRef,u=t.promisesRef,c=t.loadingMapRef,s=t.initializedRef,f=t.conflictActionsRef,l=t.actionName,p=t.setState;return function(){for(var d,v,y=arguments.length,g=new Array(y),E=0;E<y;E++)g[E]=arguments[E];if(!s.current)return K(l),null;var x=u.current,b=e.conflictPolicy,S=void 0===b?r.KEEP_ALL:b,P=S===r.PARALLEL,O=null;if(P){if(!e.getPromiseId)throw new Error("If conflict policy is set to ConflictPolicy.PARALLEL, getPromiseId must be set and return a string.");O=e.getPromiseId.apply(e,g)}else O=$;if(!P&&null!==(d=x[l])&&void 0!==d&&d[O])return B(x,f.current,l,S,g);var _=null,L=!1,R=C(n,o,i,g,O);e.preEffects&&(_=e.preEffects(R))&&(L=!0,n.current=_);var M=e.abortable,k=e.retryCount,T=e.retryDelaySeed,N=e.isTriggerRetryError,G=M&&window.AbortController?new AbortController:null,D=A(e.getPromise,k?1+k:1,T,N||w.retryOnErrorFunction),F=null===(v=D(I(n,o,i,g,a,null==G?void 0:G.signal)))||void 0===v?void 0:v.then((function(e){return J(t,O,e,g)})).catch((function(e){return H(t,O,e,g)}));return null!=F&&(x[l]=m(m({},x[l]||{}),{},h({},O||$,{abortController:G,promise:F,refArgs:S===r.REUSE&&g.length>0?[].concat(g):[]}))),p(null!=F||L?n.current:void 0,null==F?void 0:j(c.current,l,O,!0),l,"preEffects",!0,R,!1),F}}function Y(t){for(var e=arguments.length,r=new Array(e>1?e-1:0),n=1;n<e;n++)r[n-1]=arguments[n];return r.some((function(e){var r=null,n=$;if(Array.isArray(e)){var o=p(e,2);r=o[0];var i=o[1];n=void 0===i?$:i}else r=e;var a=t[r];return null!=a&&(null!=a[n]&&a[n])}))}var $="__def__";function q(t,e){return t.length===e.length&&-1===t.findIndex((function(t,r){return e[r]!==t}))}function B(t,e,n,o,i){var a=o;if(a===r.REUSE){if(q(t[n][$].refArgs,i))return t[n][$].promise;a=r.KEEP_ALL}return new Promise((function(t,o){var u={resolve:t,reject:o,args:x(i),timestamp:Date.now()};switch(a){case r.IGNORE:t(void 0);break;case r.REJECT:o(new Error("An asynchronous action ".concat(n," is already ongoing.")));break;case r.KEEP_LAST:e[n]=[u];break;case r.KEEP_ALL:var c=e[n];c||(e[n]=c=[]),c.push(u);break;case r.PARALLEL:case r.REUSE:}}))}function Q(t,e,r){var n=r[t];if(n&&n.length>0){var o=r[t].shift();if(o){var i=e[t].apply(e,c(o.args));null==i?Q(t,e,r):i.then((function(n){null===n&&Q(t,e,r),o.resolve(n)})).catch((function(t){return o.reject(t)}))}}}function X(t,e,r,n){if(null==(null==n?void 0:n.derivedState))return!1;var o=!1,i=w.comparator,a=r.current.deps,u=M(t,null,e),c=Object.keys(n.derivedState);return r.current.state=c.reduce((function(t,e){var c=!1,s=a[e],f=n.derivedState[e].getDeps(u);return c=null==s||null!=f.find((function(t,e){return s.length<e||!i(s[e],t)})),o=o||c,a[e]=f,t[e]=c?n.derivedState[e].get(u):r.current.state[e],t}),{}),o}function Z(t,e,r,n,o,i,a,u){var c=null!=(null==i?void 0:i.derivedState);if(null!=i.onPropsChange){var s;s=Array.isArray(i.onPropsChange)?i.onPropsChange:[i.onPropsChange];var f=!1,l=R(t.current),p=[],d=w.comparator;s.forEach((function(t,o){var i=t.getDeps;if(i){var c=!1,s=[];if(u){if(!t.onMount)return;c=!0}else{var h=i(n),v=i(r.current);h.length!==v.length?(console.warn("options.onPropsChange.getDeps returned array must be stable (same length)"),c=!0):h.forEach((function(t,e){d(t,v[e])||(c=!0,s.push(e))}))}if(c){var y,g,m=T(l,e,r,s,o,u),w=null!==(y=null===(g=t.effects)||void 0===g?void 0:g.call(t,m))&&void 0!==y?y:null;null!=w&&(f=!0,l.current=w,a(l.current,void 0,"onPropsChange","effects",!1,m,!0,u)),t.sideEffects&&p.push({index:o,indices:s,ctx:m})}}})),!f&&c&&a(void 0,void 0,"onPropsChange","effects",!1,null,!0),p.length>0&&p.forEach((function(t){s[t.index].sideEffects(m(m({},G(D(t.ctx,o),l)),{},{indices:t.indices}))}))}else null!=(null==i?void 0:i.derivedState)&&a(void 0,void 0,"onPropsChange","effects",!1,null,!0)}function tt(t,e,r,n,o,i,a,u){if("onPropsChange"===o&&void 0===r)return{newState:null,newLoading:!1};if(t&&t.length>0){var c=t.reduce((function(t,e){var r=e.effects({isAsync:a,name:o,type:i,context:u},t.oldState,t.newState,n);return{newState:(null==r?void 0:r.state)||t.newState,oldState:null!=r&&r.state?t.newState:t.oldState,loading:null==(null==r?void 0:r.loading)?t.loading:r.loading}}),{oldState:e,newState:r,loading:n});return{newLoading:c.loading,newState:c.newState}}return{newState:r,newLoading:n}}export{$ as DEFAULT_PROMISE_ID,D as addContextActions,G as addStateToContext,q as areSameArgs,M as buildInvocationContextBase,j as buildLoadingMap,k as buildOnMountInvocationContext,T as buildOnPropChangeEffects,L as computeAsyncActionInput,X as computeDerivedValues,R as createRef,V as decorateAsyncAction,U as decorateSimpleSyncAction,z as decorateSyncAction,w as globalConfig,b as isAsyncAction,O as isAsyncGetPromiseAction,_ as isAsyncGetPromiseGetAction,Y as isLoadingImpl,S as isSimpleSyncAction,P as isSyncAction,Z as onPropChange,A as retryPromiseDecorator,tt as runMiddlewares,E as setGlobalConfig};
|
|
1
|
+
function t(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}function e(t){var e={exports:{}};return t(e,e.exports),e.exports}var r,n=e((function(t){t.exports=function(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},t.exports.default=t.exports,t.exports.__esModule=!0})),o=e((function(t){t.exports=function(t){if(Array.isArray(t))return n(t)},t.exports.default=t.exports,t.exports.__esModule=!0})),i=e((function(t){t.exports=function(t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(t))return Array.from(t)},t.exports.default=t.exports,t.exports.__esModule=!0})),u=e((function(t){t.exports=function(t,e){if(t){if("string"==typeof t)return n(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)?n(t,e):void 0}},t.exports.default=t.exports,t.exports.__esModule=!0})),c=e((function(t){t.exports=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.exports.default=t.exports,t.exports.__esModule=!0})),a=t(e((function(t){t.exports=function(t){return o(t)||i(t)||u(t)||c()},t.exports.default=t.exports,t.exports.__esModule=!0}))),s=e((function(t){t.exports=function(t){if(Array.isArray(t))return t},t.exports.default=t.exports,t.exports.__esModule=!0})),f=e((function(t){t.exports=function(t,e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(t)){var r=[],n=!0,o=!1,i=void 0;try{for(var u,c=t[Symbol.iterator]();!(n=(u=c.next()).done)&&(r.push(u.value),!e||r.length!==e);n=!0);}catch(t){o=!0,i=t}finally{try{n||null==c.return||c.return()}finally{if(o)throw i}}return r}},t.exports.default=t.exports,t.exports.__esModule=!0})),l=e((function(t){t.exports=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.")},t.exports.default=t.exports,t.exports.__esModule=!0})),p=t(e((function(t){t.exports=function(t,e){return s(t)||f(t,e)||u(t,e)||l()},t.exports.default=t.exports,t.exports.__esModule=!0}))),d=t(e((function(t){function e(t,e,r,n,o,i,u){try{var c=t[i](u),a=c.value}catch(t){return void r(t)}c.done?e(a):Promise.resolve(a).then(n,o)}t.exports=function(t){return function(){var r=this,n=arguments;return new Promise((function(o,i){var u=t.apply(r,n);function c(t){e(u,o,i,c,a,"next",t)}function a(t){e(u,o,i,c,a,"throw",t)}c(void 0)}))}},t.exports.default=t.exports,t.exports.__esModule=!0}))),h=t(e((function(t){t.exports=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},t.exports.default=t.exports,t.exports.__esModule=!0}))),v=e((function(t){t.exports=function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t},t.exports.default=t.exports,t.exports.__esModule=!0})),y=t(v),g=e((function(t){function e(r,n){return t.exports=e=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t},t.exports.default=t.exports,t.exports.__esModule=!0,e(r,n)}t.exports=e,t.exports.default=t.exports,t.exports.__esModule=!0})),x=t(e((function(t){t.exports=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}}),e&&g(t,e)},t.exports.default=t.exports,t.exports.__esModule=!0}))),m=e((function(t){function e(r){return"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?(t.exports=e=function(t){return typeof t},t.exports.default=t.exports,t.exports.__esModule=!0):(t.exports=e=function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},t.exports.default=t.exports,t.exports.__esModule=!0),e(r)}t.exports=e,t.exports.default=t.exports,t.exports.__esModule=!0})),b=t(m),w=t(e((function(t){var e=m.default;t.exports=function(t,r){return!r||"object"!==e(r)&&"function"!=typeof r?v(t):r},t.exports.default=t.exports,t.exports.__esModule=!0}))),E=e((function(t){function e(r){return t.exports=e=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)},t.exports.default=t.exports,t.exports.__esModule=!0,e(r)}t.exports=e,t.exports.default=t.exports,t.exports.__esModule=!0})),_=t(E),O=e((function(t){t.exports=function(t){return-1!==Function.toString.call(t).indexOf("[native code]")},t.exports.default=t.exports,t.exports.__esModule=!0})),P=e((function(t){t.exports=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}},t.exports.default=t.exports,t.exports.__esModule=!0})),S=e((function(t){function e(r,n,o){return P()?(t.exports=e=Reflect.construct,t.exports.default=t.exports,t.exports.__esModule=!0):(t.exports=e=function(t,e,r){var n=[null];n.push.apply(n,e);var o=new(Function.bind.apply(t,n));return r&&g(o,r.prototype),o},t.exports.default=t.exports,t.exports.__esModule=!0),e.apply(null,arguments)}t.exports=e,t.exports.default=t.exports,t.exports.__esModule=!0})),j=t(e((function(t){function e(r){var n="function"==typeof Map?new Map:void 0;return t.exports=e=function(t){if(null===t||!O(t))return t;if("function"!=typeof t)throw new TypeError("Super expression must either be null or a function");if(void 0!==n){if(n.has(t))return n.get(t);n.set(t,e)}function e(){return S(t,arguments,E(this).constructor)}return e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),g(e,t)},t.exports.default=t.exports,t.exports.__esModule=!0,e(r)}t.exports=e,t.exports.default=t.exports,t.exports.__esModule=!0}))),L=t(e((function(t){t.exports=function(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t},t.exports.default=t.exports,t.exports.__esModule=!0}))),R=e((function(t){var e=function(t){var e,r=Object.prototype,n=r.hasOwnProperty,o="function"==typeof Symbol?Symbol:{},i=o.iterator||"@@iterator",u=o.asyncIterator||"@@asyncIterator",c=o.toStringTag||"@@toStringTag";function a(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{a({},"")}catch(t){a=function(t,e,r){return t[e]=r}}function s(t,e,r,n){var o=e&&e.prototype instanceof y?e:y,i=Object.create(o.prototype),u=new L(n||[]);return i._invoke=function(t,e,r){var n=l;return function(o,i){if(n===d)throw new Error("Generator is already running");if(n===h){if("throw"===o)throw i;return M()}for(r.method=o,r.arg=i;;){var u=r.delegate;if(u){var c=P(u,r);if(c){if(c===v)continue;return c}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(n===l)throw n=h,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n=d;var a=f(t,e,r);if("normal"===a.type){if(n=r.done?h:p,a.arg===v)continue;return{value:a.arg,done:r.done}}"throw"===a.type&&(n=h,r.method="throw",r.arg=a.arg)}}}(t,r,u),i}function f(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}t.wrap=s;var l="suspendedStart",p="suspendedYield",d="executing",h="completed",v={};function y(){}function g(){}function x(){}var m={};m[i]=function(){return this};var b=Object.getPrototypeOf,w=b&&b(b(R([])));w&&w!==r&&n.call(w,i)&&(m=w);var E=x.prototype=y.prototype=Object.create(m);function _(t){["next","throw","return"].forEach((function(e){a(t,e,(function(t){return this._invoke(e,t)}))}))}function O(t,e){function r(o,i,u,c){var a=f(t[o],t,i);if("throw"!==a.type){var s=a.arg,l=s.value;return l&&"object"==typeof l&&n.call(l,"__await")?e.resolve(l.__await).then((function(t){r("next",t,u,c)}),(function(t){r("throw",t,u,c)})):e.resolve(l).then((function(t){s.value=t,u(s)}),(function(t){return r("throw",t,u,c)}))}c(a.arg)}var o;this._invoke=function(t,n){function i(){return new e((function(e,o){r(t,n,e,o)}))}return o=o?o.then(i,i):i()}}function P(t,r){var n=t.iterator[r.method];if(n===e){if(r.delegate=null,"throw"===r.method){if(t.iterator.return&&(r.method="return",r.arg=e,P(t,r),"throw"===r.method))return v;r.method="throw",r.arg=new TypeError("The iterator does not provide a 'throw' method")}return v}var o=f(n,t.iterator,r.arg);if("throw"===o.type)return r.method="throw",r.arg=o.arg,r.delegate=null,v;var i=o.arg;return i?i.done?(r[t.resultName]=i.value,r.next=t.nextLoc,"return"!==r.method&&(r.method="next",r.arg=e),r.delegate=null,v):i:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,v)}function S(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 j(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function L(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(S,this),this.reset(!0)}function R(t){if(t){var r=t[i];if(r)return r.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var o=-1,u=function r(){for(;++o<t.length;)if(n.call(t,o))return r.value=t[o],r.done=!1,r;return r.value=e,r.done=!0,r};return u.next=u}}return{next:M}}function M(){return{value:e,done:!0}}return g.prototype=E.constructor=x,x.constructor=g,g.displayName=a(x,c,"GeneratorFunction"),t.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===g||"GeneratorFunction"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,x):(t.__proto__=x,a(t,c,"GeneratorFunction")),t.prototype=Object.create(E),t},t.awrap=function(t){return{__await:t}},_(O.prototype),O.prototype[u]=function(){return this},t.AsyncIterator=O,t.async=function(e,r,n,o,i){void 0===i&&(i=Promise);var u=new O(s(e,r,n,o),i);return t.isGeneratorFunction(r)?u:u.next().then((function(t){return t.done?t.value:u.next()}))},_(E),a(E,c,"Generator"),E[i]=function(){return this},E.toString=function(){return"[object Generator]"},t.keys=function(t){var e=[];for(var r in t)e.push(r);return e.reverse(),function r(){for(;e.length;){var n=e.pop();if(n in t)return r.value=n,r.done=!1,r}return r.done=!0,r}},t.values=R,L.prototype={constructor:L,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(j),!t)for(var r in this)"t"===r.charAt(0)&&n.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=e)},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 r=this;function o(n,o){return c.type="throw",c.arg=t,r.next=n,o&&(r.method="next",r.arg=e),!!o}for(var i=this.tryEntries.length-1;i>=0;--i){var u=this.tryEntries[i],c=u.completion;if("root"===u.tryLoc)return o("end");if(u.tryLoc<=this.prev){var a=n.call(u,"catchLoc"),s=n.call(u,"finallyLoc");if(a&&s){if(this.prev<u.catchLoc)return o(u.catchLoc,!0);if(this.prev<u.finallyLoc)return o(u.finallyLoc)}else if(a){if(this.prev<u.catchLoc)return o(u.catchLoc,!0)}else{if(!s)throw new Error("try statement without catch or finally");if(this.prev<u.finallyLoc)return o(u.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.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 u=i?i.completion:{};return u.type=t,u.arg=e,i?(this.method="next",this.next=i.finallyLoc,v):this.complete(u)},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),j(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;j(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,r,n){return this.delegate={iterator:R(t),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=e),v}},t}(t.exports);try{regeneratorRuntime=e}catch(t){Function("r","regeneratorRuntime = r")(e)}}));function M(t){var e=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}}();return function(){var r,n=_(t);if(e){var o=_(this).constructor;r=Reflect.construct(n,arguments,o)}else r=n.apply(this,arguments);return w(this,r)}}function A(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function k(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?A(Object(r),!0).forEach((function(e){L(t,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):A(Object(r)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}))}return t}!function(t){t.REJECT="reject",t.IGNORE="ignore",t.KEEP_LAST="keepLast",t.KEEP_ALL="keepAll",t.PARALLEL="parallel",t.REUSE="reuse"}(r||(r={}));var T={clone:function(t){return JSON.parse(JSON.stringify(t))},comparator:function(t,e){if(Object.is(t,e))return!0;if("object"!==b(t)||null===t||"object"!==b(e)||null===e)return!1;if(t instanceof Set||e instanceof Set)return!1;var r=Object.keys(t),n=Object.keys(e);if(r.length!==n.length)return!1;for(var o=0;o<r.length;o++)if(!Object.prototype.hasOwnProperty.call(e,r[o])||!Object.is(t[r[o]],e[r[o]]))return!1;return!0},asyncErrorHandler:function(){},retryOnErrorFunction:function(t){return t instanceof TypeError},notifySuccess:void 0,notifyError:void 0,notifyWarning:void 0,getErrorMessage:void 0,defaultMiddlewares:[]};function C(t){Object.keys(t).forEach((function(e){null!=t[e]&&(T[e]=t[e])}))}function I(t){try{return T.clone(t)}catch(t){var e="StateDecorator: Cannot clone object. Call setCloneFunction with another implementation like lodash/cloneDeep.";throw"development"===process.env.NODE_ENV&&(console.error(e),console.error(t.toString())),new Error(e)}}function N(t){return!(t instanceof Function)&&(t.hasOwnProperty("getPromise")||t.hasOwnProperty("getGetPromise"))}function G(t){return"function"==typeof t}function D(t){return"function"!=typeof t&&!t.hasOwnProperty("getPromise")&&!t.hasOwnProperty("getGetPromise")}function F(t){return"function"!=typeof t&&t.hasOwnProperty("getPromise")&&!t.hasOwnProperty("getGetPromise")}function K(t){return"function"!=typeof t&&!t.hasOwnProperty("getPromise")&&t.hasOwnProperty("getGetPromise")}function U(t){return K(t)?k(k({},t),{},{getPromise:t.getGetPromise,retryCount:3,conflictPolicy:r.REUSE}):t}function W(t,e,r,n){return k(k({},t),{},L({},e,n?k(k({},t[e]||{}),{},L({},r,n)):k(k({},t[e]),{},L({},r,!1))))}function z(t,e,r,n){return k(k({},t),{},L({},e,n?k(k({},t[e]||{}),{},L({},r,n)):k(k({},t[e]),{},L({},r,void 0))))}var B=function(t){x(r,t);var e=M(r);function r(t){var n;return h(this,r),n=e.call(this,"Error"),L(y(n),"promiseIds",void 0),n.promiseIds=t,Object.setPrototypeOf(y(n),r.prototype),n}return r}(j(Error));function J(t){return Object.keys(t).reduce((function(e,r){var n=t[r];if(null==n[lt]);else if(n[lt])e[r]=n[lt];else{var o=Object.keys(n).reduce((function(t,e){return null!=n[e]&&(t.hasErr=!0,t.map[e]=n[e]),t}),{hasErr:!1,map:{}});o.hasErr&&(e[r]=new B(o.map))}return e}),{})}function H(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1e3,n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:function(){return!0};return 1===e?t:function(o){function i(t,e){return u.apply(this,arguments)}function u(){return(u=d(R.mark((function u(c,a){return R.wrap((function(u){for(;;)switch(u.prev=u.next){case 0:if(null!==a){u.next=2;break}return u.abrupt("return",null);case 2:return u.abrupt("return",a.catch((function(u){return n(u)?c===e?Promise.reject(u):new Promise((function(e,n){setTimeout((function(){var r=t(o);i(c+1,r).then(e).catch(n)}),r*c)})):Promise.reject(u)})));case 3:case"end":return u.stop()}}),u)})))).apply(this,arguments)}var c=t(o);return null===c?null:i(1,c)}}function V(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return{current:t}}function Y(t,e,r){var n,o;return{state:t.current,s:t.current,ds:null==e||null===(n=e.current)||void 0===n?void 0:n.state,derived:null==e||null===(o=e.current)||void 0===o?void 0:o.state,props:r.current,p:r.current}}function $(t,e,r,n){return et(Y(t,e,r),n)}function q(t,e,r,n,o,i){var u=Y(t,e,r);return u.indices=n,u.index=o,u.isInit=i,u}function Q(t,e,r,n,o){var i=Y(t,e,r);return i.args=n,o&&(i.promiseId=o),i}function X(t,e,r,n,o,i){var u=Q(t,e,r,n,i);return u.result=o,u.res=o,u}function Z(t,e,r,n,o,i,u){var c=et(Q(t,e,r,n,u),o);return c.abortSignal=i,c}function tt(t,e){var r=t;return r.state=e.current,r.s=e.current,r}function et(t,e){var r=t;return r.actions=e.current,r.a=e.current,r}function rt(t,e,r,n,o){var i,u=et(t,n);tt(t,e);var c=null==r||null===(i=r.current)||void 0===i?void 0:i.state;return u.derived=c,u.ds=c,u.notifyWarning=o,u}function nt(t){"development"===process.env.NODE_ENV&&console.warn("[state-decorator] ".concat(t," action was called while store is not initialized or destroyed, this is probably a leak"))}function ot(t,e,r,n,o,i,u){return function(){if(i.current){for(var c=arguments.length,a=new Array(c),s=0;s<c;s++)a[s]=arguments[s];var f=Q(r,n,o,a),l=e(f);u(l,null,t,"effects",!1,f,!1)}else nt(t)}}function it(t,e,r,n,o,i,u,c,a,s){var f=X(r,n,o,s,void 0),l=!1;if(null!=e.effects){var p=e.effects(f);null===p?l=!0:a(p,void 0,t,"effects",!1,f,!1)}if(!l)if(e.debounceSideEffectsTimeout>0){var d=u.current[t];d&&clearTimeout(d),u.current[t]=setTimeout((function(){var o;null===(o=e.sideEffects)||void 0===o||o.call(e,rt(f,r,n,i,c.notifyWarning)),delete u.current[t]}),e.debounceSideEffectsTimeout)}else{var h;null===(h=e.sideEffects)||void 0===h||h.call(e,rt(f,r,n,i,c.notifyWarning))}}function ut(t,e,r,n,o,i,u,c,a,s){return function(){for(var f=arguments.length,l=new Array(f),p=0;p<f;p++)l[p]=arguments[p];if(u.current)if(e.debounceTimeout){var d=c.current[t];d&&clearTimeout(d),c.current[t]=setTimeout((function(){delete c.current[t],it(t,e,r,n,o,i,c,a,s,l)}),e.debounceTimeout)}else it(t,e,r,n,o,i,c,a,s,l);else nt(t)}}function ct(t,e,r,n){var o=t.action,i=t.stateRef,u=t.derivedStateRef,c=t.propsRef,a=t.promisesRef,s=t.actionsRef,f=t.loadingMapRef,l=t.conflictActionsRef,p=t.actionName,d=t.options,h=t.setState;if(t.initializedRef.current){var v=null,y=X(i,u,c,n,r,e);o.effects&&(v=o.effects(y)),h(v,W(f.current,p,e,!1),p,"effects",!0,y,!1);var g,x=d.notifySuccess||T.notifySuccess;if(x)o.getSuccessMessage&&(g=o.getSuccessMessage(y)),g&&x(g);return delete a.current[p][e],o.sideEffects&&o.sideEffects(rt(y,i,u,s,T.notifyWarning)),ht(p,s.current,l.current),r}}function at(t,e,r,n){var o=t.action,i=t.stateRef,u=t.derivedStateRef,c=t.propsRef,a=t.actionsRef,s=t.loadingMapRef,f=t.errorMapRef,l=t.promisesRef,p=t.conflictActionsRef,d=t.actionName,h=t.options,v=t.setState;if(t.initializedRef.current){var y=null,g=function(t,e,r,n,o,i){var u=Q(t,e,r,n,i);return u.error=o,u.err=o,u}(i,u,c,n,r,e);o.errorEffects&&(y=o.errorEffects(g)),f.current=z(f.current,d,e,r),v(y,W(s.current,d,e,!1),d,"errorEffects",!0,g,!1);var x=!1;(null!=y||o.errorSideEffects)&&(x=!0);var m,b=h.notifyError||T.notifyError;if(b)o.getErrorMessage&&(m=o.getErrorMessage(g)),void 0===m&&!x&&T.getErrorMessage&&(m=T.getErrorMessage(r)),m&&(x=!0,b(m));return T.asyncErrorHandler(r,x||o.rejectPromiseOnError,i.current,c.current,d,n),delete l.current[d][e],o.errorSideEffects&&o.errorSideEffects(rt(g,i,u,a,T.notifyWarning)),ht(d,a.current,p.current),!x||o.rejectPromiseOnError?Promise.reject(r):Promise.resolve()}}function st(t){var e=t.action,n=t.stateRef,o=t.derivedStateRef,i=t.propsRef,u=t.actionsRef,c=t.promisesRef,a=t.loadingMapRef,s=t.errorMapRef,f=t.initializedRef,l=t.conflictActionsRef,p=t.actionName,d=t.setState;return function(){for(var h,v,y=arguments.length,g=new Array(y),x=0;x<y;x++)g[x]=arguments[x];if(!f.current)return nt(p),null;var m=c.current,b=e.conflictPolicy,w=void 0===b?r.KEEP_ALL:b,E=w===r.PARALLEL,_=null;if(E){if(!e.getPromiseId)throw new Error("If conflict policy is set to ConflictPolicy.PARALLEL, getPromiseId must be set and return a string.");_=e.getPromiseId.apply(e,g)}else _=lt;if(!E&&null!==(h=m[p])&&void 0!==h&&h[_])return dt(m,l.current,p,w,g);var O=null,P=!1,S=Q(n,o,i,g,_);e.preEffects&&(O=e.preEffects(S))&&(P=!0,n.current=O);var j=e.abortable,R=e.retryCount,M=e.retryDelaySeed,A=e.isTriggerRetryError,C=j&&window.AbortController?new AbortController:null,I=H(e.getPromise,R?1+R:1,M,A||T.retryOnErrorFunction),N=null===(v=I(Z(n,o,i,g,u,null==C?void 0:C.signal)))||void 0===v?void 0:v.then((function(e){return ct(t,_,e,g)})).catch((function(e){return at(t,_,e,g)}));return null!=N&&(m[p]=k(k({},m[p]||{}),{},L({},_||lt,{abortController:C,promise:N,refArgs:w===r.REUSE&&g.length>0?[].concat(g):[]}))),s.current=z(s.current,p,_,null),d(null!=N||P?n.current:void 0,null==N?void 0:W(a.current,p,_,!0),p,"preEffects",!0,S,!1),N}}function ft(t){for(var e=arguments.length,r=new Array(e>1?e-1:0),n=1;n<e;n++)r[n-1]=arguments[n];return r.some((function(e){var r=null,n=lt;if(Array.isArray(e)){var o=p(e,2);r=o[0];var i=o[1];n=void 0===i?lt:i}else r=e;var u=t[r];return null!=u&&(null!=u[n]&&u[n])}))}var lt="__def__";function pt(t,e){return t.length===e.length&&-1===t.findIndex((function(t,r){return e[r]!==t}))}function dt(t,e,n,o,i){var u=o;if(u===r.REUSE){if(pt(t[n][lt].refArgs,i))return t[n][lt].promise;u=r.KEEP_ALL}return new Promise((function(t,o){var c={resolve:t,reject:o,args:I(i),timestamp:Date.now()};switch(u){case r.IGNORE:t(void 0);break;case r.REJECT:o(new Error("An asynchronous action ".concat(n," is already ongoing.")));break;case r.KEEP_LAST:e[n]=[c];break;case r.KEEP_ALL:var a=e[n];a||(e[n]=a=[]),a.push(c);break;case r.PARALLEL:case r.REUSE:}}))}function ht(t,e,r){var n=r[t];if(n&&n.length>0){var o=r[t].shift();if(o){var i=e[t].apply(e,a(o.args));null==i?ht(t,e,r):i.then((function(n){null===n&&ht(t,e,r),o.resolve(n)})).catch((function(t){return o.reject(t)}))}}}function vt(t,e,r,n){if(null==(null==n?void 0:n.derivedState))return!1;var o=!1,i=T.comparator,u=r.current.deps,c=Y(t,null,e),a=Object.keys(n.derivedState);return r.current.state=a.reduce((function(t,e){var a=!1,s=u[e],f=n.derivedState[e].getDeps(c);return a=null==s||null!=f.find((function(t,e){return s.length<e||!i(s[e],t)})),o=o||a,u[e]=f,t[e]=a?n.derivedState[e].get(c):r.current.state[e],t}),{}),o}function yt(t,e,r,n,o,i,u,c){var a=null!=(null==i?void 0:i.derivedState);if(null!=i.onPropsChange){var s;s=Array.isArray(i.onPropsChange)?i.onPropsChange:[i.onPropsChange];var f=!1,l=V(t.current),p=[],d=T.comparator;s.forEach((function(t,o){var i=t.getDeps;if(i){var a=!1,s=[];if(c){if(!t.onMount)return;a=!0}else{var h=i(n),v=i(r.current);h.length!==v.length?(console.warn("options.onPropsChange.getDeps returned array must be stable (same length)"),a=!0):h.forEach((function(t,e){d(t,v[e])||(a=!0,s.push(e))}))}if(a){var y,g,x=q(l,e,r,s,o,c),m=null!==(y=null===(g=t.effects)||void 0===g?void 0:g.call(t,x))&&void 0!==y?y:null;null!=m&&(f=!0,l.current=m,u(l.current,void 0,"onPropsChange","effects",!1,x,!0,c)),t.sideEffects&&p.push({index:o,indices:s,ctx:x})}}})),!f&&a&&u(void 0,void 0,"onPropsChange","effects",!1,null,!0),p.length>0&&p.forEach((function(t){s[t.index].sideEffects(k(k({},tt(et(t.ctx,o),l)),{},{indices:t.indices}))}))}else null!=(null==i?void 0:i.derivedState)&&u(void 0,void 0,"onPropsChange","effects",!1,null,!0)}function gt(t,e,r,n,o,i,u,c){if("onPropsChange"===o&&void 0===r)return{newState:null,newLoading:!1};if(t&&t.length>0){var a=t.reduce((function(t,e){var r=e.effects({isAsync:u,name:o,type:i,context:c},t.oldState,t.newState,n);return{newState:(null==r?void 0:r.state)||t.newState,oldState:null!=r&&r.state?t.newState:t.oldState,loading:null==(null==r?void 0:r.loading)?t.loading:r.loading}}),{oldState:e,newState:r,loading:n});return{newLoading:a.loading,newState:a.newState}}return{newState:r,newLoading:n}}export{lt as DEFAULT_PROMISE_ID,B as ParallelActionError,et as addContextActions,tt as addStateToContext,pt as areSameArgs,J as buildErrorMap,Y as buildInvocationContextBase,W as buildLoadingMap,$ as buildOnMountInvocationContext,q as buildOnPropChangeEffects,U as computeAsyncActionInput,vt as computeDerivedValues,V as createRef,st as decorateAsyncAction,ot as decorateSimpleSyncAction,ut as decorateSyncAction,T as globalConfig,N as isAsyncAction,F as isAsyncGetPromiseAction,K as isAsyncGetPromiseGetAction,ft as isLoadingImpl,G as isSimpleSyncAction,D as isSyncAction,yt as onPropChange,H as retryPromiseDecorator,gt as runMiddlewares,C as setGlobalConfig,z as updateErrorMap};
|
|
2
2
|
//# sourceMappingURL=impl.es.js.map
|