@data-client/core 0.13.1 → 0.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (198) hide show
  1. package/dist/index.js +198 -214
  2. package/dist/index.umd.min.js +1 -1
  3. package/legacy/actions.js +1 -1
  4. package/legacy/controller/Controller.js +21 -30
  5. package/legacy/controller/actions/createExpireAll.js +8 -0
  6. package/legacy/controller/actions/createFetch.js +27 -0
  7. package/legacy/controller/actions/createInvalidate.js +10 -0
  8. package/legacy/controller/actions/createInvalidateAll.js +8 -0
  9. package/legacy/controller/actions/createMeta.js +9 -0
  10. package/legacy/controller/actions/createOptimistic.js +17 -0
  11. package/legacy/controller/actions/createReset.js +8 -0
  12. package/legacy/controller/actions/createSet.js +17 -0
  13. package/legacy/controller/actions/createSetResponse.js +26 -0
  14. package/legacy/controller/actions/createSubscription.js +22 -0
  15. package/legacy/controller/actions/index.js +11 -0
  16. package/legacy/index.js +3 -4
  17. package/legacy/internal.js +1 -2
  18. package/legacy/manager/LogoutManager.js +2 -2
  19. package/legacy/manager/NetworkManager.js +39 -35
  20. package/legacy/manager/PollingSubscription.js +3 -3
  21. package/legacy/manager/SubscriptionManager.js +3 -3
  22. package/legacy/state/reducer/createReducer.js +2 -2
  23. package/legacy/state/reducer/fetchReducer.js +6 -10
  24. package/legacy/state/reducer/invalidateReducer.js +2 -2
  25. package/legacy/state/reducer/setReducer.js +11 -3
  26. package/legacy/state/reducer/setResponseReducer.js +17 -17
  27. package/legacy/types.js +1 -1
  28. package/lib/actions.d.ts +35 -41
  29. package/lib/actions.d.ts.map +1 -1
  30. package/lib/actions.js +1 -1
  31. package/lib/controller/Controller.d.ts +18 -17
  32. package/lib/controller/Controller.d.ts.map +1 -1
  33. package/lib/controller/Controller.js +21 -30
  34. package/lib/controller/actions/createExpireAll.d.ts +3 -0
  35. package/lib/controller/actions/createExpireAll.d.ts.map +1 -0
  36. package/lib/controller/actions/createExpireAll.js +8 -0
  37. package/lib/controller/{createFetch.d.ts → actions/createFetch.d.ts} +3 -3
  38. package/lib/controller/actions/createFetch.d.ts.map +1 -0
  39. package/lib/controller/actions/createFetch.js +27 -0
  40. package/lib/controller/actions/createInvalidate.d.ts +6 -0
  41. package/lib/controller/actions/createInvalidate.d.ts.map +1 -0
  42. package/lib/controller/actions/createInvalidate.js +10 -0
  43. package/lib/controller/actions/createInvalidateAll.d.ts +3 -0
  44. package/lib/controller/actions/createInvalidateAll.d.ts.map +1 -0
  45. package/lib/controller/actions/createInvalidateAll.js +8 -0
  46. package/lib/controller/actions/createMeta.d.ts +3 -0
  47. package/lib/controller/actions/createMeta.d.ts.map +1 -0
  48. package/lib/controller/actions/createMeta.js +9 -0
  49. package/lib/controller/actions/createOptimistic.d.ts +7 -0
  50. package/lib/controller/actions/createOptimistic.d.ts.map +1 -0
  51. package/lib/controller/actions/createOptimistic.js +17 -0
  52. package/lib/controller/actions/createReset.d.ts +3 -0
  53. package/lib/controller/actions/createReset.d.ts.map +1 -0
  54. package/lib/controller/actions/createReset.js +8 -0
  55. package/lib/controller/actions/createSet.d.ts +8 -0
  56. package/lib/controller/actions/createSet.d.ts.map +1 -0
  57. package/lib/controller/actions/createSet.js +17 -0
  58. package/lib/controller/{createSetResponse.d.ts → actions/createSetResponse.d.ts} +4 -4
  59. package/lib/controller/actions/createSetResponse.d.ts.map +1 -0
  60. package/lib/controller/actions/createSetResponse.js +26 -0
  61. package/lib/controller/{createSubscription.d.ts → actions/createSubscription.d.ts} +1 -1
  62. package/lib/controller/actions/createSubscription.d.ts.map +1 -0
  63. package/lib/controller/actions/createSubscription.js +22 -0
  64. package/lib/controller/actions/index.d.ts +11 -0
  65. package/lib/controller/actions/index.d.ts.map +1 -0
  66. package/lib/controller/actions/index.js +11 -0
  67. package/lib/index.d.ts +1 -3
  68. package/lib/index.d.ts.map +1 -1
  69. package/lib/index.js +3 -4
  70. package/lib/internal.d.ts +0 -1
  71. package/lib/internal.d.ts.map +1 -1
  72. package/lib/internal.js +1 -2
  73. package/lib/manager/LogoutManager.js +2 -2
  74. package/lib/manager/NetworkManager.d.ts +7 -2
  75. package/lib/manager/NetworkManager.d.ts.map +1 -1
  76. package/lib/manager/NetworkManager.js +39 -35
  77. package/lib/manager/PollingSubscription.js +3 -3
  78. package/lib/manager/SubscriptionManager.js +3 -3
  79. package/lib/state/reducer/createReducer.js +2 -2
  80. package/lib/state/reducer/expireReducer.d.ts +6 -8
  81. package/lib/state/reducer/expireReducer.d.ts.map +1 -1
  82. package/lib/state/reducer/fetchReducer.d.ts.map +1 -1
  83. package/lib/state/reducer/fetchReducer.js +8 -12
  84. package/lib/state/reducer/invalidateReducer.d.ts +5 -7
  85. package/lib/state/reducer/invalidateReducer.d.ts.map +1 -1
  86. package/lib/state/reducer/invalidateReducer.js +2 -2
  87. package/lib/state/reducer/setReducer.d.ts +2 -1
  88. package/lib/state/reducer/setReducer.d.ts.map +1 -1
  89. package/lib/state/reducer/setReducer.js +11 -3
  90. package/lib/state/reducer/setResponseReducer.d.ts.map +1 -1
  91. package/lib/state/reducer/setResponseReducer.js +17 -17
  92. package/lib/types.d.ts +3 -3
  93. package/lib/types.d.ts.map +1 -1
  94. package/lib/types.js +1 -1
  95. package/package.json +2 -2
  96. package/src/actions.ts +37 -43
  97. package/src/controller/Controller.ts +29 -26
  98. package/src/controller/__tests__/Controller.ts +2 -2
  99. package/src/controller/actions/createExpireAll.ts +11 -0
  100. package/src/controller/{createFetch.ts → actions/createFetch.ts} +9 -13
  101. package/src/controller/actions/createInvalidate.ts +14 -0
  102. package/src/controller/actions/createInvalidateAll.ts +11 -0
  103. package/src/controller/actions/createMeta.ts +13 -0
  104. package/src/controller/actions/createOptimistic.ts +32 -0
  105. package/src/controller/actions/createReset.ts +9 -0
  106. package/src/controller/actions/createSet.ts +31 -0
  107. package/src/controller/{createSetResponse.ts → actions/createSetResponse.ts} +17 -23
  108. package/src/controller/{createSubscription.ts → actions/createSubscription.ts} +6 -10
  109. package/src/controller/actions/index.ts +13 -0
  110. package/src/index.ts +1 -3
  111. package/src/internal.ts +0 -1
  112. package/src/manager/LogoutManager.ts +1 -1
  113. package/src/manager/NetworkManager.ts +41 -32
  114. package/src/manager/PollingSubscription.ts +2 -2
  115. package/src/manager/SubscriptionManager.ts +2 -2
  116. package/src/manager/__tests__/__snapshots__/pollingSubscription.ts.snap +4 -10
  117. package/src/manager/__tests__/logoutManager.ts +1 -1
  118. package/src/manager/__tests__/networkManager.ts +37 -25
  119. package/src/manager/__tests__/pollingSubscription.ts +3 -3
  120. package/src/manager/__tests__/subscriptionManager.ts +22 -27
  121. package/src/state/__tests__/reducer.ts +110 -44
  122. package/src/state/reducer/createReducer.ts +1 -1
  123. package/src/state/reducer/fetchReducer.ts +12 -18
  124. package/src/state/reducer/invalidateReducer.ts +1 -1
  125. package/src/state/reducer/setReducer.ts +17 -6
  126. package/src/state/reducer/setResponseReducer.ts +18 -20
  127. package/src/types.ts +4 -4
  128. package/ts3.4/actions.d.ts +36 -42
  129. package/ts3.4/controller/Controller.d.ts +23 -19
  130. package/ts3.4/controller/actions/createExpireAll.d.ts +3 -0
  131. package/ts3.4/controller/{createFetch.d.ts → actions/createFetch.d.ts} +3 -3
  132. package/ts3.4/controller/{createInvalidate.d.ts → actions/createInvalidate.d.ts} +2 -2
  133. package/ts3.4/controller/actions/createInvalidateAll.d.ts +3 -0
  134. package/ts3.4/controller/actions/createMeta.d.ts +3 -0
  135. package/ts3.4/controller/actions/createOptimistic.d.ts +9 -0
  136. package/ts3.4/controller/actions/createReset.d.ts +3 -0
  137. package/ts3.4/controller/actions/createSet.d.ts +10 -0
  138. package/ts3.4/controller/{createSetResponse.d.ts → actions/createSetResponse.d.ts} +4 -4
  139. package/ts3.4/controller/{createSubscription.d.ts → actions/createSubscription.d.ts} +1 -1
  140. package/ts3.4/controller/actions/index.d.ts +11 -0
  141. package/ts3.4/index.d.ts +2 -3
  142. package/ts3.4/internal.d.ts +0 -1
  143. package/ts3.4/manager/NetworkManager.d.ts +7 -2
  144. package/ts3.4/state/reducer/expireReducer.d.ts +6 -8
  145. package/ts3.4/state/reducer/invalidateReducer.d.ts +5 -7
  146. package/ts3.4/state/reducer/setReducer.d.ts +2 -1
  147. package/ts3.4/types.d.ts +3 -3
  148. package/legacy/controller/createExpireAll.js +0 -8
  149. package/legacy/controller/createFetch.js +0 -31
  150. package/legacy/controller/createInvalidate.js +0 -12
  151. package/legacy/controller/createInvalidateAll.js +0 -8
  152. package/legacy/controller/createOptimistic.js +0 -27
  153. package/legacy/controller/createReset.js +0 -8
  154. package/legacy/controller/createSet.js +0 -28
  155. package/legacy/controller/createSetResponse.js +0 -32
  156. package/legacy/controller/createSubscription.js +0 -26
  157. package/legacy/state/RIC.js +0 -3
  158. package/lib/controller/createExpireAll.d.ts +0 -3
  159. package/lib/controller/createExpireAll.d.ts.map +0 -1
  160. package/lib/controller/createExpireAll.js +0 -8
  161. package/lib/controller/createFetch.d.ts.map +0 -1
  162. package/lib/controller/createFetch.js +0 -31
  163. package/lib/controller/createInvalidate.d.ts +0 -6
  164. package/lib/controller/createInvalidate.d.ts.map +0 -1
  165. package/lib/controller/createInvalidate.js +0 -12
  166. package/lib/controller/createInvalidateAll.d.ts +0 -3
  167. package/lib/controller/createInvalidateAll.d.ts.map +0 -1
  168. package/lib/controller/createInvalidateAll.js +0 -8
  169. package/lib/controller/createOptimistic.d.ts +0 -10
  170. package/lib/controller/createOptimistic.d.ts.map +0 -1
  171. package/lib/controller/createOptimistic.js +0 -27
  172. package/lib/controller/createReset.d.ts +0 -3
  173. package/lib/controller/createReset.d.ts.map +0 -1
  174. package/lib/controller/createReset.js +0 -8
  175. package/lib/controller/createSet.d.ts +0 -8
  176. package/lib/controller/createSet.d.ts.map +0 -1
  177. package/lib/controller/createSet.js +0 -28
  178. package/lib/controller/createSetResponse.d.ts.map +0 -1
  179. package/lib/controller/createSetResponse.js +0 -32
  180. package/lib/controller/createSubscription.d.ts.map +0 -1
  181. package/lib/controller/createSubscription.js +0 -26
  182. package/lib/state/RIC.d.ts +0 -3
  183. package/lib/state/RIC.d.ts.map +0 -1
  184. package/lib/state/RIC.js +0 -3
  185. package/src/controller/createExpireAll.ts +0 -11
  186. package/src/controller/createInvalidate.ts +0 -16
  187. package/src/controller/createInvalidateAll.ts +0 -11
  188. package/src/controller/createOptimistic.ts +0 -41
  189. package/src/controller/createReset.ts +0 -9
  190. package/src/controller/createSet.ts +0 -39
  191. package/src/state/RIC.ts +0 -5
  192. package/src/state/__tests__/RIC.web.ts +0 -16
  193. package/ts3.4/controller/createExpireAll.d.ts +0 -3
  194. package/ts3.4/controller/createInvalidateAll.d.ts +0 -3
  195. package/ts3.4/controller/createOptimistic.d.ts +0 -12
  196. package/ts3.4/controller/createReset.d.ts +0 -3
  197. package/ts3.4/controller/createSet.d.ts +0 -10
  198. package/ts3.4/state/RIC.d.ts +0 -3
