state-decorator 6.7.0 → 6.7.1

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 CHANGED
@@ -931,172 +931,6 @@ describe('Todo', () => {
931
931
  });
932
932
  });
933
933
 
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
934
  // Test effects and side effect when props are changing
1101
935
  //
1102
936
  // Here:
@@ -1146,6 +980,174 @@ describe('Todo', () => {
1146
980
  expect(actions.loadRemoteList).not.toHaveBeenCalled();
1147
981
  });
1148
982
  });
983
+
984
+ describe('actions', () => {
985
+ it('onSetNewTitle', async () => {
986
+ // always return a promise whatever if the action is asynchronous or not
987
+ const { state, prevState } = await store.getAction('onSetNewTitle').call('new Title');
988
+
989
+ // previous state is available for comparison
990
+ expect(prevState.newTitle).toEqual('');
991
+ expect(state.newTitle).toEqual('new Title');
992
+ });
993
+
994
+ it('onCreate', async () => {
995
+ const {
996
+ state: { todoIds, todoMap, todos },
997
+ } = await store
998
+ // set partial state and return new store, source store is untouched
999
+ .setPartialState({
1000
+ newTitle: 'new todo',
1001
+ })
1002
+ // get a mock action that can be shared too !
1003
+ .getAction('onCreate')
1004
+ // Invokes action. It has no side effect on state of mock action
1005
+ .call();
1006
+
1007
+ // assert state
1008
+ expect(todoIds).toEqual(['id', 'id2', 'id3']);
1009
+ expect(todoMap).toEqual({
1010
+ id: {
1011
+ id: 'id',
1012
+ completed: true,
1013
+ title: 'todo',
1014
+ },
1015
+ id2: {
1016
+ id: 'id2',
1017
+ completed: false,
1018
+ title: 'todo 2',
1019
+ },
1020
+ id3: {
1021
+ id: 'id3',
1022
+ completed: false,
1023
+ title: 'new todo',
1024
+ },
1025
+ });
1026
+
1027
+ // assert derived state
1028
+ //
1029
+ // export const todoOptions: StoreOptions<State, Actions, Props, DerivedState> = {
1030
+ // derivedState: {
1031
+ // todos: {
1032
+ // getDeps: ({ s }) => [s.todoIds, s.todoMap],
1033
+ // get: ({ s }) => s.todoIds.map((id) => s.todoMap[id]),
1034
+ // },
1035
+ // },
1036
+ // };
1037
+
1038
+ expect(todos).toEqual([
1039
+ {
1040
+ id: 'id',
1041
+ completed: true,
1042
+ title: 'todo',
1043
+ },
1044
+ {
1045
+ id: 'id2',
1046
+ completed: false,
1047
+ title: 'todo 2',
1048
+ },
1049
+ {
1050
+ id: 'id3',
1051
+ completed: false,
1052
+ title: 'new todo',
1053
+ },
1054
+ ]);
1055
+ });
1056
+
1057
+ describe('onToggle', () => {
1058
+ // this mock action is shared in two tests but they can run in parallel
1059
+ const onToggle = store.getAction('onToggle');
1060
+
1061
+ it('toggle false => true', async () => {
1062
+ // arguments of call() depend on the Store action signature, use auto completion!
1063
+ const {
1064
+ state: { todoIds, todoMap },
1065
+ actions,
1066
+ } = await onToggle.call('id2');
1067
+
1068
+ expect(todoIds).toEqual(['id', 'id2']);
1069
+ expect(todoMap).toEqual({
1070
+ id: {
1071
+ id: 'id',
1072
+ completed: true,
1073
+ title: 'todo',
1074
+ },
1075
+ id2: {
1076
+ id: 'id2',
1077
+ completed: true,
1078
+ title: 'todo 2',
1079
+ },
1080
+ });
1081
+
1082
+ // if there are some side effects calling store actions, you can test them
1083
+ // as mock actions are injected instead of real actions.
1084
+ expect(actions.updateRemoteList).toHaveBeenCalled();
1085
+ });
1086
+
1087
+ it('toggle true => false', async () => {
1088
+ const {
1089
+ state: { todoIds, todoMap },
1090
+ actions,
1091
+ } = await onToggle.call('id');
1092
+
1093
+ expect(todoIds).toEqual(['id', 'id2']);
1094
+ expect(todoMap).toEqual({
1095
+ id: {
1096
+ id: 'id',
1097
+ completed: false,
1098
+ title: 'todo',
1099
+ },
1100
+ id2: {
1101
+ id: 'id2',
1102
+ completed: false,
1103
+ title: 'todo 2',
1104
+ },
1105
+ });
1106
+
1107
+ // if there are some side effects calling store actions, you can test them
1108
+ // as mock actions are injected instead of real actions.
1109
+ expect(actions.updateRemoteList).toHaveBeenCalled();
1110
+ });
1111
+ });
1112
+
1113
+ // Another store / action
1114
+ describe('loadRemoteList', () => {
1115
+ // action is shared
1116
+ const action = store.getAction('loadRemoteList');
1117
+
1118
+ it('success', async () => {
1119
+ const { state } = await action
1120
+ // override default promise result
1121
+ .promiseResolves([
1122
+ {
1123
+ id: 'item1',
1124
+ title: 'item title',
1125
+ completed: true,
1126
+ },
1127
+ ])
1128
+ .call();
1129
+
1130
+ expect(state.error).toBeFalsy();
1131
+ expect(state.todoIds).toEqual(['item1']);
1132
+ expect(state.todoMap).toEqual({
1133
+ item1: {
1134
+ id: 'item1',
1135
+ title: 'item title',
1136
+ completed: true,
1137
+ },
1138
+ });
1139
+ });
1140
+
1141
+ it('error', async () => {
1142
+ const { state } = await action
1143
+ // override default promise result with error
1144
+ .promiseRejects(new Error('boom'))
1145
+ .call();
1146
+
1147
+ expect(state.error).toBeTruthy();
1148
+ });
1149
+ });
1150
+ });
1149
1151
  });