@@ -7,79 +7,75 @@ type EndpointAndUpdate<E extends EndpointInterface> = EndpointInterface & {
7
7
  type EndpointDefault = EndpointInterface & {
8
8
  update?: EndpointUpdateFunction<EndpointInterface>;
9
9
  };
10
- export interface SetMeta {
11
- args: readonly any[];
12
- fetchedAt: number;
13
- date: number;
14
- expiresAt: number;
10
+ /** General meta-data for operators */
11
+ export interface ActionMeta {
12
+ readonly fetchedAt: number;
13
+ readonly date: number;
14
+ readonly expiresAt: number;
15
15
  }
16
+ /** Action for Controller.set() */
16
17
  export interface SetAction<S extends Queryable = any> {
17
18
  type: typeof SET_TYPE;
18
19
  schema: S;
19
- meta: SetMeta;
20
- value: Denormalize<S>;
21
- }
22
- export interface SetResponseMeta {
23
20
  args: readonly any[];
24
- key: string;
25
- fetchedAt: number;
26
- date: number;
27
- expiresAt: number;
21
+ meta: ActionMeta;
22
+ value: {} | ((previousValue: Denormalize<S>) => {});
28
23
  }
29
- export interface SetResponseActionSuccess<E extends EndpointAndUpdate<E> = EndpointDefault> {
24
+ export interface SetResponseActionBase<E extends EndpointAndUpdate<E> = EndpointDefault> {
30
25
  type: typeof SET_RESPONSE_TYPE;
31
26
  endpoint: E;
32
- meta: SetResponseMeta;
33
- payload: ResolveType<E>;
27
+ args: readonly any[];
28
+ key: string;
29
+ meta: ActionMeta;
30
+ }
31
+ export interface SetResponseActionSuccess<E extends EndpointAndUpdate<E> = EndpointDefault> extends SetResponseActionBase<E> {
32
+ response: ResolveType<E>;
34
33
  error?: false;
35
34
  }
36
- export interface SetResponseActionError<E extends EndpointAndUpdate<E> = EndpointDefault> {
37
- type: typeof SET_RESPONSE_TYPE;
38
- endpoint: E;
39
- meta: SetResponseMeta;
40
- payload: UnknownError;
35
+ export interface SetResponseActionError<E extends EndpointAndUpdate<E> = EndpointDefault> extends SetResponseActionBase<E> {
36
+ response: UnknownError;
41
37
  error: true;
42
38
  }
39
+ /** Action for Controller.setResponse() */
43
40
  export type SetResponseAction<E extends EndpointAndUpdate<E> = EndpointDefault> = SetResponseActionSuccess<E> | SetResponseActionError<E>;
44
- export interface FetchMeta<A extends readonly any[] = readonly any[]> {
45
- args: A;
46
- key: string;
47
- throttle: boolean;
41
+ export interface FetchMeta {
42
+ fetchedAt: number;
48
43
  resolve: (value?: any | PromiseLike<any>) => void;
49
44
  reject: (reason?: any) => void;
50
45
  promise: PromiseLike<any>;
51
- createdAt: number;
52
- nm?: boolean;
53
46
  }
47
+ /** Action for Controller.fetch() */
54
48
  export interface FetchAction<E extends EndpointAndUpdate<E> = EndpointDefault> {
55
49
  type: typeof FETCH_TYPE;
56
50
  endpoint: E;
57
- meta: FetchMeta<readonly [
51
+ args: readonly [
58
52
  ...Parameters<E>
59
- ]>;
60
- payload: () => ReturnType<E>;
53
+ ];
54
+ key: string;
55
+ meta: FetchMeta;
61
56
  }
57
+ /** Action for Endpoint.getOptimisticResponse() */
62
58
  export interface OptimisticAction<E extends EndpointAndUpdate<E> = EndpointDefault> {
63
59
  type: typeof OPTIMISTIC_TYPE;
64
60
  endpoint: E;
65
- meta: SetResponseMeta;
61
+ args: readonly any[];
62
+ key: string;
63
+ meta: ActionMeta;
66
64
  error?: false;
67
65
  }
66
+ /** Action for Controller.subscribe() */
68
67
  export interface SubscribeAction<E extends EndpointAndUpdate<E> = EndpointDefault> {
69
68
  type: typeof SUBSCRIBE_TYPE;
70
69
  endpoint: E;
71
- meta: {
72
- args: readonly any[];
73
- key: string;
74
- };
70
+ args: readonly any[];
71
+ key: string;
75
72
  }
73
+ /** Action for Controller.unsubscribe() */
76
74
  export interface UnsubscribeAction<E extends EndpointAndUpdate<E> = EndpointDefault> {
77
75
  type: typeof UNSUBSCRIBE_TYPE;
78
76
  endpoint: E;
79
- meta: {
80
- args: readonly any[];
81
- key: string;
82
- };
77
+ args: readonly any[];
78
+ key: string;
83
79
  }
84
80
  export interface ExpireAllAction {
85
81
  type: typeof EXPIREALL_TYPE;
@@ -91,9 +87,7 @@ export interface InvalidateAllAction {
91
87
  }
92
88
  export interface InvalidateAction {
93
89
  type: typeof INVALIDATE_TYPE;
94
- meta: {
95
- key: string;
96
- };
90
+ key: string;
97
91
  }
98
92
  export interface ResetAction {
99
93
  type: typeof RESET_TYPE;
@@ -38,21 +38,21 @@ export default class Controller<D extends GenericDispatch = DataClientDispatch>
38
38
  * Fetches the endpoint with given args, updating the Reactive Data Client cache with the response or error upon completion.
39
39
  * @see https://dataclient.io/docs/api/Controller#fetch
40
40
  */
41
- fetch: <E extends EndpointInterface<FetchFunction, Schema | undefined, boolean | undefined> & {
42
- update?: EndpointUpdateFunction<E> | undefined;
43
- }>(endpoint: E, ...args_0: Parameters<E>) => E['schema'] extends undefined | null ? ReturnType<E> : Promise<Denormalize<E['schema']>>;
41
+ fetch: <E extends EndpointInterface & {
42
+ update?: EndpointUpdateFunction<E>;
43
+ }>(endpoint: E, ...args_0: Parameters<E>) => E["schema"] extends undefined | null ? ReturnType<E> : Promise<Denormalize<E["schema"]>>;
44
44
  /**
45
45
  * Fetches only if endpoint is considered 'stale'; otherwise returns undefined
46
46
  * @see https://dataclient.io/docs/api/Controller#fetchIfStale
47
47
  */
48
- fetchIfStale: <E extends EndpointInterface<FetchFunction, Schema | undefined, boolean | undefined> & {
49
- update?: EndpointUpdateFunction<E> | undefined;
50
- }>(endpoint: E, ...args_0: Parameters<E>) => E['schema'] extends undefined | null ? ReturnType<E> | ResolveType<E> : Promise<Denormalize<E['schema']>> | Denormalize<E['schema']>;
48
+ fetchIfStale: <E extends EndpointInterface & {
49
+ update?: EndpointUpdateFunction<E>;
50
+ }>(endpoint: E, ...args_0: Parameters<E>) => E["schema"] extends undefined | null ? ReturnType<E> | ResolveType<E> : Promise<Denormalize<E["schema"]>> | Denormalize<E["schema"]>;
51
51
  /**
52
52
  * Forces refetching and suspense on useSuspense with the same Endpoint and parameters.
53
53
  * @see https://dataclient.io/docs/api/Controller#invalidate
54
54
  */
55
- invalidate: <E extends EndpointInterface<FetchFunction, Schema | undefined, boolean | undefined>>(endpoint: E, ...args: readonly [
55
+ invalidate: <E extends EndpointInterface>(endpoint: E, ...args: readonly [
56
56
  ...Parameters<E>
57
57
  ] | readonly [
58
58
  null
@@ -82,16 +82,20 @@ export default class Controller<D extends GenericDispatch = DataClientDispatch>
82
82
  * Sets value for the Queryable and args.
83
83
  * @see https://dataclient.io/docs/api/Controller#set
84
84
  */
85
- set: <S extends Queryable>(schema: S, ...rest: readonly [
85
+ set<S extends Queryable>(schema: S, ...rest: readonly [
86
86
  ...SchemaArgs<S>,
87
- any
88
- ]) => Promise<void>;
87
+ (previousValue: Denormalize<S>) => {}
88
+ ]): Promise<void>;
89
+ set<S extends Queryable>(schema: S, ...rest: readonly [
90
+ ...SchemaArgs<S>,
91
+ {}
92
+ ]): Promise<void>;
89
93
  /**
90
94
  * Sets response for the Endpoint and args.
91
95
  * @see https://dataclient.io/docs/api/Controller#setResponse
92
96
  */
93
- setResponse: <E extends EndpointInterface<FetchFunction, Schema | undefined, boolean | undefined> & {
94
- update?: EndpointUpdateFunction<E> | undefined;
97
+ setResponse: <E extends EndpointInterface & {
98
+ update?: EndpointUpdateFunction<E>;
95
99
  }>(endpoint: E, ...rest: readonly [
96
100
  ...Parameters<E>,
97
101
  any
@@ -100,18 +104,18 @@ export default class Controller<D extends GenericDispatch = DataClientDispatch>
100
104
  * Sets an error response for the Endpoint and args.
101
105
  * @see https://dataclient.io/docs/api/Controller#setError
102
106
  */
103
- setError: <E extends EndpointInterface<FetchFunction, Schema | undefined, boolean | undefined> & {
104
- update?: EndpointUpdateFunction<E> | undefined;
107
+ setError: <E extends EndpointInterface & {
108
+ update?: EndpointUpdateFunction<E>;
105
109
  }>(endpoint: E, ...rest: readonly [
106
110
  ...Parameters<E>,
107
111
  Error
108
112
  ]) => Promise<void>;
109
113
  /**
110
- * Resolves an inflight fetch. `fetchedAt` should `fetch`'s `createdAt`
114
+ * Resolves an inflight fetch.
111
115
  * @see https://dataclient.io/docs/api/Controller#resolve
112
116
  */
113
- resolve: <E extends EndpointInterface<FetchFunction, Schema | undefined, boolean | undefined> & {
114
- update?: EndpointUpdateFunction<E> | undefined;
117
+ resolve: <E extends EndpointInterface & {
118
+ update?: EndpointUpdateFunction<E>;
115
119
  }>(endpoint: E, meta: {
116
120
  args: readonly [
117
121
  ...Parameters<E>
@@ -131,7 +135,7 @@ export default class Controller<D extends GenericDispatch = DataClientDispatch>
131
135
  * Marks a new subscription to a given Endpoint.
132
136
  * @see https://dataclient.io/docs/api/Controller#subscribe
133
137
  */
134
- subscribe: <E extends EndpointInterface<FetchFunction, Schema | undefined, false | undefined>>(endpoint: E, ...args: readonly [
138
+ subscribe: <E extends EndpointInterface<FetchFunction, Schema | undefined, undefined | false>>(endpoint: E, ...args: readonly [
135
139
  ...Parameters<E>
136
140
  ] | readonly [
137
141
  null
@@ -140,7 +144,7 @@ export default class Controller<D extends GenericDispatch = DataClientDispatch>
140
144
  * Marks completion of subscription to a given Endpoint.
141
145
  * @see https://dataclient.io/docs/api/Controller#unsubscribe
142
146
  */
143
- unsubscribe: <E extends EndpointInterface<FetchFunction, Schema | undefined, false | undefined>>(endpoint: E, ...args: readonly [
147
+ unsubscribe: <E extends EndpointInterface<FetchFunction, Schema | undefined, undefined | false>>(endpoint: E, ...args: readonly [
144
148
  ...Parameters<E>
145
149
  ] | readonly [
146
150
  null
@@ -0,0 +1,3 @@
1
+ import { ExpireAllAction } from '../../types.js';
2
+ export declare function createExpireAll(testKey: (key: string) => boolean): ExpireAllAction;
3
+ //# sourceMappingURL=createExpireAll.d.ts.map
@@ -1,10 +1,10 @@
1
1
  import { EndpointInterface } from '@data-client/normalizr';
2
- import { EndpointUpdateFunction } from './types.js';
3
- import { FetchAction } from '../types.js';
2
+ import { FetchAction } from '../../types.js';
3
+ import { EndpointUpdateFunction } from '../types.js';
4
4
  /**
5
5
  * Requesting a fetch to begin
6
6
  */
7
- export default function createFetch<E extends EndpointInterface & {
7
+ export declare function createFetch<E extends EndpointInterface & {
8
8
  update?: EndpointUpdateFunction<E>;
9
9
  }>(endpoint: E, { args }: {
10
10
  args: readonly [
@@ -1,6 +1,6 @@
1
1
  import { EndpointInterface } from '@data-client/normalizr';
2
- import { InvalidateAction } from '../types.js';
3
- export default function createInvalidate<E extends EndpointInterface>(endpoint: E, { args }: {
2
+ import { InvalidateAction } from '../../types.js';
3
+ export declare function createInvalidate<E extends EndpointInterface>(endpoint: E, { args }: {
4
4
  args: readonly [
5
5
  ...Parameters<E>
6
6
  ];
@@ -0,0 +1,3 @@
1
+ import { InvalidateAllAction } from '../../types.js';
2
+ export declare function createInvalidateAll(testKey: (key: string) => boolean): InvalidateAllAction;
3
+ //# sourceMappingURL=createInvalidateAll.d.ts.map
@@ -0,0 +1,3 @@
1
+ import { ActionMeta } from '../../actions.js';
2
+ export declare function createMeta(expiryLength: number, fetchedAt?: number): ActionMeta;
3
+ //# sourceMappingURL=createMeta.d.ts.map
@@ -0,0 +1,9 @@
1
+ import { EndpointInterface } from '@data-client/normalizr';
2
+ import { OptimisticAction } from '../../types.js';
3
+ import { EndpointUpdateFunction } from '../types.js';
4
+ export declare function createOptimistic<E extends EndpointInterface & {
5
+ update?: EndpointUpdateFunction<E>;
6
+ }>(endpoint: E, args: readonly [
7
+ ...Parameters<E>
8
+ ], fetchedAt: number): OptimisticAction<E>;
9
+ //# sourceMappingURL=createOptimistic.d.ts.map
@@ -0,0 +1,3 @@
1
+ import { ResetAction } from '../../types.js';
2
+ export declare function createReset(): ResetAction;
3
+ //# sourceMappingURL=createReset.d.ts.map
@@ -0,0 +1,10 @@
1
+ import { Denormalize, Queryable, SchemaArgs } from '@data-client/normalizr';
2
+ import { SetAction } from '../../types.js';
3
+ export declare function createSet<S extends Queryable>(schema: S, { args, fetchedAt, value, }: {
4
+ args: readonly [
5
+ ...SchemaArgs<S>
6
+ ];
7
+ value: {} | ((previousValue: Denormalize<S>) => {});
8
+ fetchedAt?: number;
9
+ }): SetAction<S>;
10
+ //# sourceMappingURL=createSet.d.ts.map
@@ -1,7 +1,7 @@
1
1
  import { EndpointInterface, ResolveType } from '@data-client/normalizr';
2
- import { EndpointUpdateFunction } from './types.js';
3
- import { SetResponseAction } from '../types.js';
4
- export default function createSetResponse<E extends EndpointInterface & {
2
+ import { SetResponseAction } from '../../types.js';
3
+ import { EndpointUpdateFunction } from '../types.js';
4
+ export declare function createSetResponse<E extends EndpointInterface & {
5
5
  update?: EndpointUpdateFunction<E>;
6
6
  }>(endpoint: E, options: {
7
7
  args: readonly [
@@ -11,7 +11,7 @@ export default function createSetResponse<E extends EndpointInterface & {
11
11
  fetchedAt?: number;
12
12
  error: true;
13
13
  }): SetResponseAction<E>;
14
- export default function createSetResponse<E extends EndpointInterface & {
14
+ export declare function createSetResponse<E extends EndpointInterface & {
15
15
  update?: EndpointUpdateFunction<E>;
16
16
  }>(endpoint: E, options: {
17
17
  args: readonly [
@@ -1,5 +1,5 @@
1
1
  import { EndpointInterface } from '@data-client/normalizr';
2
- import { SubscribeAction, UnsubscribeAction } from '../types.js';
2
+ import { SubscribeAction, UnsubscribeAction } from '../../types.js';
3
3
  export declare function createSubscription<E extends EndpointInterface>(endpoint: E, { args }: {
4
4
  args: readonly [
5
5
  ...Parameters<E>
@@ -0,0 +1,11 @@
1
+ export { createSubscription, createUnsubscription, } from './createSubscription.js';
2
+ export { createSetResponse } from './createSetResponse.js';
3
+ export { createSet } from './createSet.js';
4
+ export { createReset } from './createReset.js';
5
+ export { createOptimistic } from './createOptimistic.js';
6
+ export { createMeta } from './createMeta.js';
7
+ export { createInvalidateAll } from './createInvalidateAll.js';
8
+ export { createInvalidate } from './createInvalidate.js';
9
+ export { createFetch } from './createFetch.js';
10
+ export { createExpireAll } from './createExpireAll.js';
11
+ //# sourceMappingURL=index.d.ts.map
package/ts3.4/index.d.ts CHANGED
@@ -7,9 +7,8 @@ export { default as createReducer, initialState, } from './state/reducer/createR
7
7
  export { default as applyManager } from './manager/applyManager.js';
8
8
  export { default as Controller } from './controller/Controller.js';
9
9
  export { DataClientDispatch, GenericDispatch, } from './controller/Controller.js';
10
- export { default as createFetch } from './controller/createFetch.js';
11
- export { default as createSet } from './controller/createSet.js';
12
- export { default as createSetResponse } from './controller/createSetResponse.js';
10
+ import * as actions_1 from './controller/actions/index.js';
11
+ export { actions_1 as actions };
13
12
  export * from './controller/types.js';
14
13
  import * as actionTypes_1 from './actionTypes.js';
15
14
  export { actionTypes_1 as actionTypes };
@@ -1,4 +1,3 @@
1
1
  export { MemoCache, INVALID } from '@data-client/normalizr';
2
- export { default as RIC } from './state/RIC.js';
3
2
  export { initialState } from './state/reducer/createReducer.js';
4
3
  //# sourceMappingURL=internal.d.ts.map
@@ -49,7 +49,7 @@ export default class NetworkManager implements Manager {
49
49
  * Will then start a promise for a key and potentially start the network
50
50
  * fetch.
51
51
  *
52
- * Uses throttle only when instructed by action meta. This is valuable
52
+ * Uses throttle endpoints without sideEffects. This is valuable
53
53
  * for ensures mutation requests always go through.
54
54
  */
55
55
  protected handleFetch(action: FetchAction): Promise<any>;
@@ -76,6 +76,11 @@ export default class NetworkManager implements Manager {
76
76
  * This ensures promises are resolved only once their data is processed
77
77
  * by the reducer.
78
78
  */
79
- protected throttle(key: string, fetch: () => Promise<any>, createdAt: number): Promise<any>;
79
+ protected throttle(key: string, fetch: () => Promise<any>, fetchedAt: number): Promise<any>;
80
+ /** Calls the callback when client is not 'busy' with high priority interaction tasks
81
+ *
82
+ * Override for platform-specific implementations
83
+ */
84
+ protected idleCallback(callback: (...args: any[]) => void, options?: IdleRequestOptions): void;
80
85
  }
81
86
  //# sourceMappingURL=NetworkManager.d.ts.map
@@ -3,10 +3,10 @@ export declare function expireReducer(state: State<unknown>, action: ExpireAllAc
3
3
  meta: {
4
4
  [x: string]: {
5
5
  readonly date: number;
6
- readonly error?: import("packages/normalizr/lib/index.js").ErrorTypes | undefined;
7
6
  readonly expiresAt: number;
8
- readonly prevExpiresAt?: number | undefined;
9
- readonly invalidated?: boolean | undefined;
7
+ readonly prevExpiresAt?: number;
8
+ readonly error?: import("packages/normalizr/lib/index.js").ErrorTypes;
9
+ readonly invalidated?: boolean;
10
10
  readonly errorPolicy?: "hard" | "soft" | undefined;
11
11
  };
12
12
  };
@@ -17,20 +17,18 @@ export declare function expireReducer(state: State<unknown>, action: ExpireAllAc
17
17
  };
18
18
  indexes: import("packages/normalizr/lib/interface.js").NormalizedIndex;
19
19
  endpoints: {
20
- readonly [key: string]: unknown;
20
+ readonly [key: string]: unknown | import("../../types.js").PK[] | import("../../types.js").PK | undefined;
21
21
  };
22
22
  entityMeta: {
23
23
  readonly [entityKey: string]: {
24
24
  readonly [pk: string]: {
25
+ readonly fetchedAt: number;
25
26
  readonly date: number;
26
27
  readonly expiresAt: number;
27
- readonly fetchedAt: number;
28
28
  };
29
29
  };
30
30
  };
31
- optimistic: (import("../../actions.js").SetResponseAction | import("../../actions.js").OptimisticAction<import("packages/normalizr/lib/index.js").EndpointInterface<import("packages/normalizr/lib/index.js").FetchFunction, import("packages/normalizr/lib/interface.js").Schema | undefined, boolean | undefined> & {
32
- update?: import("../../index.js").EndpointUpdateFunction<import("packages/normalizr/lib/index.js").EndpointInterface<import("packages/normalizr/lib/index.js").FetchFunction, import("packages/normalizr/lib/interface.js").Schema | undefined, boolean | undefined>> | undefined;
33
- }>)[];
31
+ optimistic: (import("../../actions.js").SetResponseAction | import("../../actions.js").OptimisticAction)[];
34
32
  lastReset: number;
35
33
  };
36
34
  //# sourceMappingURL=expireReducer.d.ts.map
@@ -6,10 +6,10 @@ export declare function invalidateReducer(state: State<unknown>, action: Invalid
6
6
  meta: {
7
7
  [x: string]: {
8
8
  readonly date: number;
9
- readonly error?: import("packages/normalizr/lib/index.js").ErrorTypes | undefined;
10
9
  readonly expiresAt: number;
11
- readonly prevExpiresAt?: number | undefined;
12
- readonly invalidated?: boolean | undefined;
10
+ readonly prevExpiresAt?: number;
11
+ readonly error?: import("packages/normalizr/lib/index.js").ErrorTypes;
12
+ readonly invalidated?: boolean;
13
13
  readonly errorPolicy?: "hard" | "soft" | undefined;
14
14
  };
15
15
  };
@@ -22,15 +22,13 @@ export declare function invalidateReducer(state: State<unknown>, action: Invalid
22
22
  entityMeta: {
23
23
  readonly [entityKey: string]: {
24
24
  readonly [pk: string]: {
25
+ readonly fetchedAt: number;
25
26
  readonly date: number;
26
27
  readonly expiresAt: number;
27
- readonly fetchedAt: number;
28
28
  };
29
29
  };
30
30
  };
31
- optimistic: (import("../../actions.js").SetResponseAction | import("../../actions.js").OptimisticAction<import("packages/normalizr/lib/index.js").EndpointInterface<import("packages/normalizr/lib/index.js").FetchFunction, import("packages/normalizr/lib/interface.js").Schema | undefined, boolean | undefined> & {
32
- update?: import("../../index.js").EndpointUpdateFunction<import("packages/normalizr/lib/index.js").EndpointInterface<import("packages/normalizr/lib/index.js").FetchFunction, import("packages/normalizr/lib/interface.js").Schema | undefined, boolean | undefined>> | undefined;
33
- }>)[];
31
+ optimistic: (import("../../actions.js").SetResponseAction | import("../../actions.js").OptimisticAction)[];
34
32
  lastReset: number;
35
33
  };
36
34
  //# sourceMappingURL=invalidateReducer.d.ts.map
@@ -1,3 +1,4 @@
1
+ import Controller from '../../controller/Controller.js';
1
2
  import { State, SetAction } from '../../types.js';
2
- export declare function setReducer(state: State<unknown>, action: SetAction): State<unknown>;
3
+ export declare function setReducer(state: State<unknown>, action: SetAction, controller: Controller): State<unknown>;
3
4
  //# sourceMappingURL=setReducer.d.ts.map
package/ts3.4/types.d.ts CHANGED
@@ -3,6 +3,7 @@ import { UpdateFunction, AbstractInstanceType } from '@data-client/normalizr';
3
3
  import { ErrorTypes } from '@data-client/normalizr';
4
4
  import { ActionTypes, SetResponseAction, OptimisticAction } from './actions.js';
5
5
  import { Dispatch, Middleware, MiddlewareAPI } from './middlewareTypes.js';
6
+ export * from './actions.js';
6
7
  export { AbstractInstanceType, UpdateFunction };
7
8
  export type PK = string;
8
9
  export interface State<T> {
@@ -18,9 +19,9 @@ export interface State<T> {
18
19
  readonly meta: {
19
20
  readonly [key: string]: {
20
21
  readonly date: number;
21
- readonly error?: ErrorTypes;
22
22
  readonly expiresAt: number;
23
23
  readonly prevExpiresAt?: number;
24
+ readonly error?: ErrorTypes;
24
25
  readonly invalidated?: boolean;
25
26
  readonly errorPolicy?: 'hard' | 'soft' | undefined;
26
27
  };
@@ -28,16 +29,15 @@ export interface State<T> {
28
29
  readonly entityMeta: {
29
30
  readonly [entityKey: string]: {
30
31
  readonly [pk: string]: {
32
+ readonly fetchedAt: number;
31
33
  readonly date: number;
32
34
  readonly expiresAt: number;
33
- readonly fetchedAt: number;
34
35
  };
35
36
  };
36
37
  };
37
38
  readonly optimistic: (SetResponseAction | OptimisticAction)[];
38
39
  readonly lastReset: number;
39
40
  }
40
- export * from './actions.js';
41
41
  export interface Manager<Actions = ActionTypes> {
42
42
  getMiddleware(): Middleware<Actions>;
43
43
  cleanup(): void;
@@ -1,8 +0,0 @@
1
- import { EXPIREALL_TYPE } from '../actionTypes.js';
2
- export default function createExpireAll(testKey) {
3
- return {
4
- type: EXPIREALL_TYPE,
5
- testKey
6
- };
7
- }
8
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJFWFBJUkVBTExfVFlQRSIsImNyZWF0ZUV4cGlyZUFsbCIsInRlc3RLZXkiLCJ0eXBlIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnRyb2xsZXIvY3JlYXRlRXhwaXJlQWxsLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVYUElSRUFMTF9UWVBFIH0gZnJvbSAnLi4vYWN0aW9uVHlwZXMuanMnO1xuaW1wb3J0IHR5cGUgeyBFeHBpcmVBbGxBY3Rpb24gfSBmcm9tICcuLi90eXBlcy5qcyc7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGNyZWF0ZUV4cGlyZUFsbChcbiAgdGVzdEtleTogKGtleTogc3RyaW5nKSA9PiBib29sZWFuLFxuKTogRXhwaXJlQWxsQWN0aW9uIHtcbiAgcmV0dXJuIHtcbiAgICB0eXBlOiBFWFBJUkVBTExfVFlQRSxcbiAgICB0ZXN0S2V5LFxuICB9O1xufVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxjQUFjLFFBQVEsbUJBQW1CO0FBR2xELGVBQWUsU0FBU0MsZUFBZUEsQ0FDckNDLE9BQWlDLEVBQ2hCO0VBQ2pCLE9BQU87SUFDTEMsSUFBSSxFQUFFSCxjQUFjO0lBQ3BCRTtFQUNGLENBQUM7QUFDSCIsImlnbm9yZUxpc3QiOltdfQ==
@@ -1,31 +0,0 @@
1
- import { FETCH_TYPE } from '../actionTypes.js';
2
- /**
3
- * Requesting a fetch to begin
4
- */
5
- export default function createFetch(endpoint, {
6
- args
7
- }) {
8
- const key = endpoint.key(...args);
9
- let resolve = 0;
10
- let reject = 0;
11
- const promise = new Promise((a, b) => {
12
- [resolve, reject] = [a, b];
13
- });
14
- const meta = {
15
- args,
16
- key,
17
- throttle: !endpoint.sideEffect,
18
- resolve,
19
- reject,
20
- promise,
21
- createdAt: Date.now(),
22
- nm: false
23
- };
24
- return {
25
- type: FETCH_TYPE,
26
- payload: () => endpoint(...args),
27
- meta,
28
- endpoint
29
- };
30
- }
31
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJGRVRDSF9UWVBFIiwiY3JlYXRlRmV0Y2giLCJlbmRwb2ludCIsImFyZ3MiLCJrZXkiLCJyZXNvbHZlIiwicmVqZWN0IiwicHJvbWlzZSIsIlByb21pc2UiLCJhIiwiYiIsIm1ldGEiLCJ0aHJvdHRsZSIsInNpZGVFZmZlY3QiLCJjcmVhdGVkQXQiLCJEYXRlIiwibm93Iiwibm0iLCJ0eXBlIiwicGF5bG9hZCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250cm9sbGVyL2NyZWF0ZUZldGNoLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRW5kcG9pbnRJbnRlcmZhY2UsIE5JIH0gZnJvbSAnQGRhdGEtY2xpZW50L25vcm1hbGl6cic7XG5cbmltcG9ydCB7IEVuZHBvaW50VXBkYXRlRnVuY3Rpb24gfSBmcm9tICcuL3R5cGVzLmpzJztcbmltcG9ydCB7IEZFVENIX1RZUEUgfSBmcm9tICcuLi9hY3Rpb25UeXBlcy5qcyc7XG5pbXBvcnQgdHlwZSB7IEZldGNoQWN0aW9uLCBGZXRjaE1ldGEgfSBmcm9tICcuLi90eXBlcy5qcyc7XG5cbi8qKlxuICogUmVxdWVzdGluZyBhIGZldGNoIHRvIGJlZ2luXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGNyZWF0ZUZldGNoPFxuICBFIGV4dGVuZHMgRW5kcG9pbnRJbnRlcmZhY2UgJiB7IHVwZGF0ZT86IEVuZHBvaW50VXBkYXRlRnVuY3Rpb248RT4gfSxcbj4oXG4gIGVuZHBvaW50OiBFLFxuICB7IGFyZ3MgfTogeyBhcmdzOiByZWFkb25seSBbLi4uUGFyYW1ldGVyczxFPl0gfSxcbik6IEZldGNoQWN0aW9uPEU+IHtcbiAgY29uc3Qga2V5ID0gZW5kcG9pbnQua2V5KC4uLmFyZ3MpO1xuICBsZXQgcmVzb2x2ZTogKHZhbHVlPzogYW55IHwgUHJvbWlzZUxpa2U8YW55PikgPT4gdm9pZCA9IDAgYXMgYW55O1xuICBsZXQgcmVqZWN0OiAocmVhc29uPzogYW55KSA9PiB2b2lkID0gMCBhcyBhbnk7XG4gIGNvbnN0IHByb21pc2UgPSBuZXcgUHJvbWlzZTxhbnk+KChhLCBiKSA9PiB7XG4gICAgW3Jlc29sdmUsIHJlamVjdF0gPSBbYSwgYl07XG4gIH0pO1xuICBjb25zdCBtZXRhOiBGZXRjaE1ldGE8dHlwZW9mIGFyZ3M+ID0ge1xuICAgIGFyZ3MsXG4gICAga2V5LFxuICAgIHRocm90dGxlOiAhZW5kcG9pbnQuc2lkZUVmZmVjdCxcbiAgICByZXNvbHZlLFxuICAgIHJlamVjdCxcbiAgICBwcm9taXNlLFxuICAgIGNyZWF0ZWRBdDogRGF0ZS5ub3coKSxcbiAgICBubTogZmFsc2UsXG4gIH07XG5cbiAgcmV0dXJuIHtcbiAgICB0eXBlOiBGRVRDSF9UWVBFLFxuICAgIHBheWxvYWQ6ICgpID0+IGVuZHBvaW50KC4uLmFyZ3MpIGFzIGFueSxcbiAgICBtZXRhLFxuICAgIGVuZHBvaW50LFxuICB9O1xufVxuIl0sIm1hcHBpbmdzIjoiQUFHQSxTQUFTQSxVQUFVLFFBQVEsbUJBQW1CO0FBRzlDO0FBQ0E7QUFDQTtBQUNBLGVBQWUsU0FBU0MsV0FBV0EsQ0FHakNDLFFBQVcsRUFDWDtFQUFFQztBQUE0QyxDQUFDLEVBQy9CO0VBQ2hCLE1BQU1DLEdBQUcsR0FBR0YsUUFBUSxDQUFDRSxHQUFHLENBQUMsR0FBR0QsSUFBSSxDQUFDO0VBQ2pDLElBQUlFLE9BQWlELEdBQUcsQ0FBUTtFQUNoRSxJQUFJQyxNQUE4QixHQUFHLENBQVE7RUFDN0MsTUFBTUMsT0FBTyxHQUFHLElBQUlDLE9BQU8sQ0FBTSxDQUFDQyxDQUFDLEVBQUVDLENBQUMsS0FBSztJQUN6QyxDQUFDTCxPQUFPLEVBQUVDLE1BQU0sQ0FBQyxHQUFHLENBQUNHLENBQUMsRUFBRUMsQ0FBQyxDQUFDO0VBQzVCLENBQUMsQ0FBQztFQUNGLE1BQU1DLElBQTRCLEdBQUc7SUFDbkNSLElBQUk7SUFDSkMsR0FBRztJQUNIUSxRQUFRLEVBQUUsQ0FBQ1YsUUFBUSxDQUFDVyxVQUFVO0lBQzlCUixPQUFPO0lBQ1BDLE1BQU07SUFDTkMsT0FBTztJQUNQTyxTQUFTLEVBQUVDLElBQUksQ0FBQ0MsR0FBRyxDQUFDLENBQUM7SUFDckJDLEVBQUUsRUFBRTtFQUNOLENBQUM7RUFFRCxPQUFPO0lBQ0xDLElBQUksRUFBRWxCLFVBQVU7SUFDaEJtQixPQUFPLEVBQUVBLENBQUEsS0FBTWpCLFFBQVEsQ0FBQyxHQUFHQyxJQUFJLENBQVE7SUFDdkNRLElBQUk7SUFDSlQ7RUFDRixDQUFDO0FBQ0giLCJpZ25vcmVMaXN0IjpbXX0=
@@ -1,12 +0,0 @@
1
- import { INVALIDATE_TYPE } from '../actionTypes.js';
2
- export default function createInvalidate(endpoint, {
3
- args
4
- }) {
5
- return {
6
- type: INVALIDATE_TYPE,
7
- meta: {
8
- key: endpoint.key(...args)
9
- }
10
- };
11
- }
12
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJJTlZBTElEQVRFX1RZUEUiLCJjcmVhdGVJbnZhbGlkYXRlIiwiZW5kcG9pbnQiLCJhcmdzIiwidHlwZSIsIm1ldGEiLCJrZXkiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvY29udHJvbGxlci9jcmVhdGVJbnZhbGlkYXRlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRW5kcG9pbnRJbnRlcmZhY2UgfSBmcm9tICdAZGF0YS1jbGllbnQvbm9ybWFsaXpyJztcblxuaW1wb3J0IHsgSU5WQUxJREFURV9UWVBFIH0gZnJvbSAnLi4vYWN0aW9uVHlwZXMuanMnO1xuaW1wb3J0IHR5cGUgeyBJbnZhbGlkYXRlQWN0aW9uIH0gZnJvbSAnLi4vdHlwZXMuanMnO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBjcmVhdGVJbnZhbGlkYXRlPEUgZXh0ZW5kcyBFbmRwb2ludEludGVyZmFjZT4oXG4gIGVuZHBvaW50OiBFLFxuICB7IGFyZ3MgfTogeyBhcmdzOiByZWFkb25seSBbLi4uUGFyYW1ldGVyczxFPl0gfSxcbik6IEludmFsaWRhdGVBY3Rpb24ge1xuICByZXR1cm4ge1xuICAgIHR5cGU6IElOVkFMSURBVEVfVFlQRSxcbiAgICBtZXRhOiB7XG4gICAgICBrZXk6IGVuZHBvaW50LmtleSguLi5hcmdzKSxcbiAgICB9LFxuICB9O1xufVxuIl0sIm1hcHBpbmdzIjoiQUFFQSxTQUFTQSxlQUFlLFFBQVEsbUJBQW1CO0FBR25ELGVBQWUsU0FBU0MsZ0JBQWdCQSxDQUN0Q0MsUUFBVyxFQUNYO0VBQUVDO0FBQTRDLENBQUMsRUFDN0I7RUFDbEIsT0FBTztJQUNMQyxJQUFJLEVBQUVKLGVBQWU7SUFDckJLLElBQUksRUFBRTtNQUNKQyxHQUFHLEVBQUVKLFFBQVEsQ0FBQ0ksR0FBRyxDQUFDLEdBQUdILElBQUk7SUFDM0I7RUFDRixDQUFDO0FBQ0giLCJpZ25vcmVMaXN0IjpbXX0=
@@ -1,8 +0,0 @@
1
- import { INVALIDATEALL_TYPE } from '../actionTypes.js';
2
- export default function createInvalidateAll(testKey) {
3
- return {
4
- type: INVALIDATEALL_TYPE,
5
- testKey
6
- };
7
- }
8
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJJTlZBTElEQVRFQUxMX1RZUEUiLCJjcmVhdGVJbnZhbGlkYXRlQWxsIiwidGVzdEtleSIsInR5cGUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvY29udHJvbGxlci9jcmVhdGVJbnZhbGlkYXRlQWxsLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElOVkFMSURBVEVBTExfVFlQRSB9IGZyb20gJy4uL2FjdGlvblR5cGVzLmpzJztcbmltcG9ydCB0eXBlIHsgSW52YWxpZGF0ZUFsbEFjdGlvbiB9IGZyb20gJy4uL3R5cGVzLmpzJztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gY3JlYXRlSW52YWxpZGF0ZUFsbChcbiAgdGVzdEtleTogKGtleTogc3RyaW5nKSA9PiBib29sZWFuLFxuKTogSW52YWxpZGF0ZUFsbEFjdGlvbiB7XG4gIHJldHVybiB7XG4gICAgdHlwZTogSU5WQUxJREFURUFMTF9UWVBFLFxuICAgIHRlc3RLZXksXG4gIH07XG59XG4iXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLGtCQUFrQixRQUFRLG1CQUFtQjtBQUd0RCxlQUFlLFNBQVNDLG1CQUFtQkEsQ0FDekNDLE9BQWlDLEVBQ1o7RUFDckIsT0FBTztJQUNMQyxJQUFJLEVBQUVILGtCQUFrQjtJQUN4QkU7RUFDRixDQUFDO0FBQ0giLCJpZ25vcmVMaXN0IjpbXX0=
@@ -1,27 +0,0 @@
1
- import { OPTIMISTIC_TYPE } from '../actionTypes.js';
2
- export default function createOptimistic(endpoint, {
3
- args,
4
- fetchedAt
5
- }) {
6
- var _endpoint$dataExpiryL;
7
- const expiryLength = (_endpoint$dataExpiryL = endpoint.dataExpiryLength) != null ? _endpoint$dataExpiryL : 60000;
8
- /* istanbul ignore next */
9
- if (process.env.NODE_ENV === 'development' && expiryLength < 0) {
10
- throw new Error('Negative expiry length are not allowed.');
11
- }
12
- const now = Date.now();
13
- const meta = {
14
- args,
15
- fetchedAt,
16
- date: now,
17
- expiresAt: now + expiryLength,
18
- key: endpoint.key(...args)
19
- };
20
- const action = {
21
- type: OPTIMISTIC_TYPE,
22
- endpoint,
23
- meta
24
- };
25
- return action;
26
- }
27
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJPUFRJTUlTVElDX1RZUEUiLCJjcmVhdGVPcHRpbWlzdGljIiwiZW5kcG9pbnQiLCJhcmdzIiwiZmV0Y2hlZEF0IiwiX2VuZHBvaW50JGRhdGFFeHBpcnlMIiwiZXhwaXJ5TGVuZ3RoIiwiZGF0YUV4cGlyeUxlbmd0aCIsInByb2Nlc3MiLCJlbnYiLCJOT0RFX0VOViIsIkVycm9yIiwibm93IiwiRGF0ZSIsIm1ldGEiLCJkYXRlIiwiZXhwaXJlc0F0Iiwia2V5IiwiYWN0aW9uIiwidHlwZSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250cm9sbGVyL2NyZWF0ZU9wdGltaXN0aWMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBFbmRwb2ludEludGVyZmFjZSB9IGZyb20gJ0BkYXRhLWNsaWVudC9ub3JtYWxpenInO1xuXG5pbXBvcnQgdHlwZSB7IEVuZHBvaW50VXBkYXRlRnVuY3Rpb24gfSBmcm9tICcuL3R5cGVzLmpzJztcbmltcG9ydCB7IE9QVElNSVNUSUNfVFlQRSB9IGZyb20gJy4uL2FjdGlvblR5cGVzLmpzJztcbmltcG9ydCB0eXBlIHsgT3B0aW1pc3RpY0FjdGlvbiB9IGZyb20gJy4uL3R5cGVzLmpzJztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gY3JlYXRlT3B0aW1pc3RpYzxcbiAgRSBleHRlbmRzIEVuZHBvaW50SW50ZXJmYWNlICYge1xuICAgIHVwZGF0ZT86IEVuZHBvaW50VXBkYXRlRnVuY3Rpb248RT47XG4gIH0sXG4+KFxuICBlbmRwb2ludDogRSxcbiAge1xuICAgIGFyZ3MsXG4gICAgZmV0Y2hlZEF0LFxuICB9OiB7XG4gICAgYXJnczogcmVhZG9ubHkgWy4uLlBhcmFtZXRlcnM8RT5dO1xuICAgIGZldGNoZWRBdDogbnVtYmVyO1xuICB9LFxuKTogT3B0aW1pc3RpY0FjdGlvbjxFPiB7XG4gIGNvbnN0IGV4cGlyeUxlbmd0aDogbnVtYmVyID0gZW5kcG9pbnQuZGF0YUV4cGlyeUxlbmd0aCA/PyA2MDAwMDtcbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSAnZGV2ZWxvcG1lbnQnICYmIGV4cGlyeUxlbmd0aCA8IDApIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ05lZ2F0aXZlIGV4cGlyeSBsZW5ndGggYXJlIG5vdCBhbGxvd2VkLicpO1xuICB9XG4gIGNvbnN0IG5vdyA9IERhdGUubm93KCk7XG4gIGNvbnN0IG1ldGE6IE9wdGltaXN0aWNBY3Rpb25bJ21ldGEnXSA9IHtcbiAgICBhcmdzLFxuICAgIGZldGNoZWRBdCxcbiAgICBkYXRlOiBub3csXG4gICAgZXhwaXJlc0F0OiBub3cgKyBleHBpcnlMZW5ndGgsXG4gICAga2V5OiBlbmRwb2ludC5rZXkoLi4uYXJncyksXG4gIH07XG5cbiAgY29uc3QgYWN0aW9uOiBPcHRpbWlzdGljQWN0aW9uPEU+ID0ge1xuICAgIHR5cGU6IE9QVElNSVNUSUNfVFlQRSxcbiAgICBlbmRwb2ludCxcbiAgICBtZXRhLFxuICB9O1xuICByZXR1cm4gYWN0aW9uO1xufVxuIl0sIm1hcHBpbmdzIjoiQUFHQSxTQUFTQSxlQUFlLFFBQVEsbUJBQW1CO0FBR25ELGVBQWUsU0FBU0MsZ0JBQWdCQSxDQUt0Q0MsUUFBVyxFQUNYO0VBQ0VDLElBQUk7RUFDSkM7QUFJRixDQUFDLEVBQ29CO0VBQUEsSUFBQUMscUJBQUE7RUFDckIsTUFBTUMsWUFBb0IsSUFBQUQscUJBQUEsR0FBR0gsUUFBUSxDQUFDSyxnQkFBZ0IsWUFBQUYscUJBQUEsR0FBSSxLQUFLO0VBQy9EO0VBQ0EsSUFBSUcsT0FBTyxDQUFDQyxHQUFHLENBQUNDLFFBQVEsS0FBSyxhQUFhLElBQUlKLFlBQVksR0FBRyxDQUFDLEVBQUU7SUFDOUQsTUFBTSxJQUFJSyxLQUFLLENBQUMseUNBQXlDLENBQUM7RUFDNUQ7RUFDQSxNQUFNQyxHQUFHLEdBQUdDLElBQUksQ0FBQ0QsR0FBRyxDQUFDLENBQUM7RUFDdEIsTUFBTUUsSUFBOEIsR0FBRztJQUNyQ1gsSUFBSTtJQUNKQyxTQUFTO0lBQ1RXLElBQUksRUFBRUgsR0FBRztJQUNUSSxTQUFTLEVBQUVKLEdBQUcsR0FBR04sWUFBWTtJQUM3QlcsR0FBRyxFQUFFZixRQUFRLENBQUNlLEdBQUcsQ0FBQyxHQUFHZCxJQUFJO0VBQzNCLENBQUM7RUFFRCxNQUFNZSxNQUEyQixHQUFHO0lBQ2xDQyxJQUFJLEVBQUVuQixlQUFlO0lBQ3JCRSxRQUFRO0lBQ1JZO0VBQ0YsQ0FBQztFQUNELE9BQU9JLE1BQU07QUFDZiIsImlnbm9yZUxpc3QiOltdfQ==
@@ -1,8 +0,0 @@
1
- import { RESET_TYPE } from '../actionTypes.js';
2
- export default function createReset() {
3
- return {
4
- type: RESET_TYPE,
5
- date: Date.now()
6
- };
7
- }
8
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSRVNFVF9UWVBFIiwiY3JlYXRlUmVzZXQiLCJ0eXBlIiwiZGF0ZSIsIkRhdGUiLCJub3ciXSwic291cmNlcyI6WyIuLi8uLi9zcmMvY29udHJvbGxlci9jcmVhdGVSZXNldC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSRVNFVF9UWVBFIH0gZnJvbSAnLi4vYWN0aW9uVHlwZXMuanMnO1xuaW1wb3J0IHR5cGUgeyBSZXNldEFjdGlvbiB9IGZyb20gJy4uL3R5cGVzLmpzJztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gY3JlYXRlUmVzZXQoKTogUmVzZXRBY3Rpb24ge1xuICByZXR1cm4ge1xuICAgIHR5cGU6IFJFU0VUX1RZUEUsXG4gICAgZGF0ZTogRGF0ZS5ub3coKSxcbiAgfTtcbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsVUFBVSxRQUFRLG1CQUFtQjtBQUc5QyxlQUFlLFNBQVNDLFdBQVdBLENBQUEsRUFBZ0I7RUFDakQsT0FBTztJQUNMQyxJQUFJLEVBQUVGLFVBQVU7SUFDaEJHLElBQUksRUFBRUMsSUFBSSxDQUFDQyxHQUFHLENBQUM7RUFDakIsQ0FBQztBQUNIIiwiaWdub3JlTGlzdCI6W119