1150
1152
  ```
1151
1153
 
@@ -1270,9 +1272,9 @@ TypeError: Cannot set property 'crash' of null
1270
1272
  ### MockStore
1271
1273
 
1272
1274
  | Function | Arguments | Returns | Description |
1273
- | --------------- | ------------------------------------ | ------------------- | ------------------------------------------------------------------------------------------- | --- |
1275
+ | --------------- | ------------------------------------ | ------------------- | ------------------------------------------------------------------------------------------- |
1274
1276
  | getAction | actionName: keyof A | MockStoreAction | Get a mock action instance |
1275
- | onInit | props?: Partial<P> | MockResult | Test store initialization (onPropsChanged marked onMount + onMount) | |
1277
+ | onInit | props?: Partial<P> | MockResult | Test store initialization (onPropsChanged marked onMount + onMount) |
1276
1278
  | onPropsChange | props: P, init?: boolean | MockResult | Test prop changes. Does not change internal props. Init allows to test onMount prop changes |
1277
1279
  | setPartialProps | props: Partial<P> | new mock store | Create a new store with the merge of current props and partial props |
1278
1280
  | setPartialState | state: Partial<S> | new mock store | Create a new store with the merge of current state and partial state |
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "state-decorator",
3
- "version": "6.7.0",
3
+ "version": "6.7.1",
4
4
  "description": "React state management library",
5
5
  "main": "index.js",
6
6
  "module": "index.es.js",
package/test.d.ts CHANGED
@@ -9,6 +9,7 @@ declare type MockResult<S, A extends DecoratedActions, P, DS> = {
9
9
  readonly props: P;
10
10
  readonly actions: MockActions<A, any>;
11
11
  };
12
+ declare type MockActionImpl<A> = Partial<Record<keyof A, (...args: any[]) => any>>;
12
13
  declare type MockResultWithTest<S, A extends DecoratedActions, P, DS> = MockResult<S, A, P, DS> & {
13
14
  /**
14
15
  * Execute function passed as parameter to test state/props/actions called.
@@ -32,6 +33,10 @@ declare type MockStoreAction<S, A extends DecoratedActions, F extends (...args:
32
33
  * Creates a new store action using store props overriden by specified props.
33
34
  */
34
35
  setPartialProps: (props: Partial<P>) => MockStoreAction<S, A, F, P, DS>;
36
+ /**
37
+ * Set implementations to some actions to test side effects.
38
+ */
39
+ setMockActions: (implementation: MockActionImpl<A>) => MockStoreAction<S, A, F, P, DS>;
35
40
  /**
36
41
  * If action is asynchronous, mock the getPromise call to be resolved with specified object.
37
42
  */
@@ -67,6 +72,10 @@ declare type MockStore<S, A extends DecoratedActions, P, DS> = {
67
72
  * Creates a new store using store props overriden by specified props.
68
73
  */
69
74
  setPartialProps: (props: Partial<P>) => MockStore<S, A, P, DS>;
75
+ /**
76
+ * Set implementations to some actions to test side effects.
77
+ */
78
+ setMockActions: (implementation: MockActionImpl<A>) => MockStore<S, A, P, DS>;
70
79
  /**
71
80
  * Executes passed function to test state and/or props
72
81
  */
@@ -89,7 +98,7 @@ declare type MockStore<S, A extends DecoratedActions, P, DS> = {
89
98
  getAction: <K extends keyof A>(name: K) => MockStoreAction<S, A, A[K], P, DS>;
90
99
  };
91
100
  export declare function createMockFromStore<S, A extends DecoratedActions, P, DS>(store: StoreApi<S, A, P, DS>, props?: P): MockStore<S, A, P, DS>;
92
- export declare function createMockStore<S, A extends DecoratedActions, P = {}, DS = {}>(initialState: S | ((p: P) => S), actions: StoreActions<S, A, P, DS>, props?: P, options?: StoreOptions<S, A, P, DS>): MockStore<S, A, P, DS>;
101
+ export declare function createMockStore<S, A extends DecoratedActions, P = {}, DS = {}>(initialState: S | ((p: P) => S), actions: StoreActions<S, A, P, DS>, props?: P, options?: StoreOptions<S, A, P, DS>, mockActions?: MockActionImpl<A>): MockStore<S, A, P, DS>;
93
102
  /**
94
103
  * Set the mock factory. Each mock action will be created using this factory.
95
104
  * @param factory the mock factory
@@ -103,5 +112,5 @@ export declare class ActionError<S = any, P = any, A = any> extends Error {
103
112
  actions: MockActions<A, any>;
104
113
  constructor(sourceError: Error, prevState: S, state: S, props: P, actions: MockActions<A, any>);
105
114
  }
106
- export declare function createMockStoreAction<S, A extends DecoratedActions, F extends (...args: any[]) => any, P, DS>(state: S, actionName: keyof A, actions: StoreActions<S, A, P, DS, S>, props: P, promiseRes: Promise<F> | Error, options: StoreOptions<S, A, P, DS>): MockStoreAction<S, A, F, P, DS>;
115
+ export declare function createMockStoreAction<S, A extends DecoratedActions, F extends (...args: any[]) => any, P, DS>(state: S, actionName: keyof A, actions: StoreActions<S, A, P, DS, S>, props: P, promiseRes: Promise<F> | Error, options: StoreOptions<S, A, P, DS>, mockActions: Partial<Record<keyof A, (...args: any[]) => any>>): MockStoreAction<S, A, F, P, DS>;
107
116
  export {};
package/test.es.js CHANGED
@@ -1,2 +1,2 @@
1
- import{createRef as t,computeDerivedValues as e,onPropChange as r,buildOnMountInvocationContext as n,isSimpleSyncAction as o,decorateSimpleSyncAction as u,isSyncAction as i,decorateSyncAction as c,isAsyncAction as s,computeAsyncActionInput as p,decorateAsyncAction as f}from"./impl";function l(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}function a(t){var e={exports:{}};return t(e,e.exports),e.exports}var d=l(a((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=a((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})),x=l(v),y=a((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})),_=l(a((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&&y(t,e)},t.exports.default=t.exports,t.exports.__esModule=!0}))),b=a((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})),h=l(a((function(t){var e=b.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}))),m=a((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})),O=l(m),P=a((function(t){t.exports=function(t){return-1!==Function.toString.call(t).indexOf("[native code]")},t.exports.default=t.exports,t.exports.__esModule=!0})),g=a((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})),j=a((function(t){function e(r,n,o){return g()?(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&&y(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})),M=l(a((function(t){function e(r){var n="function"==typeof Map?new Map:void 0;return t.exports=e=function(t){if(null===t||!P(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 j(t,arguments,m(this).constructor)}return e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),y(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}))),S=l(a((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})));function w(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=O(t);if(e){var o=O(this).constructor;r=Reflect.construct(n,arguments,o)}else r=n.apply(this,arguments);return h(this,r)}}function R(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 E(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?R(Object(r),!0).forEach((function(e){S(t,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):R(Object(r)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}))}return t}function T(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.getConfig();return C(r.getInitialState,r.actions,e,r.options)}function C(o,u){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},c=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},s=t(),p=t(i);function f(t,e){return C(null!=t?t:s.current,u,null!=e?e:p.current,c)}function l(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:void 0,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,o=t({state:null,deps:{}});return e(r||s,n||p,o,c),E(E({},(null==r?void 0:r.current)||s.current),o.current.state||{})}return s.current="function"==typeof o?o(i):o,{test:function(t){return t(l(),p.current),this},onMount:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this.onInit(t)},setState:function(t){return f(t,void 0)},setProps:function(t){return f(void 0,t)},setPartialState:function(t){return f(E(E({},s.current),t),void 0)},setPartialProps:function(t){return f(void 0,E(E({},p.current),t))},onPropsChange:function(e){var r=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=t(s.current),o=t(E(E({},p.current),e)),i=t({state:null,deps:{}}),c=I(u),f=function(t,e,r,o,u){null!=t&&(n.current=t)},l=this.onPropsChangeImpl(n,o,i,c,f,r);return E(E({},l),{},{test:function(t){t(l)}})},onPropsChangeImpl:function(t,n,o,u,i,f){return e(s,p,o,c),r(t,o,n,p.current,u,c,i,f),{prevState:l(s,p),state:l(t,n),props:n.current,actions:u.current}},onInit:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r="function"==typeof o?o(i):o,s=t(r),f=t(E(E({},p.current),e)),a=t({state:null,deps:{}}),d=I(u),v=function(t,e,r,n,o){null!=t&&(s.current=t)};this.onPropsChangeImpl(s,f,a,d,v,!0),null!=c&&c.onMount&&c.onMount(n(s,a,f,d));var x={prevState:null,state:l(s,f),props:f.current,actions:d.current};return E(E({},x),{},{test:function(t){t(x)}})},getAction:function(t){return A(s.current,t,u,p.current,null,c)}}}function I(e){var r=Object.keys(e);return t(r.reduce((function(t,e){return t[e]=k(),t}),{}))}var k=function(t){return jest.fn(t)};function B(t){k=t}var D=function(t){_(r,t);var e=w(r);function r(t,n,o,u,i){var c;return d(this,r),c=e.call(this,t.message),S(x(c),"sourceError",void 0),S(x(c),"prevState",void 0),S(x(c),"state",void 0),S(x(c),"props",void 0),S(x(c),"actions",void 0),Object.setPrototypeOf(x(c),r.prototype),c.sourceError=t,c.prevState=n,c.props=u,c.state=o,c.actions=i,Error.captureStackTrace&&Error.captureStackTrace(x(c),r),c}return r}(M(Error));function A(r,n,l,a,d,v){var x=t(r),y=t(a),_=d;function b(t,e,r){return A(null!=t?t:x.current,n,l,null!=e?e:y.current,null!=r?r:_,v)}function h(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:void 0,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,o=t({state:null,deps:{}});return e(null!=r?r:x,null!=n?n:y,o,v),E(E({},(null==r?void 0:r.current)||x.current),o.current.state||{})}return{setState:function(t){return b(t,void 0,void 0)},setProps:function(t){return b(void 0,t,void 0)},setPartialState:function(t){return b(E(E({},x.current),t),void 0,void 0)},setPartialProps:function(t){return b(void 0,E(E({},y.current),t),void 0)},promiseResolves:function(t){return b(void 0,void 0,Promise.resolve(t))},promiseRejects:function(t){return b(void 0,void 0,Promise.reject(t))},test:function(t){return t(h(),y.current),this},call:function(){var r,a=t(E({},x.current)),d=t({state:null,deps:{}});e(a,y,d,v);var b=I(l),m=t({}),O=function(t,e,r,n,o,u){null!=t&&(a.current=t)},P=l[n],g=null;if(o(P))u(n,P,a,d,y,t(!0),O).apply(void 0,arguments),g=Promise.resolve();else if(i(P))c(n,E(E({},P),{},{debounceSideEffectsTimeout:0,debounceTimeout:0}),a,d,y,b,t(!0),null,v,O).apply(void 0,arguments),g=Promise.resolve();else if(s(P)){var j=t({}),M=t({}),S=t(!0),w=E({},p(P));_&&(w.getPromise=function(){return _}),w.optimisticEffects&&(w.effects=w.optimisticEffects,delete w.optimisticEffects),g=f({actionName:n,derivedStateRef:d,propsRef:y,loadingMapRef:m,promisesRef:j,conflictActionsRef:M,initializedRef:S,options:v,setState:O,stateRef:a,actionsRef:b,action:w}).apply(void 0,arguments)}return(null!==(r=g)&&void 0!==r?r:Promise.resolve()).then((function(){return m.current={},{prevState:h(x),state:h(a),props:y.current,actions:b.current}})).catch((function(t){return Promise.reject(new D(t,h(x),h(a),y.current,b.current))}))}}}export{D as ActionError,T as createMockFromStore,C as createMockStore,A as createMockStoreAction,B as setMockFactory};
1
+ import{createRef as t,computeDerivedValues as e,onPropChange as r,buildOnMountInvocationContext as o,isSimpleSyncAction as n,decorateSimpleSyncAction as u,isSyncAction as i,decorateSyncAction as c,isAsyncAction as s,computeAsyncActionInput as p,decorateAsyncAction as f}from"./impl";function l(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}function a(t){var e={exports:{}};return t(e,e.exports),e.exports}var d=l(a((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=a((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})),x=l(v),y=a((function(t){function e(r,o){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,o)}t.exports=e,t.exports.default=t.exports,t.exports.__esModule=!0})),h=l(a((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&&y(t,e)},t.exports.default=t.exports,t.exports.__esModule=!0}))),_=a((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=l(a((function(t){var e=_.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}))),m=a((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})),g=l(m),O=a((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=a((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})),M=a((function(t){function e(r,o,n){return P()?(t.exports=e=Reflect.construct,t.exports.default=t.exports,t.exports.__esModule=!0):(t.exports=e=function(t,e,r){var o=[null];o.push.apply(o,e);var n=new(Function.bind.apply(t,o));return r&&y(n,r.prototype),n},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=l(a((function(t){function e(r){var o="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!==o){if(o.has(t))return o.get(t);o.set(t,e)}function e(){return M(t,arguments,m(this).constructor)}return e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),y(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}))),S=l(a((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})));function w(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,o=g(t);if(e){var n=g(this).constructor;r=Reflect.construct(o,arguments,n)}else r=o.apply(this,arguments);return b(this,r)}}function R(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,o)}return r}function E(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?R(Object(r),!0).forEach((function(e){S(t,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):R(Object(r)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}))}return t}function T(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.getConfig();return k(r.getInitialState,r.actions,e,r.options)}function k(n,u){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},c=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},s=arguments.length>4?arguments[4]:void 0,p=t(),f=t(i);function l(t,e,r){return k(null!=t?t:p.current,u,null!=e?e:f.current,c,null!=r?r:s)}function a(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:void 0,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,n=t({state:null,deps:{}});return e(r||p,o||f,n,c),E(E({},(null==r?void 0:r.current)||p.current),n.current.state||{})}return p.current="function"==typeof n?n(i):n,{test:function(t){return t(a(),f.current),this},setMockActions:function(t){return l(void 0,void 0,t)},onMount:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this.onInit(t)},setState:function(t){return l(t,void 0)},setProps:function(t){return l(void 0,t)},setPartialState:function(t){return l(E(E({},p.current),t),void 0)},setPartialProps:function(t){return l(void 0,E(E({},f.current),t))},onPropsChange:function(e){var r=arguments.length>1&&void 0!==arguments[1]&&arguments[1],o=t(p.current),n=t(E(E({},f.current),e)),i=t({state:null,deps:{}}),c=C(u,s),l=function(t,e,r,n,u){null!=t&&(o.current=t)},a=this.onPropsChangeImpl(o,n,i,c,l,r);return E(E({},a),{},{test:function(t){t(a)}})},onPropsChangeImpl:function(t,o,n,u,i,s){return e(p,f,n,c),r(t,n,o,f.current,u,c,i,s),{prevState:a(p,f),state:a(t,o),props:o.current,actions:u.current}},onInit:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r="function"==typeof n?n(i):n,p=t(r),l=t(E(E({},f.current),e)),d=t({state:null,deps:{}}),v=C(u,s),x=function(t,e,r,o,n){null!=t&&(p.current=t)};this.onPropsChangeImpl(p,l,d,v,x,!0),null!=c&&c.onMount&&c.onMount(o(p,d,l,v));var y={prevState:null,state:a(p,l),props:l.current,actions:v.current};return E(E({},y),{},{test:function(t){t(y)}})},getAction:function(t){return D(p.current,t,u,f.current,null,c,void 0)}}}function C(e,r){var o=Object.keys(e);return t(o.reduce((function(t,e){return t[e]=I(null==r?void 0:r[e]),t}),{}))}var I=function(t){return jest.fn(t)};function A(t){I=t}var B=function(t){h(r,t);var e=w(r);function r(t,o,n,u,i){var c;return d(this,r),c=e.call(this,t.message),S(x(c),"sourceError",void 0),S(x(c),"prevState",void 0),S(x(c),"state",void 0),S(x(c),"props",void 0),S(x(c),"actions",void 0),Object.setPrototypeOf(x(c),r.prototype),c.sourceError=t,c.prevState=o,c.props=u,c.state=n,c.actions=i,Error.captureStackTrace&&Error.captureStackTrace(x(c),r),c}return r}(j(Error));function D(r,o,l,a,d,v,x){var y=t(r),h=t(a),_=d;function b(t,e,r){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:x;return D(null!=t?t:y.current,o,l,null!=e?e:h.current,null!=r?r:_,v,n)}function m(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:void 0,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,n=t({state:null,deps:{}});return e(null!=r?r:y,null!=o?o:h,n,v),E(E({},(null==r?void 0:r.current)||y.current),n.current.state||{})}return{setMockActions:function(t){return b(void 0,void 0,void 0,t)},setState:function(t){return b(t,void 0,void 0)},setProps:function(t){return b(void 0,t,void 0)},setPartialState:function(t){return b(E(E({},y.current),t),void 0,void 0)},setPartialProps:function(t){return b(void 0,E(E({},h.current),t),void 0)},promiseResolves:function(t){return b(void 0,void 0,Promise.resolve(t))},promiseRejects:function(t){return b(void 0,void 0,Promise.reject(t))},test:function(t){return t(m(),h.current),this},call:function(){var r,a=t(E({},y.current)),d=t({state:null,deps:{}});e(a,h,d,v);var b=C(l,x),g=t({}),O=function(t){null!=t&&(a.current=t)},P=l[o],M=null;if(n(P))u(o,P,a,d,h,t(!0),O).apply(void 0,arguments),M=Promise.resolve();else if(i(P))c(o,E(E({},P),{},{debounceSideEffectsTimeout:0,debounceTimeout:0}),a,d,h,b,t(!0),null,v,O).apply(void 0,arguments),M=Promise.resolve();else if(s(P)){var j=t({}),S=t({}),w=t(!0),R=E({},p(P));_&&(R.getPromise=function(){return _}),R.optimisticEffects&&(R.effects=R.optimisticEffects,delete R.optimisticEffects),M=f({actionName:o,derivedStateRef:d,propsRef:h,loadingMapRef:g,promisesRef:j,conflictActionsRef:S,initializedRef:w,options:v,setState:O,stateRef:a,actionsRef:b,action:R}).apply(void 0,arguments)}return(null!==(r=M)&&void 0!==r?r:Promise.resolve()).then((function(){return g.current={},{prevState:m(y),state:m(a),props:h.current,actions:b.current}})).catch((function(t){return Promise.reject(new B(t,m(y),m(a),h.current,b.current))}))}}}export{B as ActionError,T as createMockFromStore,k as createMockStore,D as createMockStoreAction,A as setMockFactory};
2
2
  //# sourceMappingURL=test.es.js.map
package/test.es.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"test.es.js","sources":["../node_modules/@babel/runtime/helpers/classCallCheck.js","../node_modules/@babel/runtime/helpers/assertThisInitialized.js","../node_modules/@babel/runtime/helpers/setPrototypeOf.js","../node_modules/@babel/runtime/helpers/inherits.js","../node_modules/@babel/runtime/helpers/typeof.js","../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js","../node_modules/@babel/runtime/helpers/getPrototypeOf.js","../node_modules/@babel/runtime/helpers/isNativeFunction.js","../node_modules/@babel/runtime/helpers/isNativeReflectConstruct.js","../node_modules/@babel/runtime/helpers/construct.js","../node_modules/@babel/runtime/helpers/wrapNativeSuper.js","../node_modules/@babel/runtime/helpers/defineProperty.js","../src/test.ts"],"sourcesContent":["function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nmodule.exports = _classCallCheck;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nmodule.exports = _assertThisInitialized;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _setPrototypeOf(o, p) {\n module.exports = _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n return _setPrototypeOf(o, p);\n}\n\nmodule.exports = _setPrototypeOf;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var setPrototypeOf = require(\"./setPrototypeOf.js\");\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}\n\nmodule.exports = _inherits;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n module.exports = _typeof = function _typeof(obj) {\n return typeof obj;\n };\n\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n } else {\n module.exports = _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n }\n\n return _typeof(obj);\n}\n\nmodule.exports = _typeof;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var _typeof = require(\"@babel/runtime/helpers/typeof\")[\"default\"];\n\nvar assertThisInitialized = require(\"./assertThisInitialized.js\");\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return assertThisInitialized(self);\n}\n\nmodule.exports = _possibleConstructorReturn;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _getPrototypeOf(o) {\n module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n return _getPrototypeOf(o);\n}\n\nmodule.exports = _getPrototypeOf;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}\n\nmodule.exports = _isNativeFunction;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\n\nmodule.exports = _isNativeReflectConstruct;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var setPrototypeOf = require(\"./setPrototypeOf.js\");\n\nvar isNativeReflectConstruct = require(\"./isNativeReflectConstruct.js\");\n\nfunction _construct(Parent, args, Class) {\n if (isNativeReflectConstruct()) {\n module.exports = _construct = Reflect.construct;\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n } else {\n module.exports = _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n }\n\n return _construct.apply(null, arguments);\n}\n\nmodule.exports = _construct;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var getPrototypeOf = require(\"./getPrototypeOf.js\");\n\nvar setPrototypeOf = require(\"./setPrototypeOf.js\");\n\nvar isNativeFunction = require(\"./isNativeFunction.js\");\n\nvar construct = require(\"./construct.js\");\n\nfunction _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n\n module.exports = _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n\n _cache.set(Class, Wrapper);\n }\n\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\n\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return setPrototypeOf(Wrapper, Class);\n };\n\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n return _wrapNativeSuper(Class);\n}\n\nmodule.exports = _wrapNativeSuper;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nmodule.exports = _defineProperty;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","import { StoreActions, StoreApi, StoreOptions } from '.';\nimport {\n computeAsyncActionInput,\n computeDerivedValues,\n createRef,\n decorateSyncAction,\n decorateSimpleSyncAction,\n DerivedState,\n isSyncAction,\n isAsyncAction,\n isSimpleSyncAction,\n SetStateFunc,\n decorateAsyncAction,\n Ref,\n onPropChange,\n buildOnMountInvocationContext,\n} from './impl';\nimport { AsyncAction, DecoratedActions, InternalLoadingMap } from './types';\n\ntype MockActions<A, MockAction> = {\n [k in keyof A]: MockAction;\n};\n\ntype MockResult<S, A extends DecoratedActions, P, DS> = {\n readonly prevState: S & DS;\n readonly state: S & DS;\n readonly props: P;\n readonly actions: MockActions<A, any>;\n};\n\ntype MockResultWithTest<S, A extends DecoratedActions, P, DS> = MockResult<S, A, P, DS> & {\n /**\n * Execute function passed as parameter to test state/props/actions called.\n */\n test: (f: (res: MockResult<S, A, P, DS>) => void) => void;\n};\n\ntype MockStoreAction<S, A extends DecoratedActions, F extends (...args: any[]) => any, P, DS> = {\n /**\n * Creates a new store action with specified state.\n */\n setState: (state: S) => MockStoreAction<S, A, F, P, DS>;\n\n /**\n * Creates a new store action with specified props.\n */\n setProps: (props: P) => MockStoreAction<S, A, F, P, DS>;\n\n /**\n * Creates a new store action using store state overriden by specified state.\n */\n setPartialState: (state: Partial<S>) => MockStoreAction<S, A, F, P, DS>;\n\n /**\n * Creates a new store action using store props overriden by specified props.\n */\n setPartialProps: (props: Partial<P>) => MockStoreAction<S, A, F, P, DS>;\n\n /**\n * If action is asynchronous, mock the getPromise call to be resolved with specified object.\n */\n promiseResolves: (res: any /*PromiseResult<F>*/) => MockStoreAction<S, A, F, P, DS>;\n\n /**\n * If action is asynchronous, mock the getPromise call to be rejected with specified error.\n */\n promiseRejects: (err: Error) => MockStoreAction<S, A, F, P, DS>;\n\n /**\n * Executes passed function to test state and/or props\n */\n test: (f: (state: S & DS, props: P) => void) => MockStoreAction<S, A, F, P, DS>;\n\n /**\n * Calls the action with specified parameters.\n * @returns a promise with state/props/actions to assert\n */\n call: (...args: Parameters<F>) => Promise<MockResult<S, A, P, DS>>;\n};\n\ntype MockStore<S, A extends DecoratedActions, P, DS> = {\n /**\n * Creates a new store with specified state.\n */\n setState: (state: S) => MockStore<S, A, P, DS>;\n\n /**\n * Creates a new store with specified props.\n */\n setProps: (props: P) => MockStore<S, A, P, DS>;\n\n /**\n * Creates a new store using store state overriden by specified state.\n */\n setPartialState: (state: Partial<S>) => MockStore<S, A, P, DS>;\n\n /**\n * Creates a new store using store props overriden by specified props.\n */\n setPartialProps: (props: Partial<P>) => MockStore<S, A, P, DS>;\n\n /**\n * Executes passed function to test state and/or props\n */\n test: (f: (state: S & DS, props: P) => void) => MockStore<S, A, P, DS>;\n\n /**\n * Test options.onMount\n * @deprecated Use init() instead\n */\n onMount: (props: Partial<P>) => MockResultWithTest<S, A, P, DS>;\n\n /**\n * Test state and side effect actions after inbound props have changed.\n */\n onPropsChange: (props: Partial<P>, init?: boolean) => MockResultWithTest<S, A, P, DS>;\n\n /**\n * Test store at initialization time:\n * - options.onPropsChange with onMount set to true\n * - options.onMount\n */\n onInit: (props?: Partial<P>) => MockResultWithTest<S, A, P, DS>;\n\n /** @internal */\n onPropsChangeImpl: (\n newStateRef: Ref<S>,\n newPropsRef: Ref<P>,\n newDerivedStateRef: Ref<DerivedState<DS>>,\n newActionsRef: Ref<StoreActions<S, A, P, DS, S>>,\n setState: SetStateFunc<S, A, P>,\n init?: boolean\n ) => MockResult<S, A, P, DS>;\n getAction: <K extends keyof A>(name: K) => MockStoreAction<S, A, A[K], P, DS>;\n};\n\nexport function createMockFromStore<S, A extends DecoratedActions, P, DS>(\n store: StoreApi<S, A, P, DS>,\n props: P = {} as P\n): MockStore<S, A, P, DS> {\n const cfg = store.getConfig();\n return createMockStore(cfg.getInitialState, cfg.actions, props, cfg.options);\n}\n\nexport function createMockStore<S, A extends DecoratedActions, P = {}, DS = {}>(\n initialState: S | ((p: P) => S),\n actions: StoreActions<S, A, P, DS>,\n props: P = {} as P,\n options: StoreOptions<S, A, P, DS> = {}\n): MockStore<S, A, P, DS> {\n const stateRef = createRef<S>();\n const propsRef = createRef<P>(props);\n\n if (typeof initialState === 'function') {\n stateRef.current = (initialState as (props: P) => S)(props);\n } else {\n stateRef.current = initialState;\n }\n\n function cloneStore(newState: S, newProps: P) {\n return createMockStore(newState ?? stateRef.current, actions, newProps ?? propsRef.current, options);\n }\n\n function getState(newStateRef: Ref<S> = undefined, newPropsRef: Ref<P> = undefined) {\n const derivedStateRef = createRef<DerivedState<DS>>({ state: null, deps: {} });\n computeDerivedValues(newStateRef || stateRef, newPropsRef || propsRef, derivedStateRef, options);\n return {\n ...(newStateRef?.current || stateRef.current),\n ...(derivedStateRef.current.state || ({} as DS)),\n };\n }\n\n return {\n test(f) {\n f(getState(), propsRef.current);\n return this;\n },\n onMount(propsIn = {} as P) {\n return this.onInit(propsIn);\n },\n setState(s) {\n return cloneStore(s, undefined) as MockStore<S, A, P, DS>;\n },\n setProps(p) {\n return cloneStore(undefined, p) as MockStore<S, A, P, DS>;\n },\n setPartialState(s) {\n return cloneStore({ ...stateRef.current, ...s }, undefined) as MockStore<S, A, P, DS>;\n },\n setPartialProps(p) {\n return cloneStore(undefined, { ...propsRef.current, ...p }) as MockStore<S, A, P, DS>;\n },\n onPropsChange(newProps: Partial<P>, init = false) {\n const newStateRef = createRef(stateRef.current);\n const newPropsRef = createRef({ ...propsRef.current, ...newProps });\n const derivedStateRef = createRef<DerivedState<DS>>({ state: null, deps: {} });\n const actionsRef = getActionsRef(actions);\n const setState: SetStateFunc<S, A, P> = (newStateIn, newLoadingMap, actionName, actionType, isAsync) => {\n if (newStateIn != null) {\n newStateRef.current = newStateIn;\n }\n };\n\n const res = this.onPropsChangeImpl(newStateRef, newPropsRef, derivedStateRef, actionsRef, setState, init);\n\n return {\n ...res,\n test(testFunc) {\n testFunc(res);\n },\n };\n },\n onPropsChangeImpl(\n newStateRef: Ref<S>,\n newPropsRef: Ref<P>,\n newDerivedStateRef: Ref<DerivedState<DS>>,\n actionsRef: Ref<StoreActions<S, A, P, DS, S>>,\n setState: SetStateFunc<S, A, P>,\n init?: boolean\n ) {\n computeDerivedValues(stateRef, propsRef, newDerivedStateRef, options);\n\n onPropChange(\n newStateRef,\n newDerivedStateRef,\n newPropsRef,\n propsRef.current,\n actionsRef as any,\n options,\n setState,\n init\n );\n\n return {\n prevState: getState(stateRef, propsRef),\n state: getState(newStateRef, newPropsRef),\n props: newPropsRef.current,\n actions: actionsRef.current,\n };\n },\n\n onInit(newProps: Partial<P> = {}) {\n // reset initial state\n const state = typeof initialState === 'function' ? (initialState as (props: P) => S)(props) : initialState;\n\n const newStateRef = createRef(state);\n const newPropsRef = createRef({ ...propsRef.current, ...newProps });\n const derivedStateRef = createRef<DerivedState<DS>>({ state: null, deps: {} });\n const actionsRef = getActionsRef(actions);\n\n const setState: SetStateFunc<S, A, P> = (newStateIn, newLoadingMap, actionName, actionType, isAsync) => {\n if (newStateIn != null) {\n newStateRef.current = newStateIn;\n }\n };\n\n this.onPropsChangeImpl(newStateRef, newPropsRef, derivedStateRef, actionsRef, setState, true);\n\n if (options?.onMount) {\n options.onMount(buildOnMountInvocationContext(newStateRef, derivedStateRef, newPropsRef, actionsRef as any));\n }\n\n const res: MockResult<S, A, P, DS> = {\n prevState: null,\n state: getState(newStateRef, newPropsRef),\n props: newPropsRef.current,\n actions: actionsRef.current,\n };\n\n return {\n ...res,\n test(testFunc) {\n testFunc(res);\n },\n };\n },\n\n getAction(actionName) {\n return createMockStoreAction(stateRef.current, actionName, actions, propsRef.current, null, options);\n },\n };\n}\n\nfunction getActionsRef<A>(actions: A): Ref<A> {\n const keys = Object.keys(actions) as (keyof A)[];\n\n return createRef<A>(\n keys.reduce<A>((acc, actionName) => {\n acc[actionName] = mockFactory() as any;\n return acc;\n }, {} as A)\n );\n}\n\nfunction createMockAction(impl?: (...args: any[]) => any): typeof jest.fn {\n return jest.fn(impl);\n}\n\nlet mockFactory = createMockAction;\n\n/**\n * Set the mock factory. Each mock action will be created using this factory.\n * @param factory the mock factory\n */\nexport function setMockFactory(factory: (impl?: (...args: any[]) => any) => any) {\n mockFactory = factory;\n}\n\nexport class ActionError<S = any, P = any, A = any> extends Error {\n public sourceError: Error;\n public prevState: S;\n public state: S;\n public props: P;\n public actions: MockActions<A, any>;\n\n constructor(sourceError: Error, prevState: S, state: S, props: P, actions: MockActions<A, any>) {\n super(sourceError.message);\n\n Object.setPrototypeOf(this, ActionError.prototype);\n\n this.sourceError = sourceError;\n this.prevState = prevState;\n this.props = props;\n this.state = state;\n this.actions = actions;\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, ActionError);\n }\n }\n}\n\nexport function createMockStoreAction<S, A extends DecoratedActions, F extends (...args: any[]) => any, P, DS>(\n state: S,\n actionName: keyof A,\n actions: StoreActions<S, A, P, DS, S>,\n props: P,\n promiseRes: Promise<F> | Error,\n options: StoreOptions<S, A, P, DS>\n): MockStoreAction<S, A, F, P, DS> {\n const stateRef = createRef<S>(state);\n const propsRef = createRef<P>(props);\n const promiseResult = promiseRes;\n\n function cloneStoreAction(newState: S, newProps: P, promiseRes: Promise<F> | Error) {\n return createMockStoreAction(\n newState ?? stateRef.current,\n actionName,\n actions,\n newProps ?? propsRef.current,\n promiseRes ?? promiseResult,\n options\n );\n }\n\n function getState(newStateRef: Ref<S> = undefined, newPropsRef: Ref<P> = undefined) {\n const derivedStateRef = createRef<DerivedState<DS>>({ state: null, deps: {} });\n computeDerivedValues(newStateRef ?? stateRef, newPropsRef ?? propsRef, derivedStateRef, options);\n return {\n ...(newStateRef?.current || stateRef.current),\n ...(derivedStateRef.current.state || ({} as DS)),\n };\n }\n\n return {\n setState(s) {\n return cloneStoreAction(s, undefined, undefined) as MockStoreAction<S, A, F, P, DS>;\n },\n setProps(p) {\n return cloneStoreAction(undefined, p, undefined) as MockStoreAction<S, A, F, P, DS>;\n },\n setPartialState(s) {\n return cloneStoreAction({ ...stateRef.current, ...s }, undefined, undefined) as MockStoreAction<S, A, F, P, DS>;\n },\n setPartialProps(p) {\n return cloneStoreAction(undefined, { ...propsRef.current, ...p }, undefined) as MockStoreAction<S, A, F, P, DS>;\n },\n promiseResolves(res) {\n return cloneStoreAction(undefined, undefined, Promise.resolve(res)) as MockStoreAction<S, A, F, P, DS>;\n },\n promiseRejects(err) {\n return cloneStoreAction(undefined, undefined, Promise.reject(err)) as MockStoreAction<S, A, F, P, DS>;\n },\n test(f) {\n f(getState(), propsRef.current);\n return this;\n },\n call(...args) {\n const newStateRef = createRef<S>({ ...stateRef.current });\n const derivedStateRef = createRef<DerivedState<DS>>({ state: null, deps: {} });\n computeDerivedValues(newStateRef, propsRef, derivedStateRef, options);\n\n // create mock action to test side effects\n const actionsRef = getActionsRef(actions);\n const loadingMapRef = createRef<InternalLoadingMap<A>>({});\n\n const setState: SetStateFunc<S, A, P> = (newStateIn, newLoadingMap, actionName, actionType, isAsync, ctx) => {\n if (newStateIn != null) {\n newStateRef.current = newStateIn;\n }\n };\n\n const action = actions[actionName];\n\n let promise = null;\n\n if (isSimpleSyncAction(action as any)) {\n decorateSimpleSyncAction(\n actionName,\n action as any,\n newStateRef,\n derivedStateRef,\n propsRef,\n createRef(true),\n setState\n )(...((args as any) as Parameters<A[keyof A]>));\n\n promise = Promise.resolve();\n } else if (isSyncAction(action)) {\n decorateSyncAction(\n actionName,\n // force no debouncing to trigger side effects directly\n { ...action, debounceSideEffectsTimeout: 0, debounceTimeout: 0 },\n newStateRef,\n derivedStateRef,\n propsRef,\n actionsRef as any,\n createRef(true),\n null,\n options,\n setState\n )(...((args as any) as Parameters<A[keyof A]>));\n\n promise = Promise.resolve();\n } else if (isAsyncAction(action)) {\n const promisesRef = createRef({});\n const conflictActionsRef = createRef({});\n const initializedRef = createRef(true);\n\n const impl: AsyncAction<S, A[keyof A], A, P, DS> = { ...computeAsyncActionInput(action) };\n\n if (promiseResult) {\n impl.getPromise = () => promiseResult as any;\n }\n\n // simulate optimistic actions\n if (impl.optimisticEffects) {\n impl.effects = impl.optimisticEffects;\n delete impl.optimisticEffects;\n }\n\n promise = (decorateAsyncAction({\n actionName,\n derivedStateRef,\n propsRef,\n loadingMapRef,\n promisesRef,\n conflictActionsRef,\n initializedRef,\n options,\n setState,\n stateRef: newStateRef,\n actionsRef: actionsRef as any,\n action: impl,\n }) as any)(...((args as any) as Parameters<A[keyof A]>));\n }\n\n return (promise ?? Promise.resolve())\n .then(() => {\n loadingMapRef.current = {};\n return {\n prevState: getState(stateRef),\n state: getState(newStateRef),\n props: propsRef.current,\n actions: (actionsRef.current as any) as MockActions<A, any>,\n };\n })\n .catch((e: Error) => {\n return Promise.reject(\n new ActionError(\n e,\n getState(stateRef),\n getState(newStateRef),\n propsRef.current,\n (actionsRef.current as any) as MockActions<A, any>\n )\n );\n });\n },\n };\n}\n"],"names":["module","instance","Constructor","TypeError","exports","self","ReferenceError","_setPrototypeOf","o","p","Object","setPrototypeOf","__proto__","subClass","superClass","prototype","create","constructor","value","writable","configurable","_typeof","obj","Symbol","iterator","require$$0","call","assertThisInitialized","_getPrototypeOf","getPrototypeOf","fn","Function","toString","indexOf","Reflect","construct","sham","Proxy","Boolean","valueOf","e","_construct","Parent","args","Class","isNativeReflectConstruct","a","push","apply","bind","arguments","_wrapNativeSuper","_cache","Map","undefined","isNativeFunction","has","get","set","Wrapper","this","enumerable","key","defineProperty","createMockFromStore","store","props","cfg","getConfig","createMockStore","getInitialState","actions","options","initialState","stateRef","createRef","propsRef","cloneStore","newState","newProps","current","getState","newStateRef","newPropsRef","derivedStateRef","state","deps","computeDerivedValues","test","f","onMount","propsIn","onInit","setState","s","setProps","setPartialState","setPartialProps","onPropsChange","init","actionsRef","getActionsRef","newStateIn","newLoadingMap","actionName","actionType","isAsync","res","onPropsChangeImpl","testFunc","newDerivedStateRef","onPropChange","prevState","buildOnMountInvocationContext","getAction","createMockStoreAction","keys","reduce","acc","mockFactory","impl","jest","setMockFactory","factory","ActionError","sourceError","message","Error","captureStackTrace","promiseRes","promiseResult","cloneStoreAction","promiseResolves","Promise","resolve","promiseRejects","err","reject","loadingMapRef","ctx","action","promise","isSimpleSyncAction","decorateSimpleSyncAction","isSyncAction","decorateSyncAction","debounceSideEffectsTimeout","debounceTimeout","isAsyncAction","promisesRef","conflictActionsRef","initializedRef","computeAsyncActionInput","getPromise","optimisticEffects","effects","decorateAsyncAction","then"],"mappings":"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"}
1
+ {"version":3,"file":"test.es.js","sources":["../node_modules/@babel/runtime/helpers/classCallCheck.js","../node_modules/@babel/runtime/helpers/assertThisInitialized.js","../node_modules/@babel/runtime/helpers/setPrototypeOf.js","../node_modules/@babel/runtime/helpers/inherits.js","../node_modules/@babel/runtime/helpers/typeof.js","../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js","../node_modules/@babel/runtime/helpers/getPrototypeOf.js","../node_modules/@babel/runtime/helpers/isNativeFunction.js","../node_modules/@babel/runtime/helpers/isNativeReflectConstruct.js","../node_modules/@babel/runtime/helpers/construct.js","../node_modules/@babel/runtime/helpers/wrapNativeSuper.js","../node_modules/@babel/runtime/helpers/defineProperty.js","../src/test.ts"],"sourcesContent":["function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nmodule.exports = _classCallCheck;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nmodule.exports = _assertThisInitialized;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _setPrototypeOf(o, p) {\n module.exports = _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n return _setPrototypeOf(o, p);\n}\n\nmodule.exports = _setPrototypeOf;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var setPrototypeOf = require(\"./setPrototypeOf.js\");\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}\n\nmodule.exports = _inherits;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n module.exports = _typeof = function _typeof(obj) {\n return typeof obj;\n };\n\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n } else {\n module.exports = _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n }\n\n return _typeof(obj);\n}\n\nmodule.exports = _typeof;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var _typeof = require(\"@babel/runtime/helpers/typeof\")[\"default\"];\n\nvar assertThisInitialized = require(\"./assertThisInitialized.js\");\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return assertThisInitialized(self);\n}\n\nmodule.exports = _possibleConstructorReturn;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _getPrototypeOf(o) {\n module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n return _getPrototypeOf(o);\n}\n\nmodule.exports = _getPrototypeOf;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}\n\nmodule.exports = _isNativeFunction;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\n\nmodule.exports = _isNativeReflectConstruct;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var setPrototypeOf = require(\"./setPrototypeOf.js\");\n\nvar isNativeReflectConstruct = require(\"./isNativeReflectConstruct.js\");\n\nfunction _construct(Parent, args, Class) {\n if (isNativeReflectConstruct()) {\n module.exports = _construct = Reflect.construct;\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n } else {\n module.exports = _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n }\n\n return _construct.apply(null, arguments);\n}\n\nmodule.exports = _construct;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var getPrototypeOf = require(\"./getPrototypeOf.js\");\n\nvar setPrototypeOf = require(\"./setPrototypeOf.js\");\n\nvar isNativeFunction = require(\"./isNativeFunction.js\");\n\nvar construct = require(\"./construct.js\");\n\nfunction _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n\n module.exports = _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n\n _cache.set(Class, Wrapper);\n }\n\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\n\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return setPrototypeOf(Wrapper, Class);\n };\n\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n return _wrapNativeSuper(Class);\n}\n\nmodule.exports = _wrapNativeSuper;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nmodule.exports = _defineProperty;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","import { StoreActions, StoreApi, StoreOptions } from '.';\nimport {\n computeAsyncActionInput,\n computeDerivedValues,\n createRef,\n decorateSyncAction,\n decorateSimpleSyncAction,\n DerivedState,\n isSyncAction,\n isAsyncAction,\n isSimpleSyncAction,\n SetStateFunc,\n decorateAsyncAction,\n Ref,\n onPropChange,\n buildOnMountInvocationContext,\n} from './impl';\nimport { AsyncAction, DecoratedActions, InternalLoadingMap } from './types';\n\ntype MockActions<A, MockAction> = {\n [k in keyof A]: MockAction;\n};\n\ntype MockResult<S, A extends DecoratedActions, P, DS> = {\n readonly prevState: S & DS;\n readonly state: S & DS;\n readonly props: P;\n readonly actions: MockActions<A, any>;\n};\n\ntype MockActionImpl<A> = Partial<Record<keyof A, (...args: any[]) => any>>;\n\ntype MockResultWithTest<S, A extends DecoratedActions, P, DS> = MockResult<S, A, P, DS> & {\n /**\n * Execute function passed as parameter to test state/props/actions called.\n */\n test: (f: (res: MockResult<S, A, P, DS>) => void) => void;\n};\n\ntype MockStoreAction<S, A extends DecoratedActions, F extends (...args: any[]) => any, P, DS> = {\n /**\n * Creates a new store action with specified state.\n */\n setState: (state: S) => MockStoreAction<S, A, F, P, DS>;\n\n /**\n * Creates a new store action with specified props.\n */\n setProps: (props: P) => MockStoreAction<S, A, F, P, DS>;\n\n /**\n * Creates a new store action using store state overriden by specified state.\n */\n setPartialState: (state: Partial<S>) => MockStoreAction<S, A, F, P, DS>;\n\n /**\n * Creates a new store action using store props overriden by specified props.\n */\n setPartialProps: (props: Partial<P>) => MockStoreAction<S, A, F, P, DS>;\n\n /**\n * Set implementations to some actions to test side effects.\n */\n setMockActions: (implementation: MockActionImpl<A>) => MockStoreAction<S, A, F, P, DS>;\n\n /**\n * If action is asynchronous, mock the getPromise call to be resolved with specified object.\n */\n promiseResolves: (res: any /*PromiseResult<F>*/) => MockStoreAction<S, A, F, P, DS>;\n\n /**\n * If action is asynchronous, mock the getPromise call to be rejected with specified error.\n */\n promiseRejects: (err: Error) => MockStoreAction<S, A, F, P, DS>;\n\n /**\n * Executes passed function to test state and/or props\n */\n test: (f: (state: S & DS, props: P) => void) => MockStoreAction<S, A, F, P, DS>;\n\n /**\n * Calls the action with specified parameters.\n * @returns a promise with state/props/actions to assert\n */\n call: (...args: Parameters<F>) => Promise<MockResult<S, A, P, DS>>;\n};\n\ntype MockStore<S, A extends DecoratedActions, P, DS> = {\n /**\n * Creates a new store with specified state.\n */\n setState: (state: S) => MockStore<S, A, P, DS>;\n\n /**\n * Creates a new store with specified props.\n */\n setProps: (props: P) => MockStore<S, A, P, DS>;\n\n /**\n * Creates a new store using store state overriden by specified state.\n */\n setPartialState: (state: Partial<S>) => MockStore<S, A, P, DS>;\n\n /**\n * Creates a new store using store props overriden by specified props.\n */\n setPartialProps: (props: Partial<P>) => MockStore<S, A, P, DS>;\n\n /**\n * Set implementations to some actions to test side effects.\n */\n setMockActions: (implementation: MockActionImpl<A>) => MockStore<S, A, P, DS>;\n\n /**\n * Executes passed function to test state and/or props\n */\n test: (f: (state: S & DS, props: P) => void) => MockStore<S, A, P, DS>;\n\n /**\n * Test options.onMount\n * @deprecated Use init() instead\n */\n onMount: (props: Partial<P>) => MockResultWithTest<S, A, P, DS>;\n\n /**\n * Test state and side effect actions after inbound props have changed.\n */\n onPropsChange: (props: Partial<P>, init?: boolean) => MockResultWithTest<S, A, P, DS>;\n\n /**\n * Test store at initialization time:\n * - options.onPropsChange with onMount set to true\n * - options.onMount\n */\n onInit: (props?: Partial<P>) => MockResultWithTest<S, A, P, DS>;\n\n /** @internal */\n onPropsChangeImpl: (\n newStateRef: Ref<S>,\n newPropsRef: Ref<P>,\n newDerivedStateRef: Ref<DerivedState<DS>>,\n newActionsRef: Ref<StoreActions<S, A, P, DS, S>>,\n setState: SetStateFunc<S, A, P>,\n init?: boolean\n ) => MockResult<S, A, P, DS>;\n getAction: <K extends keyof A>(name: K) => MockStoreAction<S, A, A[K], P, DS>;\n};\n\nexport function createMockFromStore<S, A extends DecoratedActions, P, DS>(\n store: StoreApi<S, A, P, DS>,\n props: P = {} as P\n): MockStore<S, A, P, DS> {\n const cfg = store.getConfig();\n return createMockStore(cfg.getInitialState, cfg.actions, props, cfg.options);\n}\n\nexport function createMockStore<S, A extends DecoratedActions, P = {}, DS = {}>(\n initialState: S | ((p: P) => S),\n actions: StoreActions<S, A, P, DS>,\n props: P = {} as P,\n options: StoreOptions<S, A, P, DS> = {},\n mockActions?: MockActionImpl<A>\n): MockStore<S, A, P, DS> {\n const stateRef = createRef<S>();\n const propsRef = createRef<P>(props);\n\n if (typeof initialState === 'function') {\n stateRef.current = (initialState as (props: P) => S)(props);\n } else {\n stateRef.current = initialState;\n }\n\n function cloneStore(newState: S, newProps: P, newMockActions?: MockActionImpl<A>) {\n return createMockStore(\n newState ?? stateRef.current,\n actions,\n newProps ?? propsRef.current,\n options,\n newMockActions ?? mockActions\n );\n }\n\n function getState(newStateRef: Ref<S> = undefined, newPropsRef: Ref<P> = undefined) {\n const derivedStateRef = createRef<DerivedState<DS>>({ state: null, deps: {} });\n computeDerivedValues(newStateRef || stateRef, newPropsRef || propsRef, derivedStateRef, options);\n return {\n ...(newStateRef?.current || stateRef.current),\n ...(derivedStateRef.current.state || ({} as DS)),\n };\n }\n\n return {\n test(f) {\n f(getState(), propsRef.current);\n return this;\n },\n setMockActions(mockActions) {\n return cloneStore(undefined, undefined, mockActions) as MockStore<S, A, P, DS>;\n },\n onMount(propsIn = {} as P) {\n return this.onInit(propsIn);\n },\n setState(s) {\n return cloneStore(s, undefined) as MockStore<S, A, P, DS>;\n },\n setProps(p) {\n return cloneStore(undefined, p) as MockStore<S, A, P, DS>;\n },\n setPartialState(s) {\n return cloneStore({ ...stateRef.current, ...s }, undefined) as MockStore<S, A, P, DS>;\n },\n setPartialProps(p) {\n return cloneStore(undefined, { ...propsRef.current, ...p }) as MockStore<S, A, P, DS>;\n },\n onPropsChange(newProps: Partial<P>, init = false) {\n const newStateRef = createRef(stateRef.current);\n const newPropsRef = createRef({ ...propsRef.current, ...newProps });\n const derivedStateRef = createRef<DerivedState<DS>>({ state: null, deps: {} });\n const actionsRef = getActionsRef(actions, mockActions);\n const setState: SetStateFunc<S, A, P> = (newStateIn, newLoadingMap, actionName, actionType, isAsync) => {\n if (newStateIn != null) {\n newStateRef.current = newStateIn;\n }\n };\n\n const res = this.onPropsChangeImpl(newStateRef, newPropsRef, derivedStateRef, actionsRef, setState, init);\n\n return {\n ...res,\n test(testFunc) {\n testFunc(res);\n },\n };\n },\n onPropsChangeImpl(\n newStateRef: Ref<S>,\n newPropsRef: Ref<P>,\n newDerivedStateRef: Ref<DerivedState<DS>>,\n actionsRef: Ref<StoreActions<S, A, P, DS, S>>,\n setState: SetStateFunc<S, A, P>,\n init?: boolean\n ) {\n computeDerivedValues(stateRef, propsRef, newDerivedStateRef, options);\n\n onPropChange(\n newStateRef,\n newDerivedStateRef,\n newPropsRef,\n propsRef.current,\n actionsRef as any,\n options,\n setState,\n init\n );\n\n return {\n prevState: getState(stateRef, propsRef),\n state: getState(newStateRef, newPropsRef),\n props: newPropsRef.current,\n actions: actionsRef.current,\n };\n },\n\n onInit(newProps: Partial<P> = {}) {\n // reset initial state\n const state = typeof initialState === 'function' ? (initialState as (props: P) => S)(props) : initialState;\n\n const newStateRef = createRef(state);\n const newPropsRef = createRef({ ...propsRef.current, ...newProps });\n const derivedStateRef = createRef<DerivedState<DS>>({ state: null, deps: {} });\n const actionsRef = getActionsRef(actions, mockActions);\n\n const setState: SetStateFunc<S, A, P> = (newStateIn, newLoadingMap, actionName, actionType, isAsync) => {\n if (newStateIn != null) {\n newStateRef.current = newStateIn;\n }\n };\n\n this.onPropsChangeImpl(newStateRef, newPropsRef, derivedStateRef, actionsRef, setState, true);\n\n if (options?.onMount) {\n options.onMount(buildOnMountInvocationContext(newStateRef, derivedStateRef, newPropsRef, actionsRef as any));\n }\n\n const res: MockResult<S, A, P, DS> = {\n prevState: null,\n state: getState(newStateRef, newPropsRef),\n props: newPropsRef.current,\n actions: actionsRef.current,\n };\n\n return {\n ...res,\n test(testFunc) {\n testFunc(res);\n },\n };\n },\n\n getAction(actionName) {\n return createMockStoreAction(stateRef.current, actionName, actions, propsRef.current, null, options, undefined);\n },\n };\n}\n\nfunction getActionsRef<A>(actions: A, impl: MockActionImpl<A>): Ref<A> {\n const keys = Object.keys(actions) as (keyof A)[];\n\n return createRef<A>(\n keys.reduce<A>((acc, actionName) => {\n acc[actionName] = mockFactory(impl?.[actionName]) as any;\n return acc;\n }, {} as A)\n );\n}\n\nfunction createMockAction(impl?: (...args: any[]) => any): typeof jest.fn {\n return jest.fn(impl);\n}\n\nlet mockFactory = createMockAction;\n\n/**\n * Set the mock factory. Each mock action will be created using this factory.\n * @param factory the mock factory\n */\nexport function setMockFactory(factory: (impl?: (...args: any[]) => any) => any) {\n mockFactory = factory;\n}\n\nexport class ActionError<S = any, P = any, A = any> extends Error {\n public sourceError: Error;\n public prevState: S;\n public state: S;\n public props: P;\n public actions: MockActions<A, any>;\n\n constructor(sourceError: Error, prevState: S, state: S, props: P, actions: MockActions<A, any>) {\n super(sourceError.message);\n\n Object.setPrototypeOf(this, ActionError.prototype);\n\n this.sourceError = sourceError;\n this.prevState = prevState;\n this.props = props;\n this.state = state;\n this.actions = actions;\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, ActionError);\n }\n }\n}\n\nexport function createMockStoreAction<S, A extends DecoratedActions, F extends (...args: any[]) => any, P, DS>(\n state: S,\n actionName: keyof A,\n actions: StoreActions<S, A, P, DS, S>,\n props: P,\n promiseRes: Promise<F> | Error,\n options: StoreOptions<S, A, P, DS>,\n mockActions: Partial<Record<keyof A, (...args: any[]) => any>>\n): MockStoreAction<S, A, F, P, DS> {\n const stateRef = createRef<S>(state);\n const propsRef = createRef<P>(props);\n const promiseResult = promiseRes;\n\n function cloneStoreAction(\n newState: S,\n newProps: P,\n promiseRes: Promise<F> | Error,\n newMockActions: Partial<Record<keyof A, (...args: any[]) => any>> = mockActions\n ) {\n return createMockStoreAction(\n newState ?? stateRef.current,\n actionName,\n actions,\n newProps ?? propsRef.current,\n promiseRes ?? promiseResult,\n options,\n newMockActions\n );\n }\n\n function getState(newStateRef: Ref<S> = undefined, newPropsRef: Ref<P> = undefined) {\n const derivedStateRef = createRef<DerivedState<DS>>({ state: null, deps: {} });\n computeDerivedValues(newStateRef ?? stateRef, newPropsRef ?? propsRef, derivedStateRef, options);\n return {\n ...(newStateRef?.current || stateRef.current),\n ...(derivedStateRef.current.state || ({} as DS)),\n };\n }\n\n return {\n setMockActions(mockActions) {\n return cloneStoreAction(undefined, undefined, undefined, mockActions) as MockStoreAction<S, A, F, P, DS>;\n },\n setState(s) {\n return cloneStoreAction(s, undefined, undefined) as MockStoreAction<S, A, F, P, DS>;\n },\n setProps(p) {\n return cloneStoreAction(undefined, p, undefined) as MockStoreAction<S, A, F, P, DS>;\n },\n setPartialState(s) {\n return cloneStoreAction({ ...stateRef.current, ...s }, undefined, undefined) as MockStoreAction<S, A, F, P, DS>;\n },\n setPartialProps(p) {\n return cloneStoreAction(undefined, { ...propsRef.current, ...p }, undefined) as MockStoreAction<S, A, F, P, DS>;\n },\n promiseResolves(res) {\n return cloneStoreAction(undefined, undefined, Promise.resolve(res)) as MockStoreAction<S, A, F, P, DS>;\n },\n promiseRejects(err) {\n return cloneStoreAction(undefined, undefined, Promise.reject(err)) as MockStoreAction<S, A, F, P, DS>;\n },\n test(f) {\n f(getState(), propsRef.current);\n return this;\n },\n call(...args) {\n const newStateRef = createRef<S>({ ...stateRef.current });\n const derivedStateRef = createRef<DerivedState<DS>>({ state: null, deps: {} });\n computeDerivedValues(newStateRef, propsRef, derivedStateRef, options);\n\n // create mock action to test side effects\n const actionsRef = getActionsRef(actions, mockActions);\n const loadingMapRef = createRef<InternalLoadingMap<A>>({});\n\n const setState: SetStateFunc<S, A, P> = (\n newStateIn /* newLoadingMap, actionName, actionType, isAsync, ctx */\n ) => {\n if (newStateIn != null) {\n newStateRef.current = newStateIn;\n }\n };\n\n const action = actions[actionName];\n\n let promise = null;\n\n if (isSimpleSyncAction(action as any)) {\n decorateSimpleSyncAction(\n actionName,\n action as any,\n newStateRef,\n derivedStateRef,\n propsRef,\n createRef(true),\n setState\n )(...((args as any) as Parameters<A[keyof A]>));\n\n promise = Promise.resolve();\n } else if (isSyncAction(action)) {\n decorateSyncAction(\n actionName,\n // force no debouncing to trigger side effects directly\n { ...action, debounceSideEffectsTimeout: 0, debounceTimeout: 0 },\n newStateRef,\n derivedStateRef,\n propsRef,\n actionsRef as any,\n createRef(true),\n null,\n options,\n setState\n )(...((args as any) as Parameters<A[keyof A]>));\n\n promise = Promise.resolve();\n } else if (isAsyncAction(action)) {\n const promisesRef = createRef({});\n const conflictActionsRef = createRef({});\n const initializedRef = createRef(true);\n\n const impl: AsyncAction<S, A[keyof A], A, P, DS> = { ...computeAsyncActionInput(action) };\n\n if (promiseResult) {\n impl.getPromise = () => promiseResult as any;\n }\n\n // simulate optimistic actions\n if (impl.optimisticEffects) {\n impl.effects = impl.optimisticEffects;\n delete impl.optimisticEffects;\n }\n\n promise = (decorateAsyncAction({\n actionName,\n derivedStateRef,\n propsRef,\n loadingMapRef,\n promisesRef,\n conflictActionsRef,\n initializedRef,\n options,\n setState,\n stateRef: newStateRef,\n actionsRef: actionsRef as any,\n action: impl,\n }) as any)(...((args as any) as Parameters<A[keyof A]>));\n }\n\n return (promise ?? Promise.resolve())\n .then(() => {\n loadingMapRef.current = {};\n return {\n prevState: getState(stateRef),\n state: getState(newStateRef),\n props: propsRef.current,\n actions: (actionsRef.current as any) as MockActions<A, any>,\n };\n })\n .catch((e: Error) => {\n return Promise.reject(\n new ActionError(\n e,\n getState(stateRef),\n getState(newStateRef),\n propsRef.current,\n (actionsRef.current as any) as MockActions<A, any>\n )\n );\n });\n },\n };\n}\n"],"names":["module","instance","Constructor","TypeError","exports","self","ReferenceError","_setPrototypeOf","o","p","Object","setPrototypeOf","__proto__","subClass","superClass","prototype","create","constructor","value","writable","configurable","_typeof","obj","Symbol","iterator","require$$0","call","assertThisInitialized","_getPrototypeOf","getPrototypeOf","fn","Function","toString","indexOf","Reflect","construct","sham","Proxy","Boolean","valueOf","e","_construct","Parent","args","Class","isNativeReflectConstruct","a","push","apply","bind","arguments","_wrapNativeSuper","_cache","Map","undefined","isNativeFunction","has","get","set","Wrapper","this","enumerable","key","defineProperty","createMockFromStore","store","props","cfg","getConfig","createMockStore","getInitialState","actions","options","initialState","mockActions","stateRef","createRef","propsRef","cloneStore","newState","newProps","newMockActions","current","getState","newStateRef","newPropsRef","derivedStateRef","state","deps","computeDerivedValues","test","f","setMockActions","onMount","propsIn","onInit","setState","s","setProps","setPartialState","setPartialProps","onPropsChange","init","actionsRef","getActionsRef","newStateIn","newLoadingMap","actionName","actionType","isAsync","res","onPropsChangeImpl","testFunc","newDerivedStateRef","onPropChange","prevState","buildOnMountInvocationContext","getAction","createMockStoreAction","impl","keys","reduce","acc","mockFactory","jest","setMockFactory","factory","ActionError","sourceError","message","Error","captureStackTrace","promiseRes","promiseResult","cloneStoreAction","promiseResolves","Promise","resolve","promiseRejects","err","reject","loadingMapRef","action","promise","isSimpleSyncAction","decorateSimpleSyncAction","isSyncAction","decorateSyncAction","debounceSideEffectsTimeout","debounceTimeout","isAsyncAction","promisesRef","conflictActionsRef","initializedRef","computeAsyncActionInput","getPromise","optimisticEffects","effects","decorateAsyncAction","then"],"mappings":"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"}
package/test.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./impl");function t(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function r(e){var t={exports:{}};return e(t,t.exports),t.exports}var o=t(r((function(e){e.exports=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},e.exports.default=e.exports,e.exports.__esModule=!0}))),n=r((function(e){e.exports=function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e},e.exports.default=e.exports,e.exports.__esModule=!0})),u=t(n),c=r((function(e){function t(r,o){return e.exports=t=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},e.exports.default=e.exports,e.exports.__esModule=!0,t(r,o)}e.exports=t,e.exports.default=e.exports,e.exports.__esModule=!0})),i=t(r((function(e){e.exports=function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&c(e,t)},e.exports.default=e.exports,e.exports.__esModule=!0}))),s=r((function(e){function t(r){return"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?(e.exports=t=function(e){return typeof e},e.exports.default=e.exports,e.exports.__esModule=!0):(e.exports=t=function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e.exports.default=e.exports,e.exports.__esModule=!0),t(r)}e.exports=t,e.exports.default=e.exports,e.exports.__esModule=!0})),f=t(r((function(e){var t=s.default;e.exports=function(e,r){return!r||"object"!==t(r)&&"function"!=typeof r?n(e):r},e.exports.default=e.exports,e.exports.__esModule=!0}))),p=r((function(e){function t(r){return e.exports=t=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},e.exports.default=e.exports,e.exports.__esModule=!0,t(r)}e.exports=t,e.exports.default=e.exports,e.exports.__esModule=!0})),l=t(p),a=r((function(e){e.exports=function(e){return-1!==Function.toString.call(e).indexOf("[native code]")},e.exports.default=e.exports,e.exports.__esModule=!0})),d=r((function(e){e.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(e){return!1}},e.exports.default=e.exports,e.exports.__esModule=!0})),v=r((function(e){function t(r,o,n){return d()?(e.exports=t=Reflect.construct,e.exports.default=e.exports,e.exports.__esModule=!0):(e.exports=t=function(e,t,r){var o=[null];o.push.apply(o,t);var n=new(Function.bind.apply(e,o));return r&&c(n,r.prototype),n},e.exports.default=e.exports,e.exports.__esModule=!0),t.apply(null,arguments)}e.exports=t,e.exports.default=e.exports,e.exports.__esModule=!0})),x=t(r((function(e){function t(r){var o="function"==typeof Map?new Map:void 0;return e.exports=t=function(e){if(null===e||!a(e))return e;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==o){if(o.has(e))return o.get(e);o.set(e,t)}function t(){return v(e,arguments,p(this).constructor)}return t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),c(t,e)},e.exports.default=e.exports,e.exports.__esModule=!0,t(r)}e.exports=t,e.exports.default=e.exports,e.exports.__esModule=!0}))),y=t(r((function(e){e.exports=function(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e},e.exports.default=e.exports,e.exports.__esModule=!0})));function _(e){var t=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(e){return!1}}();return function(){var r,o=l(e);if(t){var n=l(this).constructor;r=Reflect.construct(o,arguments,n)}else r=o.apply(this,arguments);return f(this,r)}}function b(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,o)}return r}function h(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?b(Object(r),!0).forEach((function(t){y(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):b(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function m(t,r){var o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},u=e.createRef(),c=e.createRef(o);function i(e,t){return m(null!=e?e:u.current,r,null!=t?t:c.current,n)}function s(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:void 0,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,o=e.createRef({state:null,deps:{}});return e.computeDerivedValues(t||u,r||c,o,n),h(h({},(null==t?void 0:t.current)||u.current),o.current.state||{})}return u.current="function"==typeof t?t(o):t,{test:function(e){return e(s(),c.current),this},onMount:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this.onInit(e)},setState:function(e){return i(e,void 0)},setProps:function(e){return i(void 0,e)},setPartialState:function(e){return i(h(h({},u.current),e),void 0)},setPartialProps:function(e){return i(void 0,h(h({},c.current),e))},onPropsChange:function(t){var o=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=e.createRef(u.current),i=e.createRef(h(h({},c.current),t)),s=e.createRef({state:null,deps:{}}),f=R(r),p=function(e,t,r,o,u){null!=e&&(n.current=e)},l=this.onPropsChangeImpl(n,i,s,f,p,o);return h(h({},l),{},{test:function(e){e(l)}})},onPropsChangeImpl:function(t,r,o,i,f,p){return e.computeDerivedValues(u,c,o,n),e.onPropChange(t,o,r,c.current,i,n,f,p),{prevState:s(u,c),state:s(t,r),props:r.current,actions:i.current}},onInit:function(){var u=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},i="function"==typeof t?t(o):t,f=e.createRef(i),p=e.createRef(h(h({},c.current),u)),l=e.createRef({state:null,deps:{}}),a=R(r),d=function(e,t,r,o,n){null!=e&&(f.current=e)};this.onPropsChangeImpl(f,p,l,a,d,!0),null!=n&&n.onMount&&n.onMount(e.buildOnMountInvocationContext(f,l,p,a));var v={prevState:null,state:s(f,p),props:p.current,actions:a.current};return h(h({},v),{},{test:function(e){e(v)}})},getAction:function(e){return g(u.current,e,r,c.current,null,n)}}}function R(t){var r=Object.keys(t);return e.createRef(r.reduce((function(e,t){return e[t]=O(),e}),{}))}var O=function(e){return jest.fn(e)};var P=function(e){i(r,e);var t=_(r);function r(e,n,c,i,s){var f;return o(this,r),f=t.call(this,e.message),y(u(f),"sourceError",void 0),y(u(f),"prevState",void 0),y(u(f),"state",void 0),y(u(f),"props",void 0),y(u(f),"actions",void 0),Object.setPrototypeOf(u(f),r.prototype),f.sourceError=e,f.prevState=n,f.props=i,f.state=c,f.actions=s,Error.captureStackTrace&&Error.captureStackTrace(u(f),r),f}return r}(x(Error));function g(t,r,o,n,u,c){var i=e.createRef(t),s=e.createRef(n),f=u;function p(e,t,n){return g(null!=e?e:i.current,r,o,null!=t?t:s.current,null!=n?n:f,c)}function l(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:void 0,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,o=e.createRef({state:null,deps:{}});return e.computeDerivedValues(null!=t?t:i,null!=r?r:s,o,c),h(h({},(null==t?void 0:t.current)||i.current),o.current.state||{})}return{setState:function(e){return p(e,void 0,void 0)},setProps:function(e){return p(void 0,e,void 0)},setPartialState:function(e){return p(h(h({},i.current),e),void 0,void 0)},setPartialProps:function(e){return p(void 0,h(h({},s.current),e),void 0)},promiseResolves:function(e){return p(void 0,void 0,Promise.resolve(e))},promiseRejects:function(e){return p(void 0,void 0,Promise.reject(e))},test:function(e){return e(l(),s.current),this},call:function(){var t,n=e.createRef(h({},i.current)),u=e.createRef({state:null,deps:{}});e.computeDerivedValues(n,s,u,c);var p=R(o),a=e.createRef({}),d=function(e,t,r,o,u,c){null!=e&&(n.current=e)},v=o[r],x=null;if(e.isSimpleSyncAction(v))e.decorateSimpleSyncAction(r,v,n,u,s,e.createRef(!0),d).apply(void 0,arguments),x=Promise.resolve();else if(e.isSyncAction(v))e.decorateSyncAction(r,h(h({},v),{},{debounceSideEffectsTimeout:0,debounceTimeout:0}),n,u,s,p,e.createRef(!0),null,c,d).apply(void 0,arguments),x=Promise.resolve();else if(e.isAsyncAction(v)){var y=e.createRef({}),_=e.createRef({}),b=e.createRef(!0),m=h({},e.computeAsyncActionInput(v));f&&(m.getPromise=function(){return f}),m.optimisticEffects&&(m.effects=m.optimisticEffects,delete m.optimisticEffects),x=e.decorateAsyncAction({actionName:r,derivedStateRef:u,propsRef:s,loadingMapRef:a,promisesRef:y,conflictActionsRef:_,initializedRef:b,options:c,setState:d,stateRef:n,actionsRef:p,action:m}).apply(void 0,arguments)}return(null!==(t=x)&&void 0!==t?t:Promise.resolve()).then((function(){return a.current={},{prevState:l(i),state:l(n),props:s.current,actions:p.current}})).catch((function(e){return Promise.reject(new P(e,l(i),l(n),s.current,p.current))}))}}}exports.ActionError=P,exports.createMockFromStore=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=e.getConfig();return m(r.getInitialState,r.actions,t,r.options)},exports.createMockStore=m,exports.createMockStoreAction=g,exports.setMockFactory=function(e){O=e};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./impl");function t(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function r(e){var t={exports:{}};return e(t,t.exports),t.exports}var o=t(r((function(e){e.exports=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},e.exports.default=e.exports,e.exports.__esModule=!0}))),n=r((function(e){e.exports=function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e},e.exports.default=e.exports,e.exports.__esModule=!0})),u=t(n),c=r((function(e){function t(r,o){return e.exports=t=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},e.exports.default=e.exports,e.exports.__esModule=!0,t(r,o)}e.exports=t,e.exports.default=e.exports,e.exports.__esModule=!0})),i=t(r((function(e){e.exports=function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&c(e,t)},e.exports.default=e.exports,e.exports.__esModule=!0}))),s=r((function(e){function t(r){return"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?(e.exports=t=function(e){return typeof e},e.exports.default=e.exports,e.exports.__esModule=!0):(e.exports=t=function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e.exports.default=e.exports,e.exports.__esModule=!0),t(r)}e.exports=t,e.exports.default=e.exports,e.exports.__esModule=!0})),f=t(r((function(e){var t=s.default;e.exports=function(e,r){return!r||"object"!==t(r)&&"function"!=typeof r?n(e):r},e.exports.default=e.exports,e.exports.__esModule=!0}))),p=r((function(e){function t(r){return e.exports=t=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},e.exports.default=e.exports,e.exports.__esModule=!0,t(r)}e.exports=t,e.exports.default=e.exports,e.exports.__esModule=!0})),l=t(p),a=r((function(e){e.exports=function(e){return-1!==Function.toString.call(e).indexOf("[native code]")},e.exports.default=e.exports,e.exports.__esModule=!0})),d=r((function(e){e.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(e){return!1}},e.exports.default=e.exports,e.exports.__esModule=!0})),v=r((function(e){function t(r,o,n){return d()?(e.exports=t=Reflect.construct,e.exports.default=e.exports,e.exports.__esModule=!0):(e.exports=t=function(e,t,r){var o=[null];o.push.apply(o,t);var n=new(Function.bind.apply(e,o));return r&&c(n,r.prototype),n},e.exports.default=e.exports,e.exports.__esModule=!0),t.apply(null,arguments)}e.exports=t,e.exports.default=e.exports,e.exports.__esModule=!0})),x=t(r((function(e){function t(r){var o="function"==typeof Map?new Map:void 0;return e.exports=t=function(e){if(null===e||!a(e))return e;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==o){if(o.has(e))return o.get(e);o.set(e,t)}function t(){return v(e,arguments,p(this).constructor)}return t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),c(t,e)},e.exports.default=e.exports,e.exports.__esModule=!0,t(r)}e.exports=t,e.exports.default=e.exports,e.exports.__esModule=!0}))),y=t(r((function(e){e.exports=function(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e},e.exports.default=e.exports,e.exports.__esModule=!0})));function h(e){var t=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(e){return!1}}();return function(){var r,o=l(e);if(t){var n=l(this).constructor;r=Reflect.construct(o,arguments,n)}else r=o.apply(this,arguments);return f(this,r)}}function _(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,o)}return r}function b(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?_(Object(r),!0).forEach((function(t){y(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):_(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function m(t,r){var o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},u=arguments.length>4?arguments[4]:void 0,c=e.createRef(),i=e.createRef(o);function s(e,t,o){return m(null!=e?e:c.current,r,null!=t?t:i.current,n,null!=o?o:u)}function f(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:void 0,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,o=e.createRef({state:null,deps:{}});return e.computeDerivedValues(t||c,r||i,o,n),b(b({},(null==t?void 0:t.current)||c.current),o.current.state||{})}return c.current="function"==typeof t?t(o):t,{test:function(e){return e(f(),i.current),this},setMockActions:function(e){return s(void 0,void 0,e)},onMount:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this.onInit(e)},setState:function(e){return s(e,void 0)},setProps:function(e){return s(void 0,e)},setPartialState:function(e){return s(b(b({},c.current),e),void 0)},setPartialProps:function(e){return s(void 0,b(b({},i.current),e))},onPropsChange:function(t){var o=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=e.createRef(c.current),s=e.createRef(b(b({},i.current),t)),f=e.createRef({state:null,deps:{}}),p=R(r,u),l=function(e,t,r,o,u){null!=e&&(n.current=e)},a=this.onPropsChangeImpl(n,s,f,p,l,o);return b(b({},a),{},{test:function(e){e(a)}})},onPropsChangeImpl:function(t,r,o,u,s,p){return e.computeDerivedValues(c,i,o,n),e.onPropChange(t,o,r,i.current,u,n,s,p),{prevState:f(c,i),state:f(t,r),props:r.current,actions:u.current}},onInit:function(){var c=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},s="function"==typeof t?t(o):t,p=e.createRef(s),l=e.createRef(b(b({},i.current),c)),a=e.createRef({state:null,deps:{}}),d=R(r,u),v=function(e,t,r,o,n){null!=e&&(p.current=e)};this.onPropsChangeImpl(p,l,a,d,v,!0),null!=n&&n.onMount&&n.onMount(e.buildOnMountInvocationContext(p,a,l,d));var x={prevState:null,state:f(p,l),props:l.current,actions:d.current};return b(b({},x),{},{test:function(e){e(x)}})},getAction:function(e){return P(c.current,e,r,i.current,null,n,void 0)}}}function R(t,r){var o=Object.keys(t);return e.createRef(o.reduce((function(e,t){return e[t]=g(null==r?void 0:r[t]),e}),{}))}var g=function(e){return jest.fn(e)};var O=function(e){i(r,e);var t=h(r);function r(e,n,c,i,s){var f;return o(this,r),f=t.call(this,e.message),y(u(f),"sourceError",void 0),y(u(f),"prevState",void 0),y(u(f),"state",void 0),y(u(f),"props",void 0),y(u(f),"actions",void 0),Object.setPrototypeOf(u(f),r.prototype),f.sourceError=e,f.prevState=n,f.props=i,f.state=c,f.actions=s,Error.captureStackTrace&&Error.captureStackTrace(u(f),r),f}return r}(x(Error));function P(t,r,o,n,u,c,i){var s=e.createRef(t),f=e.createRef(n),p=u;function l(e,t,n){var u=arguments.length>3&&void 0!==arguments[3]?arguments[3]:i;return P(null!=e?e:s.current,r,o,null!=t?t:f.current,null!=n?n:p,c,u)}function a(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:void 0,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,o=e.createRef({state:null,deps:{}});return e.computeDerivedValues(null!=t?t:s,null!=r?r:f,o,c),b(b({},(null==t?void 0:t.current)||s.current),o.current.state||{})}return{setMockActions:function(e){return l(void 0,void 0,void 0,e)},setState:function(e){return l(e,void 0,void 0)},setProps:function(e){return l(void 0,e,void 0)},setPartialState:function(e){return l(b(b({},s.current),e),void 0,void 0)},setPartialProps:function(e){return l(void 0,b(b({},f.current),e),void 0)},promiseResolves:function(e){return l(void 0,void 0,Promise.resolve(e))},promiseRejects:function(e){return l(void 0,void 0,Promise.reject(e))},test:function(e){return e(a(),f.current),this},call:function(){var t,n=e.createRef(b({},s.current)),u=e.createRef({state:null,deps:{}});e.computeDerivedValues(n,f,u,c);var l=R(o,i),d=e.createRef({}),v=function(e){null!=e&&(n.current=e)},x=o[r],y=null;if(e.isSimpleSyncAction(x))e.decorateSimpleSyncAction(r,x,n,u,f,e.createRef(!0),v).apply(void 0,arguments),y=Promise.resolve();else if(e.isSyncAction(x))e.decorateSyncAction(r,b(b({},x),{},{debounceSideEffectsTimeout:0,debounceTimeout:0}),n,u,f,l,e.createRef(!0),null,c,v).apply(void 0,arguments),y=Promise.resolve();else if(e.isAsyncAction(x)){var h=e.createRef({}),_=e.createRef({}),m=e.createRef(!0),g=b({},e.computeAsyncActionInput(x));p&&(g.getPromise=function(){return p}),g.optimisticEffects&&(g.effects=g.optimisticEffects,delete g.optimisticEffects),y=e.decorateAsyncAction({actionName:r,derivedStateRef:u,propsRef:f,loadingMapRef:d,promisesRef:h,conflictActionsRef:_,initializedRef:m,options:c,setState:v,stateRef:n,actionsRef:l,action:g}).apply(void 0,arguments)}return(null!==(t=y)&&void 0!==t?t:Promise.resolve()).then((function(){return d.current={},{prevState:a(s),state:a(n),props:f.current,actions:l.current}})).catch((function(e){return Promise.reject(new O(e,a(s),a(n),f.current,l.current))}))}}}exports.ActionError=O,exports.createMockFromStore=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=e.getConfig();return m(r.getInitialState,r.actions,t,r.options)},exports.createMockStore=m,exports.createMockStoreAction=P,exports.setMockFactory=function(e){g=e};
2
2
  //# sourceMappingURL=test.js.map
package/test.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"test.js","sources":["../node_modules/@babel/runtime/helpers/classCallCheck.js","../node_modules/@babel/runtime/helpers/assertThisInitialized.js","../node_modules/@babel/runtime/helpers/setPrototypeOf.js","../node_modules/@babel/runtime/helpers/inherits.js","../node_modules/@babel/runtime/helpers/typeof.js","../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js","../node_modules/@babel/runtime/helpers/getPrototypeOf.js","../node_modules/@babel/runtime/helpers/isNativeFunction.js","../node_modules/@babel/runtime/helpers/isNativeReflectConstruct.js","../node_modules/@babel/runtime/helpers/construct.js","../node_modules/@babel/runtime/helpers/wrapNativeSuper.js","../node_modules/@babel/runtime/helpers/defineProperty.js","../src/test.ts"],"sourcesContent":["function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nmodule.exports = _classCallCheck;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nmodule.exports = _assertThisInitialized;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _setPrototypeOf(o, p) {\n module.exports = _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n return _setPrototypeOf(o, p);\n}\n\nmodule.exports = _setPrototypeOf;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var setPrototypeOf = require(\"./setPrototypeOf.js\");\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}\n\nmodule.exports = _inherits;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n module.exports = _typeof = function _typeof(obj) {\n return typeof obj;\n };\n\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n } else {\n module.exports = _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n }\n\n return _typeof(obj);\n}\n\nmodule.exports = _typeof;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var _typeof = require(\"@babel/runtime/helpers/typeof\")[\"default\"];\n\nvar assertThisInitialized = require(\"./assertThisInitialized.js\");\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return assertThisInitialized(self);\n}\n\nmodule.exports = _possibleConstructorReturn;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _getPrototypeOf(o) {\n module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n return _getPrototypeOf(o);\n}\n\nmodule.exports = _getPrototypeOf;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}\n\nmodule.exports = _isNativeFunction;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\n\nmodule.exports = _isNativeReflectConstruct;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var setPrototypeOf = require(\"./setPrototypeOf.js\");\n\nvar isNativeReflectConstruct = require(\"./isNativeReflectConstruct.js\");\n\nfunction _construct(Parent, args, Class) {\n if (isNativeReflectConstruct()) {\n module.exports = _construct = Reflect.construct;\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n } else {\n module.exports = _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n }\n\n return _construct.apply(null, arguments);\n}\n\nmodule.exports = _construct;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var getPrototypeOf = require(\"./getPrototypeOf.js\");\n\nvar setPrototypeOf = require(\"./setPrototypeOf.js\");\n\nvar isNativeFunction = require(\"./isNativeFunction.js\");\n\nvar construct = require(\"./construct.js\");\n\nfunction _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n\n module.exports = _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n\n _cache.set(Class, Wrapper);\n }\n\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\n\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return setPrototypeOf(Wrapper, Class);\n };\n\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n return _wrapNativeSuper(Class);\n}\n\nmodule.exports = _wrapNativeSuper;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nmodule.exports = _defineProperty;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","import { StoreActions, StoreApi, StoreOptions } from '.';\nimport {\n computeAsyncActionInput,\n computeDerivedValues,\n createRef,\n decorateSyncAction,\n decorateSimpleSyncAction,\n DerivedState,\n isSyncAction,\n isAsyncAction,\n isSimpleSyncAction,\n SetStateFunc,\n decorateAsyncAction,\n Ref,\n onPropChange,\n buildOnMountInvocationContext,\n} from './impl';\nimport { AsyncAction, DecoratedActions, InternalLoadingMap } from './types';\n\ntype MockActions<A, MockAction> = {\n [k in keyof A]: MockAction;\n};\n\ntype MockResult<S, A extends DecoratedActions, P, DS> = {\n readonly prevState: S & DS;\n readonly state: S & DS;\n readonly props: P;\n readonly actions: MockActions<A, any>;\n};\n\ntype MockResultWithTest<S, A extends DecoratedActions, P, DS> = MockResult<S, A, P, DS> & {\n /**\n * Execute function passed as parameter to test state/props/actions called.\n */\n test: (f: (res: MockResult<S, A, P, DS>) => void) => void;\n};\n\ntype MockStoreAction<S, A extends DecoratedActions, F extends (...args: any[]) => any, P, DS> = {\n /**\n * Creates a new store action with specified state.\n */\n setState: (state: S) => MockStoreAction<S, A, F, P, DS>;\n\n /**\n * Creates a new store action with specified props.\n */\n setProps: (props: P) => MockStoreAction<S, A, F, P, DS>;\n\n /**\n * Creates a new store action using store state overriden by specified state.\n */\n setPartialState: (state: Partial<S>) => MockStoreAction<S, A, F, P, DS>;\n\n /**\n * Creates a new store action using store props overriden by specified props.\n */\n setPartialProps: (props: Partial<P>) => MockStoreAction<S, A, F, P, DS>;\n\n /**\n * If action is asynchronous, mock the getPromise call to be resolved with specified object.\n */\n promiseResolves: (res: any /*PromiseResult<F>*/) => MockStoreAction<S, A, F, P, DS>;\n\n /**\n * If action is asynchronous, mock the getPromise call to be rejected with specified error.\n */\n promiseRejects: (err: Error) => MockStoreAction<S, A, F, P, DS>;\n\n /**\n * Executes passed function to test state and/or props\n */\n test: (f: (state: S & DS, props: P) => void) => MockStoreAction<S, A, F, P, DS>;\n\n /**\n * Calls the action with specified parameters.\n * @returns a promise with state/props/actions to assert\n */\n call: (...args: Parameters<F>) => Promise<MockResult<S, A, P, DS>>;\n};\n\ntype MockStore<S, A extends DecoratedActions, P, DS> = {\n /**\n * Creates a new store with specified state.\n */\n setState: (state: S) => MockStore<S, A, P, DS>;\n\n /**\n * Creates a new store with specified props.\n */\n setProps: (props: P) => MockStore<S, A, P, DS>;\n\n /**\n * Creates a new store using store state overriden by specified state.\n */\n setPartialState: (state: Partial<S>) => MockStore<S, A, P, DS>;\n\n /**\n * Creates a new store using store props overriden by specified props.\n */\n setPartialProps: (props: Partial<P>) => MockStore<S, A, P, DS>;\n\n /**\n * Executes passed function to test state and/or props\n */\n test: (f: (state: S & DS, props: P) => void) => MockStore<S, A, P, DS>;\n\n /**\n * Test options.onMount\n * @deprecated Use init() instead\n */\n onMount: (props: Partial<P>) => MockResultWithTest<S, A, P, DS>;\n\n /**\n * Test state and side effect actions after inbound props have changed.\n */\n onPropsChange: (props: Partial<P>, init?: boolean) => MockResultWithTest<S, A, P, DS>;\n\n /**\n * Test store at initialization time:\n * - options.onPropsChange with onMount set to true\n * - options.onMount\n */\n onInit: (props?: Partial<P>) => MockResultWithTest<S, A, P, DS>;\n\n /** @internal */\n onPropsChangeImpl: (\n newStateRef: Ref<S>,\n newPropsRef: Ref<P>,\n newDerivedStateRef: Ref<DerivedState<DS>>,\n newActionsRef: Ref<StoreActions<S, A, P, DS, S>>,\n setState: SetStateFunc<S, A, P>,\n init?: boolean\n ) => MockResult<S, A, P, DS>;\n getAction: <K extends keyof A>(name: K) => MockStoreAction<S, A, A[K], P, DS>;\n};\n\nexport function createMockFromStore<S, A extends DecoratedActions, P, DS>(\n store: StoreApi<S, A, P, DS>,\n props: P = {} as P\n): MockStore<S, A, P, DS> {\n const cfg = store.getConfig();\n return createMockStore(cfg.getInitialState, cfg.actions, props, cfg.options);\n}\n\nexport function createMockStore<S, A extends DecoratedActions, P = {}, DS = {}>(\n initialState: S | ((p: P) => S),\n actions: StoreActions<S, A, P, DS>,\n props: P = {} as P,\n options: StoreOptions<S, A, P, DS> = {}\n): MockStore<S, A, P, DS> {\n const stateRef = createRef<S>();\n const propsRef = createRef<P>(props);\n\n if (typeof initialState === 'function') {\n stateRef.current = (initialState as (props: P) => S)(props);\n } else {\n stateRef.current = initialState;\n }\n\n function cloneStore(newState: S, newProps: P) {\n return createMockStore(newState ?? stateRef.current, actions, newProps ?? propsRef.current, options);\n }\n\n function getState(newStateRef: Ref<S> = undefined, newPropsRef: Ref<P> = undefined) {\n const derivedStateRef = createRef<DerivedState<DS>>({ state: null, deps: {} });\n computeDerivedValues(newStateRef || stateRef, newPropsRef || propsRef, derivedStateRef, options);\n return {\n ...(newStateRef?.current || stateRef.current),\n ...(derivedStateRef.current.state || ({} as DS)),\n };\n }\n\n return {\n test(f) {\n f(getState(), propsRef.current);\n return this;\n },\n onMount(propsIn = {} as P) {\n return this.onInit(propsIn);\n },\n setState(s) {\n return cloneStore(s, undefined) as MockStore<S, A, P, DS>;\n },\n setProps(p) {\n return cloneStore(undefined, p) as MockStore<S, A, P, DS>;\n },\n setPartialState(s) {\n return cloneStore({ ...stateRef.current, ...s }, undefined) as MockStore<S, A, P, DS>;\n },\n setPartialProps(p) {\n return cloneStore(undefined, { ...propsRef.current, ...p }) as MockStore<S, A, P, DS>;\n },\n onPropsChange(newProps: Partial<P>, init = false) {\n const newStateRef = createRef(stateRef.current);\n const newPropsRef = createRef({ ...propsRef.current, ...newProps });\n const derivedStateRef = createRef<DerivedState<DS>>({ state: null, deps: {} });\n const actionsRef = getActionsRef(actions);\n const setState: SetStateFunc<S, A, P> = (newStateIn, newLoadingMap, actionName, actionType, isAsync) => {\n if (newStateIn != null) {\n newStateRef.current = newStateIn;\n }\n };\n\n const res = this.onPropsChangeImpl(newStateRef, newPropsRef, derivedStateRef, actionsRef, setState, init);\n\n return {\n ...res,\n test(testFunc) {\n testFunc(res);\n },\n };\n },\n onPropsChangeImpl(\n newStateRef: Ref<S>,\n newPropsRef: Ref<P>,\n newDerivedStateRef: Ref<DerivedState<DS>>,\n actionsRef: Ref<StoreActions<S, A, P, DS, S>>,\n setState: SetStateFunc<S, A, P>,\n init?: boolean\n ) {\n computeDerivedValues(stateRef, propsRef, newDerivedStateRef, options);\n\n onPropChange(\n newStateRef,\n newDerivedStateRef,\n newPropsRef,\n propsRef.current,\n actionsRef as any,\n options,\n setState,\n init\n );\n\n return {\n prevState: getState(stateRef, propsRef),\n state: getState(newStateRef, newPropsRef),\n props: newPropsRef.current,\n actions: actionsRef.current,\n };\n },\n\n onInit(newProps: Partial<P> = {}) {\n // reset initial state\n const state = typeof initialState === 'function' ? (initialState as (props: P) => S)(props) : initialState;\n\n const newStateRef = createRef(state);\n const newPropsRef = createRef({ ...propsRef.current, ...newProps });\n const derivedStateRef = createRef<DerivedState<DS>>({ state: null, deps: {} });\n const actionsRef = getActionsRef(actions);\n\n const setState: SetStateFunc<S, A, P> = (newStateIn, newLoadingMap, actionName, actionType, isAsync) => {\n if (newStateIn != null) {\n newStateRef.current = newStateIn;\n }\n };\n\n this.onPropsChangeImpl(newStateRef, newPropsRef, derivedStateRef, actionsRef, setState, true);\n\n if (options?.onMount) {\n options.onMount(buildOnMountInvocationContext(newStateRef, derivedStateRef, newPropsRef, actionsRef as any));\n }\n\n const res: MockResult<S, A, P, DS> = {\n prevState: null,\n state: getState(newStateRef, newPropsRef),\n props: newPropsRef.current,\n actions: actionsRef.current,\n };\n\n return {\n ...res,\n test(testFunc) {\n testFunc(res);\n },\n };\n },\n\n getAction(actionName) {\n return createMockStoreAction(stateRef.current, actionName, actions, propsRef.current, null, options);\n },\n };\n}\n\nfunction getActionsRef<A>(actions: A): Ref<A> {\n const keys = Object.keys(actions) as (keyof A)[];\n\n return createRef<A>(\n keys.reduce<A>((acc, actionName) => {\n acc[actionName] = mockFactory() as any;\n return acc;\n }, {} as A)\n );\n}\n\nfunction createMockAction(impl?: (...args: any[]) => any): typeof jest.fn {\n return jest.fn(impl);\n}\n\nlet mockFactory = createMockAction;\n\n/**\n * Set the mock factory. Each mock action will be created using this factory.\n * @param factory the mock factory\n */\nexport function setMockFactory(factory: (impl?: (...args: any[]) => any) => any) {\n mockFactory = factory;\n}\n\nexport class ActionError<S = any, P = any, A = any> extends Error {\n public sourceError: Error;\n public prevState: S;\n public state: S;\n public props: P;\n public actions: MockActions<A, any>;\n\n constructor(sourceError: Error, prevState: S, state: S, props: P, actions: MockActions<A, any>) {\n super(sourceError.message);\n\n Object.setPrototypeOf(this, ActionError.prototype);\n\n this.sourceError = sourceError;\n this.prevState = prevState;\n this.props = props;\n this.state = state;\n this.actions = actions;\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, ActionError);\n }\n }\n}\n\nexport function createMockStoreAction<S, A extends DecoratedActions, F extends (...args: any[]) => any, P, DS>(\n state: S,\n actionName: keyof A,\n actions: StoreActions<S, A, P, DS, S>,\n props: P,\n promiseRes: Promise<F> | Error,\n options: StoreOptions<S, A, P, DS>\n): MockStoreAction<S, A, F, P, DS> {\n const stateRef = createRef<S>(state);\n const propsRef = createRef<P>(props);\n const promiseResult = promiseRes;\n\n function cloneStoreAction(newState: S, newProps: P, promiseRes: Promise<F> | Error) {\n return createMockStoreAction(\n newState ?? stateRef.current,\n actionName,\n actions,\n newProps ?? propsRef.current,\n promiseRes ?? promiseResult,\n options\n );\n }\n\n function getState(newStateRef: Ref<S> = undefined, newPropsRef: Ref<P> = undefined) {\n const derivedStateRef = createRef<DerivedState<DS>>({ state: null, deps: {} });\n computeDerivedValues(newStateRef ?? stateRef, newPropsRef ?? propsRef, derivedStateRef, options);\n return {\n ...(newStateRef?.current || stateRef.current),\n ...(derivedStateRef.current.state || ({} as DS)),\n };\n }\n\n return {\n setState(s) {\n return cloneStoreAction(s, undefined, undefined) as MockStoreAction<S, A, F, P, DS>;\n },\n setProps(p) {\n return cloneStoreAction(undefined, p, undefined) as MockStoreAction<S, A, F, P, DS>;\n },\n setPartialState(s) {\n return cloneStoreAction({ ...stateRef.current, ...s }, undefined, undefined) as MockStoreAction<S, A, F, P, DS>;\n },\n setPartialProps(p) {\n return cloneStoreAction(undefined, { ...propsRef.current, ...p }, undefined) as MockStoreAction<S, A, F, P, DS>;\n },\n promiseResolves(res) {\n return cloneStoreAction(undefined, undefined, Promise.resolve(res)) as MockStoreAction<S, A, F, P, DS>;\n },\n promiseRejects(err) {\n return cloneStoreAction(undefined, undefined, Promise.reject(err)) as MockStoreAction<S, A, F, P, DS>;\n },\n test(f) {\n f(getState(), propsRef.current);\n return this;\n },\n call(...args) {\n const newStateRef = createRef<S>({ ...stateRef.current });\n const derivedStateRef = createRef<DerivedState<DS>>({ state: null, deps: {} });\n computeDerivedValues(newStateRef, propsRef, derivedStateRef, options);\n\n // create mock action to test side effects\n const actionsRef = getActionsRef(actions);\n const loadingMapRef = createRef<InternalLoadingMap<A>>({});\n\n const setState: SetStateFunc<S, A, P> = (newStateIn, newLoadingMap, actionName, actionType, isAsync, ctx) => {\n if (newStateIn != null) {\n newStateRef.current = newStateIn;\n }\n };\n\n const action = actions[actionName];\n\n let promise = null;\n\n if (isSimpleSyncAction(action as any)) {\n decorateSimpleSyncAction(\n actionName,\n action as any,\n newStateRef,\n derivedStateRef,\n propsRef,\n createRef(true),\n setState\n )(...((args as any) as Parameters<A[keyof A]>));\n\n promise = Promise.resolve();\n } else if (isSyncAction(action)) {\n decorateSyncAction(\n actionName,\n // force no debouncing to trigger side effects directly\n { ...action, debounceSideEffectsTimeout: 0, debounceTimeout: 0 },\n newStateRef,\n derivedStateRef,\n propsRef,\n actionsRef as any,\n createRef(true),\n null,\n options,\n setState\n )(...((args as any) as Parameters<A[keyof A]>));\n\n promise = Promise.resolve();\n } else if (isAsyncAction(action)) {\n const promisesRef = createRef({});\n const conflictActionsRef = createRef({});\n const initializedRef = createRef(true);\n\n const impl: AsyncAction<S, A[keyof A], A, P, DS> = { ...computeAsyncActionInput(action) };\n\n if (promiseResult) {\n impl.getPromise = () => promiseResult as any;\n }\n\n // simulate optimistic actions\n if (impl.optimisticEffects) {\n impl.effects = impl.optimisticEffects;\n delete impl.optimisticEffects;\n }\n\n promise = (decorateAsyncAction({\n actionName,\n derivedStateRef,\n propsRef,\n loadingMapRef,\n promisesRef,\n conflictActionsRef,\n initializedRef,\n options,\n setState,\n stateRef: newStateRef,\n actionsRef: actionsRef as any,\n action: impl,\n }) as any)(...((args as any) as Parameters<A[keyof A]>));\n }\n\n return (promise ?? Promise.resolve())\n .then(() => {\n loadingMapRef.current = {};\n return {\n prevState: getState(stateRef),\n state: getState(newStateRef),\n props: propsRef.current,\n actions: (actionsRef.current as any) as MockActions<A, any>,\n };\n })\n .catch((e: Error) => {\n return Promise.reject(\n new ActionError(\n e,\n getState(stateRef),\n getState(newStateRef),\n propsRef.current,\n (actionsRef.current as any) as MockActions<A, any>\n )\n );\n });\n },\n };\n}\n"],"names":["module","instance","Constructor","TypeError","exports","self","ReferenceError","_setPrototypeOf","o","p","Object","setPrototypeOf","__proto__","subClass","superClass","prototype","create","constructor","value","writable","configurable","_typeof","obj","Symbol","iterator","require$$0","call","assertThisInitialized","_getPrototypeOf","getPrototypeOf","fn","Function","toString","indexOf","Reflect","construct","sham","Proxy","Boolean","valueOf","e","_construct","Parent","args","Class","isNativeReflectConstruct","a","push","apply","bind","arguments","_wrapNativeSuper","_cache","Map","undefined","isNativeFunction","has","get","set","Wrapper","this","enumerable","key","defineProperty","createMockStore","initialState","actions","props","options","stateRef","createRef","propsRef","cloneStore","newState","newProps","current","getState","newStateRef","newPropsRef","derivedStateRef","state","deps","computeDerivedValues","test","f","onMount","propsIn","onInit","setState","s","setProps","setPartialState","setPartialProps","onPropsChange","init","actionsRef","getActionsRef","newStateIn","newLoadingMap","actionName","actionType","isAsync","res","onPropsChangeImpl","testFunc","newDerivedStateRef","onPropChange","prevState","buildOnMountInvocationContext","getAction","createMockStoreAction","keys","reduce","acc","mockFactory","impl","jest","ActionError","sourceError","message","Error","captureStackTrace","promiseRes","promiseResult","cloneStoreAction","promiseResolves","Promise","resolve","promiseRejects","err","reject","loadingMapRef","ctx","action","promise","isSimpleSyncAction","decorateSimpleSyncAction","isSyncAction","decorateSyncAction","debounceSideEffectsTimeout","debounceTimeout","isAsyncAction","promisesRef","conflictActionsRef","initializedRef","computeAsyncActionInput","getPromise","optimisticEffects","effects","decorateAsyncAction","then","store","cfg","getConfig","getInitialState","factory"],"mappings":"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"}
1
+ {"version":3,"file":"test.js","sources":["../node_modules/@babel/runtime/helpers/classCallCheck.js","../node_modules/@babel/runtime/helpers/assertThisInitialized.js","../node_modules/@babel/runtime/helpers/setPrototypeOf.js","../node_modules/@babel/runtime/helpers/inherits.js","../node_modules/@babel/runtime/helpers/typeof.js","../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js","../node_modules/@babel/runtime/helpers/getPrototypeOf.js","../node_modules/@babel/runtime/helpers/isNativeFunction.js","../node_modules/@babel/runtime/helpers/isNativeReflectConstruct.js","../node_modules/@babel/runtime/helpers/construct.js","../node_modules/@babel/runtime/helpers/wrapNativeSuper.js","../node_modules/@babel/runtime/helpers/defineProperty.js","../src/test.ts"],"sourcesContent":["function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nmodule.exports = _classCallCheck;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nmodule.exports = _assertThisInitialized;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _setPrototypeOf(o, p) {\n module.exports = _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n return _setPrototypeOf(o, p);\n}\n\nmodule.exports = _setPrototypeOf;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var setPrototypeOf = require(\"./setPrototypeOf.js\");\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}\n\nmodule.exports = _inherits;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n module.exports = _typeof = function _typeof(obj) {\n return typeof obj;\n };\n\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n } else {\n module.exports = _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n }\n\n return _typeof(obj);\n}\n\nmodule.exports = _typeof;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var _typeof = require(\"@babel/runtime/helpers/typeof\")[\"default\"];\n\nvar assertThisInitialized = require(\"./assertThisInitialized.js\");\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return assertThisInitialized(self);\n}\n\nmodule.exports = _possibleConstructorReturn;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _getPrototypeOf(o) {\n module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n return _getPrototypeOf(o);\n}\n\nmodule.exports = _getPrototypeOf;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}\n\nmodule.exports = _isNativeFunction;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\n\nmodule.exports = _isNativeReflectConstruct;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var setPrototypeOf = require(\"./setPrototypeOf.js\");\n\nvar isNativeReflectConstruct = require(\"./isNativeReflectConstruct.js\");\n\nfunction _construct(Parent, args, Class) {\n if (isNativeReflectConstruct()) {\n module.exports = _construct = Reflect.construct;\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n } else {\n module.exports = _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n }\n\n return _construct.apply(null, arguments);\n}\n\nmodule.exports = _construct;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var getPrototypeOf = require(\"./getPrototypeOf.js\");\n\nvar setPrototypeOf = require(\"./setPrototypeOf.js\");\n\nvar isNativeFunction = require(\"./isNativeFunction.js\");\n\nvar construct = require(\"./construct.js\");\n\nfunction _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n\n module.exports = _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n\n _cache.set(Class, Wrapper);\n }\n\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\n\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return setPrototypeOf(Wrapper, Class);\n };\n\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n return _wrapNativeSuper(Class);\n}\n\nmodule.exports = _wrapNativeSuper;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nmodule.exports = _defineProperty;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","import { StoreActions, StoreApi, StoreOptions } from '.';\nimport {\n computeAsyncActionInput,\n computeDerivedValues,\n createRef,\n decorateSyncAction,\n decorateSimpleSyncAction,\n DerivedState,\n isSyncAction,\n isAsyncAction,\n isSimpleSyncAction,\n SetStateFunc,\n decorateAsyncAction,\n Ref,\n onPropChange,\n buildOnMountInvocationContext,\n} from './impl';\nimport { AsyncAction, DecoratedActions, InternalLoadingMap } from './types';\n\ntype MockActions<A, MockAction> = {\n [k in keyof A]: MockAction;\n};\n\ntype MockResult<S, A extends DecoratedActions, P, DS> = {\n readonly prevState: S & DS;\n readonly state: S & DS;\n readonly props: P;\n readonly actions: MockActions<A, any>;\n};\n\ntype MockActionImpl<A> = Partial<Record<keyof A, (...args: any[]) => any>>;\n\ntype MockResultWithTest<S, A extends DecoratedActions, P, DS> = MockResult<S, A, P, DS> & {\n /**\n * Execute function passed as parameter to test state/props/actions called.\n */\n test: (f: (res: MockResult<S, A, P, DS>) => void) => void;\n};\n\ntype MockStoreAction<S, A extends DecoratedActions, F extends (...args: any[]) => any, P, DS> = {\n /**\n * Creates a new store action with specified state.\n */\n setState: (state: S) => MockStoreAction<S, A, F, P, DS>;\n\n /**\n * Creates a new store action with specified props.\n */\n setProps: (props: P) => MockStoreAction<S, A, F, P, DS>;\n\n /**\n * Creates a new store action using store state overriden by specified state.\n */\n setPartialState: (state: Partial<S>) => MockStoreAction<S, A, F, P, DS>;\n\n /**\n * Creates a new store action using store props overriden by specified props.\n */\n setPartialProps: (props: Partial<P>) => MockStoreAction<S, A, F, P, DS>;\n\n /**\n * Set implementations to some actions to test side effects.\n */\n setMockActions: (implementation: MockActionImpl<A>) => MockStoreAction<S, A, F, P, DS>;\n\n /**\n * If action is asynchronous, mock the getPromise call to be resolved with specified object.\n */\n promiseResolves: (res: any /*PromiseResult<F>*/) => MockStoreAction<S, A, F, P, DS>;\n\n /**\n * If action is asynchronous, mock the getPromise call to be rejected with specified error.\n */\n promiseRejects: (err: Error) => MockStoreAction<S, A, F, P, DS>;\n\n /**\n * Executes passed function to test state and/or props\n */\n test: (f: (state: S & DS, props: P) => void) => MockStoreAction<S, A, F, P, DS>;\n\n /**\n * Calls the action with specified parameters.\n * @returns a promise with state/props/actions to assert\n */\n call: (...args: Parameters<F>) => Promise<MockResult<S, A, P, DS>>;\n};\n\ntype MockStore<S, A extends DecoratedActions, P, DS> = {\n /**\n * Creates a new store with specified state.\n */\n setState: (state: S) => MockStore<S, A, P, DS>;\n\n /**\n * Creates a new store with specified props.\n */\n setProps: (props: P) => MockStore<S, A, P, DS>;\n\n /**\n * Creates a new store using store state overriden by specified state.\n */\n setPartialState: (state: Partial<S>) => MockStore<S, A, P, DS>;\n\n /**\n * Creates a new store using store props overriden by specified props.\n */\n setPartialProps: (props: Partial<P>) => MockStore<S, A, P, DS>;\n\n /**\n * Set implementations to some actions to test side effects.\n */\n setMockActions: (implementation: MockActionImpl<A>) => MockStore<S, A, P, DS>;\n\n /**\n * Executes passed function to test state and/or props\n */\n test: (f: (state: S & DS, props: P) => void) => MockStore<S, A, P, DS>;\n\n /**\n * Test options.onMount\n * @deprecated Use init() instead\n */\n onMount: (props: Partial<P>) => MockResultWithTest<S, A, P, DS>;\n\n /**\n * Test state and side effect actions after inbound props have changed.\n */\n onPropsChange: (props: Partial<P>, init?: boolean) => MockResultWithTest<S, A, P, DS>;\n\n /**\n * Test store at initialization time:\n * - options.onPropsChange with onMount set to true\n * - options.onMount\n */\n onInit: (props?: Partial<P>) => MockResultWithTest<S, A, P, DS>;\n\n /** @internal */\n onPropsChangeImpl: (\n newStateRef: Ref<S>,\n newPropsRef: Ref<P>,\n newDerivedStateRef: Ref<DerivedState<DS>>,\n newActionsRef: Ref<StoreActions<S, A, P, DS, S>>,\n setState: SetStateFunc<S, A, P>,\n init?: boolean\n ) => MockResult<S, A, P, DS>;\n getAction: <K extends keyof A>(name: K) => MockStoreAction<S, A, A[K], P, DS>;\n};\n\nexport function createMockFromStore<S, A extends DecoratedActions, P, DS>(\n store: StoreApi<S, A, P, DS>,\n props: P = {} as P\n): MockStore<S, A, P, DS> {\n const cfg = store.getConfig();\n return createMockStore(cfg.getInitialState, cfg.actions, props, cfg.options);\n}\n\nexport function createMockStore<S, A extends DecoratedActions, P = {}, DS = {}>(\n initialState: S | ((p: P) => S),\n actions: StoreActions<S, A, P, DS>,\n props: P = {} as P,\n options: StoreOptions<S, A, P, DS> = {},\n mockActions?: MockActionImpl<A>\n): MockStore<S, A, P, DS> {\n const stateRef = createRef<S>();\n const propsRef = createRef<P>(props);\n\n if (typeof initialState === 'function') {\n stateRef.current = (initialState as (props: P) => S)(props);\n } else {\n stateRef.current = initialState;\n }\n\n function cloneStore(newState: S, newProps: P, newMockActions?: MockActionImpl<A>) {\n return createMockStore(\n newState ?? stateRef.current,\n actions,\n newProps ?? propsRef.current,\n options,\n newMockActions ?? mockActions\n );\n }\n\n function getState(newStateRef: Ref<S> = undefined, newPropsRef: Ref<P> = undefined) {\n const derivedStateRef = createRef<DerivedState<DS>>({ state: null, deps: {} });\n computeDerivedValues(newStateRef || stateRef, newPropsRef || propsRef, derivedStateRef, options);\n return {\n ...(newStateRef?.current || stateRef.current),\n ...(derivedStateRef.current.state || ({} as DS)),\n };\n }\n\n return {\n test(f) {\n f(getState(), propsRef.current);\n return this;\n },\n setMockActions(mockActions) {\n return cloneStore(undefined, undefined, mockActions) as MockStore<S, A, P, DS>;\n },\n onMount(propsIn = {} as P) {\n return this.onInit(propsIn);\n },\n setState(s) {\n return cloneStore(s, undefined) as MockStore<S, A, P, DS>;\n },\n setProps(p) {\n return cloneStore(undefined, p) as MockStore<S, A, P, DS>;\n },\n setPartialState(s) {\n return cloneStore({ ...stateRef.current, ...s }, undefined) as MockStore<S, A, P, DS>;\n },\n setPartialProps(p) {\n return cloneStore(undefined, { ...propsRef.current, ...p }) as MockStore<S, A, P, DS>;\n },\n onPropsChange(newProps: Partial<P>, init = false) {\n const newStateRef = createRef(stateRef.current);\n const newPropsRef = createRef({ ...propsRef.current, ...newProps });\n const derivedStateRef = createRef<DerivedState<DS>>({ state: null, deps: {} });\n const actionsRef = getActionsRef(actions, mockActions);\n const setState: SetStateFunc<S, A, P> = (newStateIn, newLoadingMap, actionName, actionType, isAsync) => {\n if (newStateIn != null) {\n newStateRef.current = newStateIn;\n }\n };\n\n const res = this.onPropsChangeImpl(newStateRef, newPropsRef, derivedStateRef, actionsRef, setState, init);\n\n return {\n ...res,\n test(testFunc) {\n testFunc(res);\n },\n };\n },\n onPropsChangeImpl(\n newStateRef: Ref<S>,\n newPropsRef: Ref<P>,\n newDerivedStateRef: Ref<DerivedState<DS>>,\n actionsRef: Ref<StoreActions<S, A, P, DS, S>>,\n setState: SetStateFunc<S, A, P>,\n init?: boolean\n ) {\n computeDerivedValues(stateRef, propsRef, newDerivedStateRef, options);\n\n onPropChange(\n newStateRef,\n newDerivedStateRef,\n newPropsRef,\n propsRef.current,\n actionsRef as any,\n options,\n setState,\n init\n );\n\n return {\n prevState: getState(stateRef, propsRef),\n state: getState(newStateRef, newPropsRef),\n props: newPropsRef.current,\n actions: actionsRef.current,\n };\n },\n\n onInit(newProps: Partial<P> = {}) {\n // reset initial state\n const state = typeof initialState === 'function' ? (initialState as (props: P) => S)(props) : initialState;\n\n const newStateRef = createRef(state);\n const newPropsRef = createRef({ ...propsRef.current, ...newProps });\n const derivedStateRef = createRef<DerivedState<DS>>({ state: null, deps: {} });\n const actionsRef = getActionsRef(actions, mockActions);\n\n const setState: SetStateFunc<S, A, P> = (newStateIn, newLoadingMap, actionName, actionType, isAsync) => {\n if (newStateIn != null) {\n newStateRef.current = newStateIn;\n }\n };\n\n this.onPropsChangeImpl(newStateRef, newPropsRef, derivedStateRef, actionsRef, setState, true);\n\n if (options?.onMount) {\n options.onMount(buildOnMountInvocationContext(newStateRef, derivedStateRef, newPropsRef, actionsRef as any));\n }\n\n const res: MockResult<S, A, P, DS> = {\n prevState: null,\n state: getState(newStateRef, newPropsRef),\n props: newPropsRef.current,\n actions: actionsRef.current,\n };\n\n return {\n ...res,\n test(testFunc) {\n testFunc(res);\n },\n };\n },\n\n getAction(actionName) {\n return createMockStoreAction(stateRef.current, actionName, actions, propsRef.current, null, options, undefined);\n },\n };\n}\n\nfunction getActionsRef<A>(actions: A, impl: MockActionImpl<A>): Ref<A> {\n const keys = Object.keys(actions) as (keyof A)[];\n\n return createRef<A>(\n keys.reduce<A>((acc, actionName) => {\n acc[actionName] = mockFactory(impl?.[actionName]) as any;\n return acc;\n }, {} as A)\n );\n}\n\nfunction createMockAction(impl?: (...args: any[]) => any): typeof jest.fn {\n return jest.fn(impl);\n}\n\nlet mockFactory = createMockAction;\n\n/**\n * Set the mock factory. Each mock action will be created using this factory.\n * @param factory the mock factory\n */\nexport function setMockFactory(factory: (impl?: (...args: any[]) => any) => any) {\n mockFactory = factory;\n}\n\nexport class ActionError<S = any, P = any, A = any> extends Error {\n public sourceError: Error;\n public prevState: S;\n public state: S;\n public props: P;\n public actions: MockActions<A, any>;\n\n constructor(sourceError: Error, prevState: S, state: S, props: P, actions: MockActions<A, any>) {\n super(sourceError.message);\n\n Object.setPrototypeOf(this, ActionError.prototype);\n\n this.sourceError = sourceError;\n this.prevState = prevState;\n this.props = props;\n this.state = state;\n this.actions = actions;\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, ActionError);\n }\n }\n}\n\nexport function createMockStoreAction<S, A extends DecoratedActions, F extends (...args: any[]) => any, P, DS>(\n state: S,\n actionName: keyof A,\n actions: StoreActions<S, A, P, DS, S>,\n props: P,\n promiseRes: Promise<F> | Error,\n options: StoreOptions<S, A, P, DS>,\n mockActions: Partial<Record<keyof A, (...args: any[]) => any>>\n): MockStoreAction<S, A, F, P, DS> {\n const stateRef = createRef<S>(state);\n const propsRef = createRef<P>(props);\n const promiseResult = promiseRes;\n\n function cloneStoreAction(\n newState: S,\n newProps: P,\n promiseRes: Promise<F> | Error,\n newMockActions: Partial<Record<keyof A, (...args: any[]) => any>> = mockActions\n ) {\n return createMockStoreAction(\n newState ?? stateRef.current,\n actionName,\n actions,\n newProps ?? propsRef.current,\n promiseRes ?? promiseResult,\n options,\n newMockActions\n );\n }\n\n function getState(newStateRef: Ref<S> = undefined, newPropsRef: Ref<P> = undefined) {\n const derivedStateRef = createRef<DerivedState<DS>>({ state: null, deps: {} });\n computeDerivedValues(newStateRef ?? stateRef, newPropsRef ?? propsRef, derivedStateRef, options);\n return {\n ...(newStateRef?.current || stateRef.current),\n ...(derivedStateRef.current.state || ({} as DS)),\n };\n }\n\n return {\n setMockActions(mockActions) {\n return cloneStoreAction(undefined, undefined, undefined, mockActions) as MockStoreAction<S, A, F, P, DS>;\n },\n setState(s) {\n return cloneStoreAction(s, undefined, undefined) as MockStoreAction<S, A, F, P, DS>;\n },\n setProps(p) {\n return cloneStoreAction(undefined, p, undefined) as MockStoreAction<S, A, F, P, DS>;\n },\n setPartialState(s) {\n return cloneStoreAction({ ...stateRef.current, ...s }, undefined, undefined) as MockStoreAction<S, A, F, P, DS>;\n },\n setPartialProps(p) {\n return cloneStoreAction(undefined, { ...propsRef.current, ...p }, undefined) as MockStoreAction<S, A, F, P, DS>;\n },\n promiseResolves(res) {\n return cloneStoreAction(undefined, undefined, Promise.resolve(res)) as MockStoreAction<S, A, F, P, DS>;\n },\n promiseRejects(err) {\n return cloneStoreAction(undefined, undefined, Promise.reject(err)) as MockStoreAction<S, A, F, P, DS>;\n },\n test(f) {\n f(getState(), propsRef.current);\n return this;\n },\n call(...args) {\n const newStateRef = createRef<S>({ ...stateRef.current });\n const derivedStateRef = createRef<DerivedState<DS>>({ state: null, deps: {} });\n computeDerivedValues(newStateRef, propsRef, derivedStateRef, options);\n\n // create mock action to test side effects\n const actionsRef = getActionsRef(actions, mockActions);\n const loadingMapRef = createRef<InternalLoadingMap<A>>({});\n\n const setState: SetStateFunc<S, A, P> = (\n newStateIn /* newLoadingMap, actionName, actionType, isAsync, ctx */\n ) => {\n if (newStateIn != null) {\n newStateRef.current = newStateIn;\n }\n };\n\n const action = actions[actionName];\n\n let promise = null;\n\n if (isSimpleSyncAction(action as any)) {\n decorateSimpleSyncAction(\n actionName,\n action as any,\n newStateRef,\n derivedStateRef,\n propsRef,\n createRef(true),\n setState\n )(...((args as any) as Parameters<A[keyof A]>));\n\n promise = Promise.resolve();\n } else if (isSyncAction(action)) {\n decorateSyncAction(\n actionName,\n // force no debouncing to trigger side effects directly\n { ...action, debounceSideEffectsTimeout: 0, debounceTimeout: 0 },\n newStateRef,\n derivedStateRef,\n propsRef,\n actionsRef as any,\n createRef(true),\n null,\n options,\n setState\n )(...((args as any) as Parameters<A[keyof A]>));\n\n promise = Promise.resolve();\n } else if (isAsyncAction(action)) {\n const promisesRef = createRef({});\n const conflictActionsRef = createRef({});\n const initializedRef = createRef(true);\n\n const impl: AsyncAction<S, A[keyof A], A, P, DS> = { ...computeAsyncActionInput(action) };\n\n if (promiseResult) {\n impl.getPromise = () => promiseResult as any;\n }\n\n // simulate optimistic actions\n if (impl.optimisticEffects) {\n impl.effects = impl.optimisticEffects;\n delete impl.optimisticEffects;\n }\n\n promise = (decorateAsyncAction({\n actionName,\n derivedStateRef,\n propsRef,\n loadingMapRef,\n promisesRef,\n conflictActionsRef,\n initializedRef,\n options,\n setState,\n stateRef: newStateRef,\n actionsRef: actionsRef as any,\n action: impl,\n }) as any)(...((args as any) as Parameters<A[keyof A]>));\n }\n\n return (promise ?? Promise.resolve())\n .then(() => {\n loadingMapRef.current = {};\n return {\n prevState: getState(stateRef),\n state: getState(newStateRef),\n props: propsRef.current,\n actions: (actionsRef.current as any) as MockActions<A, any>,\n };\n })\n .catch((e: Error) => {\n return Promise.reject(\n new ActionError(\n e,\n getState(stateRef),\n getState(newStateRef),\n propsRef.current,\n (actionsRef.current as any) as MockActions<A, any>\n )\n );\n });\n },\n };\n}\n"],"names":["module","instance","Constructor","TypeError","exports","self","ReferenceError","_setPrototypeOf","o","p","Object","setPrototypeOf","__proto__","subClass","superClass","prototype","create","constructor","value","writable","configurable","_typeof","obj","Symbol","iterator","require$$0","call","assertThisInitialized","_getPrototypeOf","getPrototypeOf","fn","Function","toString","indexOf","Reflect","construct","sham","Proxy","Boolean","valueOf","e","_construct","Parent","args","Class","isNativeReflectConstruct","a","push","apply","bind","arguments","_wrapNativeSuper","_cache","Map","undefined","isNativeFunction","has","get","set","Wrapper","this","enumerable","key","defineProperty","createMockStore","initialState","actions","props","options","mockActions","stateRef","createRef","propsRef","cloneStore","newState","newProps","newMockActions","current","getState","newStateRef","newPropsRef","derivedStateRef","state","deps","computeDerivedValues","test","f","setMockActions","onMount","propsIn","onInit","setState","s","setProps","setPartialState","setPartialProps","onPropsChange","init","actionsRef","getActionsRef","newStateIn","newLoadingMap","actionName","actionType","isAsync","res","onPropsChangeImpl","testFunc","newDerivedStateRef","onPropChange","prevState","buildOnMountInvocationContext","getAction","createMockStoreAction","impl","keys","reduce","acc","mockFactory","jest","ActionError","sourceError","message","Error","captureStackTrace","promiseRes","promiseResult","cloneStoreAction","promiseResolves","Promise","resolve","promiseRejects","err","reject","loadingMapRef","action","promise","isSimpleSyncAction","decorateSimpleSyncAction","isSyncAction","decorateSyncAction","debounceSideEffectsTimeout","debounceTimeout","isAsyncAction","promisesRef","conflictActionsRef","initializedRef","computeAsyncActionInput","getPromise","optimisticEffects","effects","decorateAsyncAction","then","store","cfg","getConfig","getInitialState","factory"],"mappings":"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"}