@data-client/core 0.1.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 (308) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +71 -0
  3. package/dist/index.js +1643 -0
  4. package/dist/index.umd.min.js +1 -0
  5. package/dist/next.js +461 -0
  6. package/dist/package.json +1 -0
  7. package/legacy/actionTypes.js +12 -0
  8. package/legacy/compatibleActions.js +2 -0
  9. package/legacy/controller/BaseController.js +289 -0
  10. package/legacy/controller/Controller.js +20 -0
  11. package/legacy/controller/createFetch.js +42 -0
  12. package/legacy/controller/createInvalidate.js +12 -0
  13. package/legacy/controller/createInvalidateAll.js +8 -0
  14. package/legacy/controller/createOptimistic.js +33 -0
  15. package/legacy/controller/createReceive.js +36 -0
  16. package/legacy/controller/createReset.js +8 -0
  17. package/legacy/controller/createSubscription.js +30 -0
  18. package/legacy/controller/types.js +2 -0
  19. package/legacy/endpoint/index.js +2 -0
  20. package/legacy/endpoint/shapes.js +2 -0
  21. package/legacy/endpoint/types.js +2 -0
  22. package/legacy/fsa.js +2 -0
  23. package/legacy/index.js +22 -0
  24. package/legacy/internal.js +4 -0
  25. package/legacy/legacyActions.js +2 -0
  26. package/legacy/manager/ConnectionListener.js +2 -0
  27. package/legacy/manager/DefaultConnectionListener.js +40 -0
  28. package/legacy/manager/DevtoolsManager.js +73 -0
  29. package/legacy/manager/LogoutManager.js +34 -0
  30. package/legacy/manager/NetworkManager.js +291 -0
  31. package/legacy/manager/PollingSubscription.js +159 -0
  32. package/legacy/manager/SubscriptionManager.js +117 -0
  33. package/legacy/manager/applyManager.js +23 -0
  34. package/legacy/manager/devtoolsTypes.js +2 -0
  35. package/legacy/manager/index.js +6 -0
  36. package/legacy/middlewareTypes.js +2 -0
  37. package/legacy/newActions.js +2 -0
  38. package/legacy/next/Controller.js +24 -0
  39. package/legacy/next/index.js +3 -0
  40. package/legacy/previousActions.js +2 -0
  41. package/legacy/state/RIC.js +3 -0
  42. package/legacy/state/applyUpdatersToResults.js +4 -0
  43. package/legacy/state/legacy-actions/createFetch.js +62 -0
  44. package/legacy/state/legacy-actions/createReceive.js +37 -0
  45. package/legacy/state/legacy-actions/createReceiveError.js +28 -0
  46. package/legacy/state/legacy-actions/index.js +4 -0
  47. package/legacy/state/reducer/createReducer.js +54 -0
  48. package/legacy/state/reducer/fetchReducer.js +32 -0
  49. package/legacy/state/reducer/invalidateReducer.js +28 -0
  50. package/legacy/state/reducer/setReducer.js +113 -0
  51. package/legacy/state/reducerInstance.js +9 -0
  52. package/legacy/state/selectMeta.js +4 -0
  53. package/legacy/types.js +8 -0
  54. package/lib/actionTypes.d.ts +11 -0
  55. package/lib/actionTypes.d.ts.map +1 -0
  56. package/lib/actionTypes.js +12 -0
  57. package/lib/compatibleActions.d.ts +47 -0
  58. package/lib/compatibleActions.d.ts.map +1 -0
  59. package/lib/compatibleActions.js +2 -0
  60. package/lib/controller/BaseController.d.ts +128 -0
  61. package/lib/controller/BaseController.d.ts.map +1 -0
  62. package/lib/controller/BaseController.js +289 -0
  63. package/lib/controller/Controller.d.ts +14 -0
  64. package/lib/controller/Controller.d.ts.map +1 -0
  65. package/lib/controller/Controller.js +20 -0
  66. package/lib/controller/createFetch.d.ts +12 -0
  67. package/lib/controller/createFetch.d.ts.map +1 -0
  68. package/lib/controller/createFetch.js +42 -0
  69. package/lib/controller/createInvalidate.d.ts +6 -0
  70. package/lib/controller/createInvalidate.d.ts.map +1 -0
  71. package/lib/controller/createInvalidate.js +12 -0
  72. package/lib/controller/createInvalidateAll.d.ts +3 -0
  73. package/lib/controller/createInvalidateAll.d.ts.map +1 -0
  74. package/lib/controller/createInvalidateAll.js +8 -0
  75. package/lib/controller/createOptimistic.d.ts +10 -0
  76. package/lib/controller/createOptimistic.d.ts.map +1 -0
  77. package/lib/controller/createOptimistic.js +33 -0
  78. package/lib/controller/createReceive.d.ts +20 -0
  79. package/lib/controller/createReceive.d.ts.map +1 -0
  80. package/lib/controller/createReceive.js +36 -0
  81. package/lib/controller/createReset.d.ts +3 -0
  82. package/lib/controller/createReset.d.ts.map +1 -0
  83. package/lib/controller/createReset.js +8 -0
  84. package/lib/controller/createSubscription.d.ts +9 -0
  85. package/lib/controller/createSubscription.d.ts.map +1 -0
  86. package/lib/controller/createSubscription.js +30 -0
  87. package/lib/controller/types.d.ts +6 -0
  88. package/lib/controller/types.d.ts.map +1 -0
  89. package/lib/controller/types.js +2 -0
  90. package/lib/endpoint/index.d.ts +3 -0
  91. package/lib/endpoint/index.d.ts.map +1 -0
  92. package/lib/endpoint/index.js +2 -0
  93. package/lib/endpoint/shapes.d.ts +25 -0
  94. package/lib/endpoint/shapes.d.ts.map +1 -0
  95. package/lib/endpoint/shapes.js +2 -0
  96. package/lib/endpoint/types.d.ts +45 -0
  97. package/lib/endpoint/types.d.ts.map +1 -0
  98. package/lib/endpoint/types.js +2 -0
  99. package/lib/fsa.d.ts +41 -0
  100. package/lib/fsa.d.ts.map +1 -0
  101. package/lib/fsa.js +2 -0
  102. package/lib/index.d.ts +19 -0
  103. package/lib/index.d.ts.map +1 -0
  104. package/lib/index.js +22 -0
  105. package/lib/internal.d.ts +4 -0
  106. package/lib/internal.d.ts.map +1 -0
  107. package/lib/internal.js +4 -0
  108. package/lib/legacyActions.d.ts +92 -0
  109. package/lib/legacyActions.d.ts.map +1 -0
  110. package/lib/legacyActions.js +2 -0
  111. package/lib/manager/ConnectionListener.d.ts +8 -0
  112. package/lib/manager/ConnectionListener.d.ts.map +1 -0
  113. package/lib/manager/ConnectionListener.js +2 -0
  114. package/lib/manager/DefaultConnectionListener.d.ts +20 -0
  115. package/lib/manager/DefaultConnectionListener.d.ts.map +1 -0
  116. package/lib/manager/DefaultConnectionListener.js +40 -0
  117. package/lib/manager/DevtoolsManager.d.ts +24 -0
  118. package/lib/manager/DevtoolsManager.d.ts.map +1 -0
  119. package/lib/manager/DevtoolsManager.js +74 -0
  120. package/lib/manager/LogoutManager.d.ts +25 -0
  121. package/lib/manager/LogoutManager.d.ts.map +1 -0
  122. package/lib/manager/LogoutManager.js +34 -0
  123. package/lib/manager/NetworkManager.d.ts +82 -0
  124. package/lib/manager/NetworkManager.d.ts.map +1 -0
  125. package/lib/manager/NetworkManager.js +295 -0
  126. package/lib/manager/PollingSubscription.d.ts +45 -0
  127. package/lib/manager/PollingSubscription.d.ts.map +1 -0
  128. package/lib/manager/PollingSubscription.js +159 -0
  129. package/lib/manager/SubscriptionManager.d.ts +55 -0
  130. package/lib/manager/SubscriptionManager.d.ts.map +1 -0
  131. package/lib/manager/SubscriptionManager.js +117 -0
  132. package/lib/manager/applyManager.d.ts +10 -0
  133. package/lib/manager/applyManager.d.ts.map +1 -0
  134. package/lib/manager/applyManager.js +23 -0
  135. package/lib/manager/devtoolsTypes.d.ts +205 -0
  136. package/lib/manager/devtoolsTypes.d.ts.map +1 -0
  137. package/lib/manager/devtoolsTypes.js +2 -0
  138. package/lib/manager/index.d.ts +8 -0
  139. package/lib/manager/index.d.ts.map +1 -0
  140. package/lib/manager/index.js +6 -0
  141. package/lib/middlewareTypes.d.ts +18 -0
  142. package/lib/middlewareTypes.d.ts.map +1 -0
  143. package/lib/middlewareTypes.js +2 -0
  144. package/lib/newActions.d.ts +85 -0
  145. package/lib/newActions.d.ts.map +1 -0
  146. package/lib/newActions.js +2 -0
  147. package/lib/next/Controller.d.ts +14 -0
  148. package/lib/next/Controller.d.ts.map +1 -0
  149. package/lib/next/Controller.js +24 -0
  150. package/lib/next/index.d.ts +3 -0
  151. package/lib/next/index.d.ts.map +1 -0
  152. package/lib/next/index.js +3 -0
  153. package/lib/previousActions.d.ts +91 -0
  154. package/lib/previousActions.d.ts.map +1 -0
  155. package/lib/previousActions.js +2 -0
  156. package/lib/state/RIC.d.ts +2 -0
  157. package/lib/state/RIC.js +3 -0
  158. package/lib/state/applyUpdatersToResults.d.ts +13 -0
  159. package/lib/state/applyUpdatersToResults.d.ts.map +1 -0
  160. package/lib/state/applyUpdatersToResults.js +7 -0
  161. package/lib/state/legacy-actions/createFetch.d.ts +19 -0
  162. package/lib/state/legacy-actions/createFetch.d.ts.map +1 -0
  163. package/lib/state/legacy-actions/createFetch.js +62 -0
  164. package/lib/state/legacy-actions/createReceive.d.ts +14 -0
  165. package/lib/state/legacy-actions/createReceive.d.ts.map +1 -0
  166. package/lib/state/legacy-actions/createReceive.js +37 -0
  167. package/lib/state/legacy-actions/createReceiveError.d.ts +9 -0
  168. package/lib/state/legacy-actions/createReceiveError.d.ts.map +1 -0
  169. package/lib/state/legacy-actions/createReceiveError.js +28 -0
  170. package/lib/state/legacy-actions/index.d.ts +4 -0
  171. package/lib/state/legacy-actions/index.d.ts.map +1 -0
  172. package/lib/state/legacy-actions/index.js +4 -0
  173. package/lib/state/reducer/createReducer.d.ts +7 -0
  174. package/lib/state/reducer/createReducer.d.ts.map +1 -0
  175. package/lib/state/reducer/createReducer.js +55 -0
  176. package/lib/state/reducer/fetchReducer.d.ts +4 -0
  177. package/lib/state/reducer/fetchReducer.d.ts.map +1 -0
  178. package/lib/state/reducer/fetchReducer.js +34 -0
  179. package/lib/state/reducer/invalidateReducer.d.ts +37 -0
  180. package/lib/state/reducer/invalidateReducer.d.ts.map +1 -0
  181. package/lib/state/reducer/invalidateReducer.js +34 -0
  182. package/lib/state/reducer/setReducer.d.ts +40 -0
  183. package/lib/state/reducer/setReducer.d.ts.map +1 -0
  184. package/lib/state/reducer/setReducer.js +119 -0
  185. package/lib/state/reducerInstance.d.ts +7 -0
  186. package/lib/state/reducerInstance.d.ts.map +1 -0
  187. package/lib/state/reducerInstance.js +9 -0
  188. package/lib/state/selectMeta.d.ts +3 -0
  189. package/lib/state/selectMeta.d.ts.map +1 -0
  190. package/lib/state/selectMeta.js +4 -0
  191. package/lib/types.d.ts +71 -0
  192. package/lib/types.d.ts.map +1 -0
  193. package/lib/types.js +8 -0
  194. package/node.mjs +1 -0
  195. package/package.json +127 -0
  196. package/src/actionTypes.ts +11 -0
  197. package/src/compatibleActions.ts +96 -0
  198. package/src/controller/BaseController.ts +508 -0
  199. package/src/controller/Controller.ts +32 -0
  200. package/src/controller/__tests__/Controller.ts +29 -0
  201. package/src/controller/__tests__/__snapshots__/getResponse.ts.snap +35 -0
  202. package/src/controller/__tests__/getResponse.ts +182 -0
  203. package/src/controller/createFetch.ts +54 -0
  204. package/src/controller/createInvalidate.ts +16 -0
  205. package/src/controller/createInvalidateAll.ts +11 -0
  206. package/src/controller/createOptimistic.ts +47 -0
  207. package/src/controller/createReceive.ts +85 -0
  208. package/src/controller/createReset.ts +9 -0
  209. package/src/controller/createSubscription.ts +39 -0
  210. package/src/controller/types.ts +22 -0
  211. package/src/endpoint/index.ts +14 -0
  212. package/src/endpoint/shapes.ts +53 -0
  213. package/src/endpoint/types.ts +72 -0
  214. package/src/fsa.ts +99 -0
  215. package/src/index.ts +61 -0
  216. package/src/internal.ts +3 -0
  217. package/src/legacyActions.ts +163 -0
  218. package/src/manager/ConnectionListener.ts +7 -0
  219. package/src/manager/DefaultConnectionListener.ts +54 -0
  220. package/src/manager/DevtoolsManager.ts +99 -0
  221. package/src/manager/LogoutManager.ts +57 -0
  222. package/src/manager/NetworkManager.ts +346 -0
  223. package/src/manager/PollingSubscription.ts +190 -0
  224. package/src/manager/SubscriptionManager.ts +156 -0
  225. package/src/manager/__tests__/__snapshots__/pollingSubscription-endpoint.ts.snap +49 -0
  226. package/src/manager/__tests__/__snapshots__/pollingSubscription.ts.snap +43 -0
  227. package/src/manager/__tests__/logoutManager.ts +112 -0
  228. package/src/manager/__tests__/manager.ts +44 -0
  229. package/src/manager/__tests__/networkManager-legacy.ts +394 -0
  230. package/src/manager/__tests__/networkManager.ts +426 -0
  231. package/src/manager/__tests__/pollingSubscription-endpoint.ts +423 -0
  232. package/src/manager/__tests__/pollingSubscription.ts +313 -0
  233. package/src/manager/__tests__/subscriptionManager.ts +208 -0
  234. package/src/manager/applyManager.ts +33 -0
  235. package/src/manager/devtoolsTypes.ts +210 -0
  236. package/src/manager/index.ts +7 -0
  237. package/src/middlewareTypes.ts +49 -0
  238. package/src/newActions.ts +140 -0
  239. package/src/next/Controller.ts +39 -0
  240. package/src/next/index.ts +2 -0
  241. package/src/package.json +1 -0
  242. package/src/previousActions.ts +159 -0
  243. package/src/state/RIC.d.ts +2 -0
  244. package/src/state/RIC.js +5 -0
  245. package/src/state/__tests__/RIC.web.ts +16 -0
  246. package/src/state/__tests__/__snapshots__/reducer.ts.snap +56 -0
  247. package/src/state/__tests__/applyUpdatersToResults.ts +40 -0
  248. package/src/state/__tests__/reducer.ts +868 -0
  249. package/src/state/applyUpdatersToResults.ts +29 -0
  250. package/src/state/legacy-actions/createFetch.ts +95 -0
  251. package/src/state/legacy-actions/createReceive.ts +68 -0
  252. package/src/state/legacy-actions/createReceiveError.ts +43 -0
  253. package/src/state/legacy-actions/index.ts +3 -0
  254. package/src/state/reducer/createReducer.ts +80 -0
  255. package/src/state/reducer/fetchReducer.ts +48 -0
  256. package/src/state/reducer/invalidateReducer.ts +39 -0
  257. package/src/state/reducer/setReducer.ts +157 -0
  258. package/src/state/reducerInstance.ts +14 -0
  259. package/src/state/selectMeta.ts +8 -0
  260. package/src/types.ts +125 -0
  261. package/ts3.4/actionTypes.d.ts +11 -0
  262. package/ts3.4/compatibleActions.d.ts +47 -0
  263. package/ts3.4/controller/BaseController.d.ts +170 -0
  264. package/ts3.4/controller/Controller.d.ts +14 -0
  265. package/ts3.4/controller/createFetch.d.ts +14 -0
  266. package/ts3.4/controller/createInvalidate.d.ts +8 -0
  267. package/ts3.4/controller/createInvalidateAll.d.ts +3 -0
  268. package/ts3.4/controller/createOptimistic.d.ts +12 -0
  269. package/ts3.4/controller/createReceive.d.ts +24 -0
  270. package/ts3.4/controller/createReset.d.ts +3 -0
  271. package/ts3.4/controller/createSubscription.d.ts +13 -0
  272. package/ts3.4/controller/types.d.ts +6 -0
  273. package/ts3.4/endpoint/index.d.ts +3 -0
  274. package/ts3.4/endpoint/shapes.d.ts +25 -0
  275. package/ts3.4/endpoint/types.d.ts +45 -0
  276. package/ts3.4/fsa.d.ts +41 -0
  277. package/ts3.4/index.d.ts +22 -0
  278. package/ts3.4/internal.d.ts +4 -0
  279. package/ts3.4/legacyActions.d.ts +95 -0
  280. package/ts3.4/manager/ConnectionListener.d.ts +8 -0
  281. package/ts3.4/manager/DefaultConnectionListener.d.ts +20 -0
  282. package/ts3.4/manager/DevtoolsManager.d.ts +24 -0
  283. package/ts3.4/manager/LogoutManager.d.ts +25 -0
  284. package/ts3.4/manager/NetworkManager.d.ts +82 -0
  285. package/ts3.4/manager/PollingSubscription.d.ts +45 -0
  286. package/ts3.4/manager/SubscriptionManager.d.ts +55 -0
  287. package/ts3.4/manager/applyManager.d.ts +10 -0
  288. package/ts3.4/manager/devtoolsTypes.d.ts +205 -0
  289. package/ts3.4/manager/index.d.ts +8 -0
  290. package/ts3.4/middlewareTypes.d.ts +18 -0
  291. package/ts3.4/newActions.d.ts +88 -0
  292. package/ts3.4/next/Controller.d.ts +14 -0
  293. package/ts3.4/next/index.d.ts +3 -0
  294. package/ts3.4/previousActions.d.ts +94 -0
  295. package/ts3.4/state/RIC.d.ts +2 -0
  296. package/ts3.4/state/applyUpdatersToResults.d.ts +13 -0
  297. package/ts3.4/state/legacy-actions/createFetch.d.ts +19 -0
  298. package/ts3.4/state/legacy-actions/createReceive.d.ts +14 -0
  299. package/ts3.4/state/legacy-actions/createReceiveError.d.ts +9 -0
  300. package/ts3.4/state/legacy-actions/index.d.ts +4 -0
  301. package/ts3.4/state/reducer/createReducer.d.ts +7 -0
  302. package/ts3.4/state/reducer/fetchReducer.d.ts +4 -0
  303. package/ts3.4/state/reducer/invalidateReducer.d.ts +37 -0
  304. package/ts3.4/state/reducer/setReducer.d.ts +40 -0
  305. package/ts3.4/state/reducerInstance.d.ts +7 -0
  306. package/ts3.4/state/selectMeta.d.ts +3 -0
  307. package/ts3.4/types.d.ts +73 -0
  308. package/typescript.svg +8 -0
@@ -0,0 +1,4 @@
1
+ export { default as createFetch } from './createFetch.js';
2
+ export { default as createReceive } from './createReceive.js';
3
+ export { default as createReceiveError } from './createReceiveError.js';
4
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJkZWZhdWx0IiwiY3JlYXRlRmV0Y2giLCJjcmVhdGVSZWNlaXZlIiwiY3JlYXRlUmVjZWl2ZUVycm9yIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3N0YXRlL2xlZ2FjeS1hY3Rpb25zL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IGRlZmF1bHQgYXMgY3JlYXRlRmV0Y2ggfSBmcm9tICcuL2NyZWF0ZUZldGNoLmpzJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgY3JlYXRlUmVjZWl2ZSB9IGZyb20gJy4vY3JlYXRlUmVjZWl2ZS5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGNyZWF0ZVJlY2VpdmVFcnJvciB9IGZyb20gJy4vY3JlYXRlUmVjZWl2ZUVycm9yLmpzJztcbiJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsT0FBTyxJQUFJQyxXQUFXLFFBQVEsa0JBQWtCO0FBQ3pELFNBQVNELE9BQU8sSUFBSUUsYUFBYSxRQUFRLG9CQUFvQjtBQUM3RCxTQUFTRixPQUFPLElBQUlHLGtCQUFrQixRQUFRLHlCQUF5QiJ9
@@ -0,0 +1,54 @@
1
+ import { fetchReducer } from './fetchReducer.js';
2
+ import { invalidateReducer } from './invalidateReducer.js';
3
+ import { setReducer } from './setReducer.js';
4
+ import { SET_TYPE, INVALIDATE_TYPE, RESET_TYPE, FETCH_TYPE, GC_TYPE, OPTIMISTIC_TYPE, INVALIDATEALL_TYPE } from '../../actionTypes.js';
5
+ export default function createReducer(controller) {
6
+ return function reducer(state, action) {
7
+ var _action$date;
8
+ if (!state) state = initialState;
9
+ switch (action.type) {
10
+ case GC_TYPE:
11
+ // inline deletes are fine as these should have 0 refcounts
12
+ action.entities.forEach(([key, pk]) => {
13
+ var _entities$key, _entityMeta$key;
14
+ (_entities$key = state.entities[key]) == null ? true : delete _entities$key[pk];
15
+ (_entityMeta$key = state.entityMeta[key]) == null ? true : delete _entityMeta$key[pk];
16
+ });
17
+ action.results.forEach(fetchKey => {
18
+ delete state.results[fetchKey];
19
+ delete state.meta[fetchKey];
20
+ });
21
+ return state;
22
+ case FETCH_TYPE:
23
+ return fetchReducer(state, action);
24
+ case OPTIMISTIC_TYPE:
25
+ // eslint-disable-next-line no-fallthrough
26
+ case SET_TYPE:
27
+ return setReducer(state, action, controller);
28
+ case INVALIDATEALL_TYPE:
29
+ case INVALIDATE_TYPE:
30
+ return invalidateReducer(state, action);
31
+ case RESET_TYPE:
32
+ if (process.env.NODE_ENV !== 'production' && action.date === undefined) {
33
+ console.warn(`${RESET_TYPE} sent without 'date' member. This is deprecated. Please use createReset() action creator to ensure correct action shape.`);
34
+ }
35
+ return Object.assign({}, initialState, {
36
+ lastReset: (_action$date = action.date) != null ? _action$date : Date.now()
37
+ });
38
+ default:
39
+ // A reducer must always return a valid state.
40
+ // Alternatively you can throw an error if an invalid action is dispatched.
41
+ return state;
42
+ }
43
+ };
44
+ }
45
+ export const initialState = {
46
+ entities: {},
47
+ indexes: {},
48
+ results: {},
49
+ meta: {},
50
+ entityMeta: {},
51
+ optimistic: [],
52
+ lastReset: 0
53
+ };
54
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJmZXRjaFJlZHVjZXIiLCJpbnZhbGlkYXRlUmVkdWNlciIsInNldFJlZHVjZXIiLCJTRVRfVFlQRSIsIklOVkFMSURBVEVfVFlQRSIsIlJFU0VUX1RZUEUiLCJGRVRDSF9UWVBFIiwiR0NfVFlQRSIsIk9QVElNSVNUSUNfVFlQRSIsIklOVkFMSURBVEVBTExfVFlQRSIsImNyZWF0ZVJlZHVjZXIiLCJjb250cm9sbGVyIiwicmVkdWNlciIsInN0YXRlIiwiYWN0aW9uIiwiX2FjdGlvbiRkYXRlIiwiaW5pdGlhbFN0YXRlIiwidHlwZSIsImVudGl0aWVzIiwiZm9yRWFjaCIsImtleSIsInBrIiwiX2VudGl0aWVzJGtleSIsIl9lbnRpdHlNZXRhJGtleSIsImVudGl0eU1ldGEiLCJyZXN1bHRzIiwiZmV0Y2hLZXkiLCJtZXRhIiwicHJvY2VzcyIsImVudiIsIk5PREVfRU5WIiwiZGF0ZSIsInVuZGVmaW5lZCIsImNvbnNvbGUiLCJ3YXJuIiwiT2JqZWN0IiwiYXNzaWduIiwibGFzdFJlc2V0IiwiRGF0ZSIsIm5vdyIsImluZGV4ZXMiLCJvcHRpbWlzdGljIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3N0YXRlL3JlZHVjZXIvY3JlYXRlUmVkdWNlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmZXRjaFJlZHVjZXIgfSBmcm9tICcuL2ZldGNoUmVkdWNlci5qcyc7XG5pbXBvcnQgeyBpbnZhbGlkYXRlUmVkdWNlciB9IGZyb20gJy4vaW52YWxpZGF0ZVJlZHVjZXIuanMnO1xuaW1wb3J0IHsgc2V0UmVkdWNlciB9IGZyb20gJy4vc2V0UmVkdWNlci5qcyc7XG5pbXBvcnQge1xuICBTRVRfVFlQRSxcbiAgSU5WQUxJREFURV9UWVBFLFxuICBSRVNFVF9UWVBFLFxuICBGRVRDSF9UWVBFLFxuICBHQ19UWVBFLFxuICBPUFRJTUlTVElDX1RZUEUsXG4gIElOVkFMSURBVEVBTExfVFlQRSxcbn0gZnJvbSAnLi4vLi4vYWN0aW9uVHlwZXMuanMnO1xuaW1wb3J0IHR5cGUgQ29udHJvbGxlciBmcm9tICcuLi8uLi9jb250cm9sbGVyL0NvbnRyb2xsZXIuanMnO1xuaW1wb3J0IHR5cGUgeyBPbGRBY3Rpb25UeXBlcywgQWN0aW9uVHlwZXMsIFN0YXRlIH0gZnJvbSAnLi4vLi4vdHlwZXMuanMnO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBjcmVhdGVSZWR1Y2VyKGNvbnRyb2xsZXI6IENvbnRyb2xsZXIpOiBSZWR1Y2VyVHlwZSB7XG4gIHJldHVybiBmdW5jdGlvbiByZWR1Y2VyKFxuICAgIHN0YXRlOiBTdGF0ZTx1bmtub3duPiB8IHVuZGVmaW5lZCxcbiAgICBhY3Rpb246IE9sZEFjdGlvblR5cGVzLFxuICApOiBTdGF0ZTx1bmtub3duPiB7XG4gICAgaWYgKCFzdGF0ZSkgc3RhdGUgPSBpbml0aWFsU3RhdGU7XG4gICAgc3dpdGNoIChhY3Rpb24udHlwZSkge1xuICAgICAgY2FzZSBHQ19UWVBFOlxuICAgICAgICAvLyBpbmxpbmUgZGVsZXRlcyBhcmUgZmluZSBhcyB0aGVzZSBzaG91bGQgaGF2ZSAwIHJlZmNvdW50c1xuICAgICAgICBhY3Rpb24uZW50aXRpZXMuZm9yRWFjaCgoW2tleSwgcGtdKSA9PiB7XG4gICAgICAgICAgZGVsZXRlIChzdGF0ZSBhcyBhbnkpLmVudGl0aWVzW2tleV0/Lltwa107XG4gICAgICAgICAgZGVsZXRlIChzdGF0ZSBhcyBhbnkpLmVudGl0eU1ldGFba2V5XT8uW3BrXTtcbiAgICAgICAgfSk7XG4gICAgICAgIGFjdGlvbi5yZXN1bHRzLmZvckVhY2goZmV0Y2hLZXkgPT4ge1xuICAgICAgICAgIGRlbGV0ZSAoc3RhdGUgYXMgYW55KS5yZXN1bHRzW2ZldGNoS2V5XTtcbiAgICAgICAgICBkZWxldGUgKHN0YXRlIGFzIGFueSkubWV0YVtmZXRjaEtleV07XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gc3RhdGU7XG4gICAgICBjYXNlIEZFVENIX1RZUEU6XG4gICAgICAgIHJldHVybiBmZXRjaFJlZHVjZXIoc3RhdGUsIGFjdGlvbik7XG5cbiAgICAgIGNhc2UgT1BUSU1JU1RJQ19UWVBFOlxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWZhbGx0aHJvdWdoXG4gICAgICBjYXNlIFNFVF9UWVBFOlxuICAgICAgICByZXR1cm4gc2V0UmVkdWNlcihzdGF0ZSwgYWN0aW9uLCBjb250cm9sbGVyKTtcblxuICAgICAgY2FzZSBJTlZBTElEQVRFQUxMX1RZUEU6XG4gICAgICBjYXNlIElOVkFMSURBVEVfVFlQRTpcbiAgICAgICAgcmV0dXJuIGludmFsaWRhdGVSZWR1Y2VyKHN0YXRlLCBhY3Rpb24pO1xuXG4gICAgICBjYXNlIFJFU0VUX1RZUEU6XG4gICAgICAgIGlmIChcbiAgICAgICAgICBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmXG4gICAgICAgICAgYWN0aW9uLmRhdGUgPT09IHVuZGVmaW5lZFxuICAgICAgICApIHtcbiAgICAgICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgICAgICBgJHtSRVNFVF9UWVBFfSBzZW50IHdpdGhvdXQgJ2RhdGUnIG1lbWJlci4gVGhpcyBpcyBkZXByZWNhdGVkLiBQbGVhc2UgdXNlIGNyZWF0ZVJlc2V0KCkgYWN0aW9uIGNyZWF0b3IgdG8gZW5zdXJlIGNvcnJlY3QgYWN0aW9uIHNoYXBlLmAsXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4geyAuLi5pbml0aWFsU3RhdGUsIGxhc3RSZXNldDogYWN0aW9uLmRhdGUgPz8gRGF0ZS5ub3coKSB9O1xuXG4gICAgICBkZWZhdWx0OlxuICAgICAgICAvLyBBIHJlZHVjZXIgbXVzdCBhbHdheXMgcmV0dXJuIGEgdmFsaWQgc3RhdGUuXG4gICAgICAgIC8vIEFsdGVybmF0aXZlbHkgeW91IGNhbiB0aHJvdyBhbiBlcnJvciBpZiBhbiBpbnZhbGlkIGFjdGlvbiBpcyBkaXNwYXRjaGVkLlxuICAgICAgICByZXR1cm4gc3RhdGU7XG4gICAgfVxuICB9IGFzIGFueTtcbn1cblxuZXhwb3J0IGNvbnN0IGluaXRpYWxTdGF0ZTogU3RhdGU8dW5rbm93bj4gPSB7XG4gIGVudGl0aWVzOiB7fSxcbiAgaW5kZXhlczoge30sXG4gIHJlc3VsdHM6IHt9LFxuICBtZXRhOiB7fSxcbiAgZW50aXR5TWV0YToge30sXG4gIG9wdGltaXN0aWM6IFtdLFxuICBsYXN0UmVzZXQ6IDAsXG59O1xuXG50eXBlIFJlZHVjZXJUeXBlID0gKFxuICBzdGF0ZTogU3RhdGU8dW5rbm93bj4gfCB1bmRlZmluZWQsXG4gIGFjdGlvbjogQWN0aW9uVHlwZXMsXG4pID0+IFN0YXRlPHVua25vd24+O1xuXG50eXBlIFdyaXRhYmxlPFQ+ID0geyBbUCBpbiBrZXlvZiBUXTogTm9uTnVsbGFibGU8V3JpdGFibGU8VFtQXT4+IH07XG4iXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLFlBQVksUUFBUSxtQkFBbUI7QUFDaEQsU0FBU0MsaUJBQWlCLFFBQVEsd0JBQXdCO0FBQzFELFNBQVNDLFVBQVUsUUFBUSxpQkFBaUI7QUFDNUMsU0FDRUMsUUFBUSxFQUNSQyxlQUFlLEVBQ2ZDLFVBQVUsRUFDVkMsVUFBVSxFQUNWQyxPQUFPLEVBQ1BDLGVBQWUsRUFDZkMsa0JBQWtCLFFBQ2Isc0JBQXNCO0FBSTdCLGVBQWUsU0FBU0MsYUFBYUEsQ0FBQ0MsVUFBc0IsRUFBZTtFQUN6RSxPQUFPLFNBQVNDLE9BQU9BLENBQ3JCQyxLQUFpQyxFQUNqQ0MsTUFBc0IsRUFDTjtJQUFBLElBQUFDLFlBQUE7SUFDaEIsSUFBSSxDQUFDRixLQUFLLEVBQUVBLEtBQUssR0FBR0csWUFBWTtJQUNoQyxRQUFRRixNQUFNLENBQUNHLElBQUk7TUFDakIsS0FBS1YsT0FBTztRQUNWO1FBQ0FPLE1BQU0sQ0FBQ0ksUUFBUSxDQUFDQyxPQUFPLENBQUMsQ0FBQyxDQUFDQyxHQUFHLEVBQUVDLEVBQUUsQ0FBQyxLQUFLO1VBQUEsSUFBQUMsYUFBQSxFQUFBQyxlQUFBO1VBQ3JDLENBQUFELGFBQUEsR0FBUVQsS0FBSyxDQUFTSyxRQUFRLENBQUNFLEdBQUcsQ0FBQyxtQkFBbkMsT0FBT0UsYUFBQSxDQUErQkQsRUFBRSxDQUFDO1VBQ3pDLENBQUFFLGVBQUEsR0FBUVYsS0FBSyxDQUFTVyxVQUFVLENBQUNKLEdBQUcsQ0FBQyxtQkFBckMsT0FBT0csZUFBQSxDQUFpQ0YsRUFBRSxDQUFDO1FBQzdDLENBQUMsQ0FBQztRQUNGUCxNQUFNLENBQUNXLE9BQU8sQ0FBQ04sT0FBTyxDQUFDTyxRQUFRLElBQUk7VUFDakMsT0FBUWIsS0FBSyxDQUFTWSxPQUFPLENBQUNDLFFBQVEsQ0FBQztVQUN2QyxPQUFRYixLQUFLLENBQVNjLElBQUksQ0FBQ0QsUUFBUSxDQUFDO1FBQ3RDLENBQUMsQ0FBQztRQUNGLE9BQU9iLEtBQUs7TUFDZCxLQUFLUCxVQUFVO1FBQ2IsT0FBT04sWUFBWSxDQUFDYSxLQUFLLEVBQUVDLE1BQU0sQ0FBQztNQUVwQyxLQUFLTixlQUFlO01BQ3BCO01BQ0EsS0FBS0wsUUFBUTtRQUNYLE9BQU9ELFVBQVUsQ0FBQ1csS0FBSyxFQUFFQyxNQUFNLEVBQUVILFVBQVUsQ0FBQztNQUU5QyxLQUFLRixrQkFBa0I7TUFDdkIsS0FBS0wsZUFBZTtRQUNsQixPQUFPSCxpQkFBaUIsQ0FBQ1ksS0FBSyxFQUFFQyxNQUFNLENBQUM7TUFFekMsS0FBS1QsVUFBVTtRQUNiLElBQ0V1QixPQUFPLENBQUNDLEdBQUcsQ0FBQ0MsUUFBUSxLQUFLLFlBQVksSUFDckNoQixNQUFNLENBQUNpQixJQUFJLEtBQUtDLFNBQVMsRUFDekI7VUFDQUMsT0FBTyxDQUFDQyxJQUFJLENBQ1QsR0FBRTdCLFVBQVcsMEhBQ2hCLENBQUM7UUFDSDtRQUNBLE9BQUE4QixNQUFBLENBQUFDLE1BQUEsS0FBWXBCLFlBQVk7VUFBRXFCLFNBQVMsR0FBQXRCLFlBQUEsR0FBRUQsTUFBTSxDQUFDaUIsSUFBSSxZQUFBaEIsWUFBQSxHQUFJdUIsSUFBSSxDQUFDQyxHQUFHLENBQUM7UUFBQztNQUVoRTtRQUNFO1FBQ0E7UUFDQSxPQUFPMUIsS0FBSztJQUNoQjtFQUNGLENBQUM7QUFDSDtBQUVBLE9BQU8sTUFBTUcsWUFBNEIsR0FBRztFQUMxQ0UsUUFBUSxFQUFFLENBQUMsQ0FBQztFQUNac0IsT0FBTyxFQUFFLENBQUMsQ0FBQztFQUNYZixPQUFPLEVBQUUsQ0FBQyxDQUFDO0VBQ1hFLElBQUksRUFBRSxDQUFDLENBQUM7RUFDUkgsVUFBVSxFQUFFLENBQUMsQ0FBQztFQUNkaUIsVUFBVSxFQUFFLEVBQUU7RUFDZEosU0FBUyxFQUFFO0FBQ2IsQ0FBQyJ9
@@ -0,0 +1,32 @@
1
+ import createOptimistic from '../../controller/createOptimistic.js';
2
+ import { createReceive as legacyCreateReceive } from '../legacy-actions/index.js';
3
+ export function fetchReducer(state, action) {
4
+ var _action$endpoint;
5
+ const optimisticResponse = action.meta.optimisticResponse;
6
+ const getOptimisticResponse = (_action$endpoint = action.endpoint) == null ? void 0 : _action$endpoint.getOptimisticResponse;
7
+ let receiveAction;
8
+ if (getOptimisticResponse && action.endpoint && action.endpoint.sideEffect) {
9
+ receiveAction = createOptimistic(action.endpoint, {
10
+ args: action.meta.args,
11
+ fetchedAt: typeof action.meta.createdAt !== 'number' ? action.meta.createdAt.getTime() : action.meta.createdAt
12
+ });
13
+ } /* istanbul ignore if */else if (optimisticResponse) {
14
+ // TODO(breaking): this is no longer used, remove this branch
15
+ /* istanbul ignore next */
16
+ receiveAction = legacyCreateReceive(optimisticResponse, Object.assign({}, action.meta, {
17
+ dataExpiryLength: Infinity
18
+ }));
19
+ } else {
20
+ // If 'fetch' action reaches the reducer there are no middlewares installed to handle it
21
+ /* istanbul ignore next */
22
+ if (process.env.NODE_ENV !== 'production') {
23
+ console.warn('Fetch appears unhandled - you are likely missing the NetworkManager middleware');
24
+ console.warn('See https://resthooks.io/docs/guides/redux#indextsx for hooking up redux');
25
+ }
26
+ return state;
27
+ }
28
+ return Object.assign({}, state, {
29
+ optimistic: [...state.optimistic, receiveAction]
30
+ });
31
+ }
32
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjcmVhdGVPcHRpbWlzdGljIiwiY3JlYXRlUmVjZWl2ZSIsImxlZ2FjeUNyZWF0ZVJlY2VpdmUiLCJmZXRjaFJlZHVjZXIiLCJzdGF0ZSIsImFjdGlvbiIsIl9hY3Rpb24kZW5kcG9pbnQiLCJvcHRpbWlzdGljUmVzcG9uc2UiLCJtZXRhIiwiZ2V0T3B0aW1pc3RpY1Jlc3BvbnNlIiwiZW5kcG9pbnQiLCJyZWNlaXZlQWN0aW9uIiwic2lkZUVmZmVjdCIsImFyZ3MiLCJmZXRjaGVkQXQiLCJjcmVhdGVkQXQiLCJnZXRUaW1lIiwiT2JqZWN0IiwiYXNzaWduIiwiZGF0YUV4cGlyeUxlbmd0aCIsIkluZmluaXR5IiwicHJvY2VzcyIsImVudiIsIk5PREVfRU5WIiwiY29uc29sZSIsIndhcm4iLCJvcHRpbWlzdGljIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3N0YXRlL3JlZHVjZXIvZmV0Y2hSZWR1Y2VyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBjcmVhdGVPcHRpbWlzdGljIGZyb20gJy4uLy4uL2NvbnRyb2xsZXIvY3JlYXRlT3B0aW1pc3RpYy5qcyc7XG5pbXBvcnQgdHlwZSB7XG4gIFJlY2VpdmVBY3Rpb24sXG4gIE9wdGltaXN0aWNBY3Rpb24sXG4gIEZldGNoQWN0aW9uLFxufSBmcm9tICcuLi8uLi9wcmV2aW91c0FjdGlvbnMuanMnO1xuaW1wb3J0IHR5cGUgeyBTdGF0ZSB9IGZyb20gJy4uLy4uL3R5cGVzLmpzJztcbmltcG9ydCB7IGNyZWF0ZVJlY2VpdmUgYXMgbGVnYWN5Q3JlYXRlUmVjZWl2ZSB9IGZyb20gJy4uL2xlZ2FjeS1hY3Rpb25zL2luZGV4LmpzJztcblxuZXhwb3J0IGZ1bmN0aW9uIGZldGNoUmVkdWNlcihzdGF0ZTogU3RhdGU8dW5rbm93bj4sIGFjdGlvbjogRmV0Y2hBY3Rpb24pIHtcbiAgY29uc3Qgb3B0aW1pc3RpY1Jlc3BvbnNlID0gYWN0aW9uLm1ldGEub3B0aW1pc3RpY1Jlc3BvbnNlO1xuICBjb25zdCBnZXRPcHRpbWlzdGljUmVzcG9uc2UgPSBhY3Rpb24uZW5kcG9pbnQ/LmdldE9wdGltaXN0aWNSZXNwb25zZTtcbiAgbGV0IHJlY2VpdmVBY3Rpb246IFJlY2VpdmVBY3Rpb24gfCBPcHRpbWlzdGljQWN0aW9uO1xuXG4gIGlmIChnZXRPcHRpbWlzdGljUmVzcG9uc2UgJiYgYWN0aW9uLmVuZHBvaW50ICYmIGFjdGlvbi5lbmRwb2ludC5zaWRlRWZmZWN0KSB7XG4gICAgcmVjZWl2ZUFjdGlvbiA9IGNyZWF0ZU9wdGltaXN0aWMoYWN0aW9uLmVuZHBvaW50LCB7XG4gICAgICBhcmdzOiBhY3Rpb24ubWV0YS5hcmdzIGFzIHJlYWRvbmx5IGFueVtdLFxuICAgICAgZmV0Y2hlZEF0OlxuICAgICAgICB0eXBlb2YgYWN0aW9uLm1ldGEuY3JlYXRlZEF0ICE9PSAnbnVtYmVyJ1xuICAgICAgICAgID8gYWN0aW9uLm1ldGEuY3JlYXRlZEF0LmdldFRpbWUoKVxuICAgICAgICAgIDogYWN0aW9uLm1ldGEuY3JlYXRlZEF0LFxuICAgIH0pIGFzIGFueTtcbiAgfSAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi8gZWxzZSBpZiAob3B0aW1pc3RpY1Jlc3BvbnNlKSB7XG4gICAgLy8gVE9ETyhicmVha2luZyk6IHRoaXMgaXMgbm8gbG9uZ2VyIHVzZWQsIHJlbW92ZSB0aGlzIGJyYW5jaFxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgcmVjZWl2ZUFjdGlvbiA9IGxlZ2FjeUNyZWF0ZVJlY2VpdmUob3B0aW1pc3RpY1Jlc3BvbnNlLCB7XG4gICAgICAuLi5hY3Rpb24ubWV0YSxcbiAgICAgIGRhdGFFeHBpcnlMZW5ndGg6IEluZmluaXR5LFxuICAgIH0pO1xuICB9IGVsc2Uge1xuICAgIC8vIElmICdmZXRjaCcgYWN0aW9uIHJlYWNoZXMgdGhlIHJlZHVjZXIgdGhlcmUgYXJlIG5vIG1pZGRsZXdhcmVzIGluc3RhbGxlZCB0byBoYW5kbGUgaXRcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgICdGZXRjaCBhcHBlYXJzIHVuaGFuZGxlZCAtIHlvdSBhcmUgbGlrZWx5IG1pc3NpbmcgdGhlIE5ldHdvcmtNYW5hZ2VyIG1pZGRsZXdhcmUnLFxuICAgICAgKTtcbiAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgJ1NlZSBodHRwczovL3Jlc3Rob29rcy5pby9kb2NzL2d1aWRlcy9yZWR1eCNpbmRleHRzeCBmb3IgaG9va2luZyB1cCByZWR1eCcsXG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiBzdGF0ZTtcbiAgfVxuICByZXR1cm4ge1xuICAgIC4uLnN0YXRlLFxuICAgIG9wdGltaXN0aWM6IFsuLi5zdGF0ZS5vcHRpbWlzdGljLCByZWNlaXZlQWN0aW9uXSxcbiAgfTtcbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBT0EsZ0JBQWdCLE1BQU0sc0NBQXNDO0FBT25FLFNBQVNDLGFBQWEsSUFBSUMsbUJBQW1CLFFBQVEsNEJBQTRCO0FBRWpGLE9BQU8sU0FBU0MsWUFBWUEsQ0FBQ0MsS0FBcUIsRUFBRUMsTUFBbUIsRUFBRTtFQUFBLElBQUFDLGdCQUFBO0VBQ3ZFLE1BQU1DLGtCQUFrQixHQUFHRixNQUFNLENBQUNHLElBQUksQ0FBQ0Qsa0JBQWtCO0VBQ3pELE1BQU1FLHFCQUFxQixJQUFBSCxnQkFBQSxHQUFHRCxNQUFNLENBQUNLLFFBQVEscUJBQWZKLGdCQUFBLENBQWlCRyxxQkFBcUI7RUFDcEUsSUFBSUUsYUFBK0M7RUFFbkQsSUFBSUYscUJBQXFCLElBQUlKLE1BQU0sQ0FBQ0ssUUFBUSxJQUFJTCxNQUFNLENBQUNLLFFBQVEsQ0FBQ0UsVUFBVSxFQUFFO0lBQzFFRCxhQUFhLEdBQUdYLGdCQUFnQixDQUFDSyxNQUFNLENBQUNLLFFBQVEsRUFBRTtNQUNoREcsSUFBSSxFQUFFUixNQUFNLENBQUNHLElBQUksQ0FBQ0ssSUFBc0I7TUFDeENDLFNBQVMsRUFDUCxPQUFPVCxNQUFNLENBQUNHLElBQUksQ0FBQ08sU0FBUyxLQUFLLFFBQVEsR0FDckNWLE1BQU0sQ0FBQ0csSUFBSSxDQUFDTyxTQUFTLENBQUNDLE9BQU8sQ0FBQyxDQUFDLEdBQy9CWCxNQUFNLENBQUNHLElBQUksQ0FBQ087SUFDcEIsQ0FBQyxDQUFRO0VBQ1gsQ0FBQyxDQUFDLDZCQUE4QixJQUFJUixrQkFBa0IsRUFBRTtJQUN0RDtJQUNBO0lBQ0FJLGFBQWEsR0FBR1QsbUJBQW1CLENBQUNLLGtCQUFrQixFQUFBVSxNQUFBLENBQUFDLE1BQUEsS0FDakRiLE1BQU0sQ0FBQ0csSUFBSTtNQUNkVyxnQkFBZ0IsRUFBRUM7SUFBUSxFQUMzQixDQUFDO0VBQ0osQ0FBQyxNQUFNO0lBQ0w7SUFDQTtJQUNBLElBQUlDLE9BQU8sQ0FBQ0MsR0FBRyxDQUFDQyxRQUFRLEtBQUssWUFBWSxFQUFFO01BQ3pDQyxPQUFPLENBQUNDLElBQUksQ0FDVixnRkFDRixDQUFDO01BQ0RELE9BQU8sQ0FBQ0MsSUFBSSxDQUNWLDBFQUNGLENBQUM7SUFDSDtJQUVBLE9BQU9yQixLQUFLO0VBQ2Q7RUFDQSxPQUFBYSxNQUFBLENBQUFDLE1BQUEsS0FDS2QsS0FBSztJQUNSc0IsVUFBVSxFQUFFLENBQUMsR0FBR3RCLEtBQUssQ0FBQ3NCLFVBQVUsRUFBRWYsYUFBYTtFQUFDO0FBRXBEIn0=
@@ -0,0 +1,28 @@
1
+ import { INVALIDATE_TYPE } from '../../actionTypes.js';
2
+ export function invalidateReducer(state, action) {
3
+ const results = Object.assign({}, state.results);
4
+ const meta = Object.assign({}, state.meta);
5
+ const invalidateKey = key => {
6
+ delete results[key];
7
+ const itemMeta = Object.assign({}, meta[key], {
8
+ expiresAt: 0,
9
+ invalidated: true
10
+ });
11
+ delete itemMeta.error;
12
+ meta[key] = itemMeta;
13
+ };
14
+ if (action.type === INVALIDATE_TYPE) {
15
+ invalidateKey(action.meta.key);
16
+ } else {
17
+ Object.keys(results).forEach(key => {
18
+ if (action.testKey(key)) {
19
+ invalidateKey(key);
20
+ }
21
+ });
22
+ }
23
+ return Object.assign({}, state, {
24
+ results,
25
+ meta
26
+ });
27
+ }
28
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJJTlZBTElEQVRFX1RZUEUiLCJpbnZhbGlkYXRlUmVkdWNlciIsInN0YXRlIiwiYWN0aW9uIiwicmVzdWx0cyIsIk9iamVjdCIsImFzc2lnbiIsIm1ldGEiLCJpbnZhbGlkYXRlS2V5Iiwia2V5IiwiaXRlbU1ldGEiLCJleHBpcmVzQXQiLCJpbnZhbGlkYXRlZCIsImVycm9yIiwidHlwZSIsImtleXMiLCJmb3JFYWNoIiwidGVzdEtleSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zdGF0ZS9yZWR1Y2VyL2ludmFsaWRhdGVSZWR1Y2VyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElOVkFMSURBVEVfVFlQRSB9IGZyb20gJy4uLy4uL2FjdGlvblR5cGVzLmpzJztcbmltcG9ydCB0eXBlIHtcbiAgSW52YWxpZGF0ZUFsbEFjdGlvbixcbiAgSW52YWxpZGF0ZUFjdGlvbixcbn0gZnJvbSAnLi4vLi4vcHJldmlvdXNBY3Rpb25zLmpzJztcbmltcG9ydCB0eXBlIHsgU3RhdGUgfSBmcm9tICcuLi8uLi90eXBlcy5qcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBpbnZhbGlkYXRlUmVkdWNlcihcbiAgc3RhdGU6IFN0YXRlPHVua25vd24+LFxuICBhY3Rpb246IEludmFsaWRhdGVBY3Rpb24gfCBJbnZhbGlkYXRlQWxsQWN0aW9uLFxuKSB7XG4gIGNvbnN0IHJlc3VsdHMgPSB7IC4uLnN0YXRlLnJlc3VsdHMgfTtcbiAgY29uc3QgbWV0YSA9IHsgLi4uc3RhdGUubWV0YSB9O1xuICBjb25zdCBpbnZhbGlkYXRlS2V5ID0gKGtleTogc3RyaW5nKSA9PiB7XG4gICAgZGVsZXRlIHJlc3VsdHNba2V5XTtcbiAgICBjb25zdCBpdGVtTWV0YSA9IHtcbiAgICAgIC4uLm1ldGFba2V5XSxcbiAgICAgIGV4cGlyZXNBdDogMCxcbiAgICAgIGludmFsaWRhdGVkOiB0cnVlLFxuICAgIH07XG4gICAgZGVsZXRlIGl0ZW1NZXRhLmVycm9yO1xuICAgIG1ldGFba2V5XSA9IGl0ZW1NZXRhO1xuICB9O1xuICBpZiAoYWN0aW9uLnR5cGUgPT09IElOVkFMSURBVEVfVFlQRSkge1xuICAgIGludmFsaWRhdGVLZXkoYWN0aW9uLm1ldGEua2V5KTtcbiAgfSBlbHNlIHtcbiAgICBPYmplY3Qua2V5cyhyZXN1bHRzKS5mb3JFYWNoKGtleSA9PiB7XG4gICAgICBpZiAoYWN0aW9uLnRlc3RLZXkoa2V5KSkge1xuICAgICAgICBpbnZhbGlkYXRlS2V5KGtleSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIC4uLnN0YXRlLFxuICAgIHJlc3VsdHMsXG4gICAgbWV0YSxcbiAgfTtcbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsZUFBZSxRQUFRLHNCQUFzQjtBQU90RCxPQUFPLFNBQVNDLGlCQUFpQkEsQ0FDL0JDLEtBQXFCLEVBQ3JCQyxNQUE4QyxFQUM5QztFQUNBLE1BQU1DLE9BQU8sR0FBQUMsTUFBQSxDQUFBQyxNQUFBLEtBQVFKLEtBQUssQ0FBQ0UsT0FBTyxDQUFFO0VBQ3BDLE1BQU1HLElBQUksR0FBQUYsTUFBQSxDQUFBQyxNQUFBLEtBQVFKLEtBQUssQ0FBQ0ssSUFBSSxDQUFFO0VBQzlCLE1BQU1DLGFBQWEsR0FBSUMsR0FBVyxJQUFLO0lBQ3JDLE9BQU9MLE9BQU8sQ0FBQ0ssR0FBRyxDQUFDO0lBQ25CLE1BQU1DLFFBQVEsR0FBQUwsTUFBQSxDQUFBQyxNQUFBLEtBQ1RDLElBQUksQ0FBQ0UsR0FBRyxDQUFDO01BQ1pFLFNBQVMsRUFBRSxDQUFDO01BQ1pDLFdBQVcsRUFBRTtJQUFJLEVBQ2xCO0lBQ0QsT0FBT0YsUUFBUSxDQUFDRyxLQUFLO0lBQ3JCTixJQUFJLENBQUNFLEdBQUcsQ0FBQyxHQUFHQyxRQUFRO0VBQ3RCLENBQUM7RUFDRCxJQUFJUCxNQUFNLENBQUNXLElBQUksS0FBS2QsZUFBZSxFQUFFO0lBQ25DUSxhQUFhLENBQUNMLE1BQU0sQ0FBQ0ksSUFBSSxDQUFDRSxHQUFHLENBQUM7RUFDaEMsQ0FBQyxNQUFNO0lBQ0xKLE1BQU0sQ0FBQ1UsSUFBSSxDQUFDWCxPQUFPLENBQUMsQ0FBQ1ksT0FBTyxDQUFDUCxHQUFHLElBQUk7TUFDbEMsSUFBSU4sTUFBTSxDQUFDYyxPQUFPLENBQUNSLEdBQUcsQ0FBQyxFQUFFO1FBQ3ZCRCxhQUFhLENBQUNDLEdBQUcsQ0FBQztNQUNwQjtJQUNGLENBQUMsQ0FBQztFQUNKO0VBRUEsT0FBQUosTUFBQSxDQUFBQyxNQUFBLEtBQ0tKLEtBQUs7SUFDUkUsT0FBTztJQUNQRztFQUFJO0FBRVIifQ==
@@ -0,0 +1,113 @@
1
+ import { normalize } from '@data-client/normalizr';
2
+ import { OPTIMISTIC_TYPE } from '../../actionTypes.js';
3
+ import applyUpdatersToResults from '../applyUpdatersToResults.js';
4
+ export function setReducer(state, action, controller) {
5
+ if (action.error) {
6
+ return reduceError(state, action, action.payload);
7
+ }
8
+ try {
9
+ var _state$meta$action$me;
10
+ let payload;
11
+ // for true receives payload is contained in action
12
+ if (action.type === OPTIMISTIC_TYPE) {
13
+ if (!action.endpoint.getOptimisticResponse) return state;
14
+ try {
15
+ // compute optimistic response based on current state
16
+ payload = action.endpoint.getOptimisticResponse.call(action.endpoint, controller.snapshot(state, action.meta.fetchedAt),
17
+ // if endpoint exists, so must args; TODO: fix typing
18
+ ...action.meta.args);
19
+ } catch (e) {
20
+ var _e$constructor;
21
+ // AbortOptimistic means 'do nothing', otherwise we count the exception as endpoint failure
22
+ if (((_e$constructor = e.constructor) == null ? void 0 : _e$constructor.name) === 'AbortOptimistic') {
23
+ return state;
24
+ }
25
+ throw e;
26
+ }
27
+ } else {
28
+ payload = action.payload;
29
+ }
30
+ const {
31
+ result,
32
+ entities,
33
+ indexes,
34
+ entityMeta
35
+ } = normalize(payload, action.meta.schema, action.meta.args, state.entities, state.indexes, state.entityMeta, Object.assign({
36
+ fetchedAt: action.meta.date
37
+ }, action.meta));
38
+ let results = Object.assign({}, state.results, {
39
+ [action.meta.key]: result
40
+ });
41
+ try {
42
+ if ('updaters' in action.meta && action.meta.updaters) {
43
+ results = applyUpdatersToResults(results, result, action.meta.updaters);
44
+ }
45
+ if (action.meta.update) {
46
+ const updaters = action.meta.update(result, ...(action.meta.args || []));
47
+ Object.keys(updaters).forEach(key => {
48
+ results[key] = updaters[key](results[key]);
49
+ });
50
+ }
51
+ // no reason to completely fail because of user-code error
52
+ // integrity of this state update is still guaranteed
53
+ } catch (error) {
54
+ console.error(`The following error occured during Endpoint.update() for ${action.meta.key}`);
55
+ console.error(error);
56
+ }
57
+ return {
58
+ entities,
59
+ indexes,
60
+ results,
61
+ entityMeta,
62
+ meta: Object.assign({}, state.meta, {
63
+ [action.meta.key]: {
64
+ date: action.meta.date,
65
+ expiresAt: action.meta.expiresAt,
66
+ prevExpiresAt: (_state$meta$action$me = state.meta[action.meta.key]) == null ? void 0 : _state$meta$action$me.expiresAt
67
+ }
68
+ }),
69
+ optimistic: filterOptimistic(state, action),
70
+ lastReset: state.lastReset
71
+ };
72
+ // reducer must update the state, so in case of processing errors we simply compute the results inline
73
+ } catch (error) {
74
+ if (typeof error === 'object') {
75
+ error.message = `Error processing ${action.meta.key}\n\nFull Schema: ${JSON.stringify(action.meta.schema, undefined, 2)}\n\nError:\n${error.message}`;
76
+ if ('payload' in action) error.payload = action.payload;
77
+ error.status = 400;
78
+ }
79
+
80
+ // this is not always bubbled up, so let's double sure this doesn't fail silently
81
+ /* istanbul ignore else */
82
+ if (process.env.NODE_ENV !== 'production') {
83
+ console.error(error);
84
+ }
85
+ return reduceError(state, action, error);
86
+ }
87
+ }
88
+ function reduceError(state, action, error) {
89
+ if (error.name === 'AbortError') {
90
+ // In case we abort simply undo the optimistic update and act like no fetch even occured
91
+ // We still want those watching promises from fetch directly to observed the abort, but we don't want to
92
+ // Trigger errors in this case. This means theoretically improperly built abortes useResource() could suspend forever.
93
+ return Object.assign({}, state, {
94
+ optimistic: filterOptimistic(state, action)
95
+ });
96
+ }
97
+ return Object.assign({}, state, {
98
+ meta: Object.assign({}, state.meta, {
99
+ [action.meta.key]: {
100
+ date: action.meta.date,
101
+ error,
102
+ expiresAt: action.meta.expiresAt,
103
+ errorPolicy: action.meta.errorPolicy == null ? void 0 : action.meta.errorPolicy(error)
104
+ }
105
+ }),
106
+ optimistic: filterOptimistic(state, action)
107
+ });
108
+ }
109
+ /** Filter all requests with same serialization that did not start after the resolving request */
110
+ function filterOptimistic(state, resolvingAction) {
111
+ return state.optimistic.filter(optimisticAction => optimisticAction.meta.key !== resolvingAction.meta.key || (optimisticAction.type === OPTIMISTIC_TYPE ? optimisticAction.meta.fetchedAt !== resolvingAction.meta.fetchedAt : optimisticAction.meta.date > resolvingAction.meta.date));
112
+ }
113
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJub3JtYWxpemUiLCJPUFRJTUlTVElDX1RZUEUiLCJhcHBseVVwZGF0ZXJzVG9SZXN1bHRzIiwic2V0UmVkdWNlciIsInN0YXRlIiwiYWN0aW9uIiwiY29udHJvbGxlciIsImVycm9yIiwicmVkdWNlRXJyb3IiLCJwYXlsb2FkIiwiX3N0YXRlJG1ldGEkYWN0aW9uJG1lIiwidHlwZSIsImVuZHBvaW50IiwiZ2V0T3B0aW1pc3RpY1Jlc3BvbnNlIiwiY2FsbCIsInNuYXBzaG90IiwibWV0YSIsImZldGNoZWRBdCIsImFyZ3MiLCJlIiwiX2UkY29uc3RydWN0b3IiLCJjb25zdHJ1Y3RvciIsIm5hbWUiLCJyZXN1bHQiLCJlbnRpdGllcyIsImluZGV4ZXMiLCJlbnRpdHlNZXRhIiwic2NoZW1hIiwiT2JqZWN0IiwiYXNzaWduIiwiZGF0ZSIsInJlc3VsdHMiLCJrZXkiLCJ1cGRhdGVycyIsInVwZGF0ZSIsImtleXMiLCJmb3JFYWNoIiwiY29uc29sZSIsImV4cGlyZXNBdCIsInByZXZFeHBpcmVzQXQiLCJvcHRpbWlzdGljIiwiZmlsdGVyT3B0aW1pc3RpYyIsImxhc3RSZXNldCIsIm1lc3NhZ2UiLCJKU09OIiwic3RyaW5naWZ5IiwidW5kZWZpbmVkIiwic3RhdHVzIiwicHJvY2VzcyIsImVudiIsIk5PREVfRU5WIiwiZXJyb3JQb2xpY3kiLCJyZXNvbHZpbmdBY3Rpb24iLCJmaWx0ZXIiLCJvcHRpbWlzdGljQWN0aW9uIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3N0YXRlL3JlZHVjZXIvc2V0UmVkdWNlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBub3JtYWxpemUgfSBmcm9tICdAZGF0YS1jbGllbnQvbm9ybWFsaXpyJztcblxuaW1wb3J0IHsgT1BUSU1JU1RJQ19UWVBFIH0gZnJvbSAnLi4vLi4vYWN0aW9uVHlwZXMuanMnO1xuaW1wb3J0IHR5cGUgQ29udHJvbGxlciBmcm9tICcuLi8uLi9jb250cm9sbGVyL0NvbnRyb2xsZXIuanMnO1xuaW1wb3J0IHR5cGUgeyBSZWNlaXZlQWN0aW9uLCBPcHRpbWlzdGljQWN0aW9uIH0gZnJvbSAnLi4vLi4vcHJldmlvdXNBY3Rpb25zLmpzJztcbmltcG9ydCB0eXBlIHsgU3RhdGUgfSBmcm9tICcuLi8uLi90eXBlcy5qcyc7XG5pbXBvcnQgYXBwbHlVcGRhdGVyc1RvUmVzdWx0cyBmcm9tICcuLi9hcHBseVVwZGF0ZXJzVG9SZXN1bHRzLmpzJztcblxuZXhwb3J0IGZ1bmN0aW9uIHNldFJlZHVjZXIoXG4gIHN0YXRlOiBTdGF0ZTx1bmtub3duPixcbiAgYWN0aW9uOiBPcHRpbWlzdGljQWN0aW9uIHwgUmVjZWl2ZUFjdGlvbixcbiAgY29udHJvbGxlcjogQ29udHJvbGxlcixcbikge1xuICBpZiAoYWN0aW9uLmVycm9yKSB7XG4gICAgcmV0dXJuIHJlZHVjZUVycm9yKHN0YXRlLCBhY3Rpb24sIGFjdGlvbi5wYXlsb2FkKTtcbiAgfVxuICB0cnkge1xuICAgIGxldCBwYXlsb2FkOiBhbnk7XG4gICAgLy8gZm9yIHRydWUgcmVjZWl2ZXMgcGF5bG9hZCBpcyBjb250YWluZWQgaW4gYWN0aW9uXG4gICAgaWYgKGFjdGlvbi50eXBlID09PSBPUFRJTUlTVElDX1RZUEUpIHtcbiAgICAgIGlmICghYWN0aW9uLmVuZHBvaW50LmdldE9wdGltaXN0aWNSZXNwb25zZSkgcmV0dXJuIHN0YXRlO1xuICAgICAgdHJ5IHtcbiAgICAgICAgLy8gY29tcHV0ZSBvcHRpbWlzdGljIHJlc3BvbnNlIGJhc2VkIG9uIGN1cnJlbnQgc3RhdGVcbiAgICAgICAgcGF5bG9hZCA9IGFjdGlvbi5lbmRwb2ludC5nZXRPcHRpbWlzdGljUmVzcG9uc2UuY2FsbChcbiAgICAgICAgICBhY3Rpb24uZW5kcG9pbnQsXG4gICAgICAgICAgY29udHJvbGxlci5zbmFwc2hvdChzdGF0ZSwgYWN0aW9uLm1ldGEuZmV0Y2hlZEF0KSxcbiAgICAgICAgICAvLyBpZiBlbmRwb2ludCBleGlzdHMsIHNvIG11c3QgYXJnczsgVE9ETzogZml4IHR5cGluZ1xuICAgICAgICAgIC4uLihhY3Rpb24ubWV0YS5hcmdzIGFzIGFueVtdKSxcbiAgICAgICAgKTtcbiAgICAgIH0gY2F0Y2ggKGU6IGFueSkge1xuICAgICAgICAvLyBBYm9ydE9wdGltaXN0aWMgbWVhbnMgJ2RvIG5vdGhpbmcnLCBvdGhlcndpc2Ugd2UgY291bnQgdGhlIGV4Y2VwdGlvbiBhcyBlbmRwb2ludCBmYWlsdXJlXG4gICAgICAgIGlmIChlLmNvbnN0cnVjdG9yPy5uYW1lID09PSAnQWJvcnRPcHRpbWlzdGljJykge1xuICAgICAgICAgIHJldHVybiBzdGF0ZTtcbiAgICAgICAgfVxuICAgICAgICB0aHJvdyBlO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBwYXlsb2FkID0gYWN0aW9uLnBheWxvYWQ7XG4gICAgfVxuICAgIGNvbnN0IHsgcmVzdWx0LCBlbnRpdGllcywgaW5kZXhlcywgZW50aXR5TWV0YSB9ID0gbm9ybWFsaXplKFxuICAgICAgcGF5bG9hZCxcbiAgICAgIGFjdGlvbi5tZXRhLnNjaGVtYSxcbiAgICAgIGFjdGlvbi5tZXRhLmFyZ3MgYXMgYW55LFxuICAgICAgc3RhdGUuZW50aXRpZXMsXG4gICAgICBzdGF0ZS5pbmRleGVzLFxuICAgICAgc3RhdGUuZW50aXR5TWV0YSxcbiAgICAgIHsgZmV0Y2hlZEF0OiBhY3Rpb24ubWV0YS5kYXRlLCAuLi5hY3Rpb24ubWV0YSB9LFxuICAgICk7XG4gICAgbGV0IHJlc3VsdHMgPSB7XG4gICAgICAuLi5zdGF0ZS5yZXN1bHRzLFxuICAgICAgW2FjdGlvbi5tZXRhLmtleV06IHJlc3VsdCxcbiAgICB9O1xuICAgIHRyeSB7XG4gICAgICBpZiAoJ3VwZGF0ZXJzJyBpbiBhY3Rpb24ubWV0YSAmJiBhY3Rpb24ubWV0YS51cGRhdGVycykge1xuICAgICAgICByZXN1bHRzID0gYXBwbHlVcGRhdGVyc1RvUmVzdWx0cyhcbiAgICAgICAgICByZXN1bHRzLFxuICAgICAgICAgIHJlc3VsdCxcbiAgICAgICAgICBhY3Rpb24ubWV0YS51cGRhdGVycyBhcyBhbnksXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICBpZiAoYWN0aW9uLm1ldGEudXBkYXRlKSB7XG4gICAgICAgIGNvbnN0IHVwZGF0ZXJzID0gYWN0aW9uLm1ldGEudXBkYXRlKFxuICAgICAgICAgIHJlc3VsdCxcbiAgICAgICAgICAuLi4oYWN0aW9uLm1ldGEuYXJncyB8fCBbXSksXG4gICAgICAgICk7XG4gICAgICAgIE9iamVjdC5rZXlzKHVwZGF0ZXJzKS5mb3JFYWNoKGtleSA9PiB7XG4gICAgICAgICAgcmVzdWx0c1trZXldID0gdXBkYXRlcnNba2V5XShyZXN1bHRzW2tleV0pO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIC8vIG5vIHJlYXNvbiB0byBjb21wbGV0ZWx5IGZhaWwgYmVjYXVzZSBvZiB1c2VyLWNvZGUgZXJyb3JcbiAgICAgIC8vIGludGVncml0eSBvZiB0aGlzIHN0YXRlIHVwZGF0ZSBpcyBzdGlsbCBndWFyYW50ZWVkXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICAgIGBUaGUgZm9sbG93aW5nIGVycm9yIG9jY3VyZWQgZHVyaW5nIEVuZHBvaW50LnVwZGF0ZSgpIGZvciAke2FjdGlvbi5tZXRhLmtleX1gLFxuICAgICAgKTtcbiAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpO1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgZW50aXRpZXMsXG4gICAgICBpbmRleGVzLFxuICAgICAgcmVzdWx0cyxcbiAgICAgIGVudGl0eU1ldGEsXG4gICAgICBtZXRhOiB7XG4gICAgICAgIC4uLnN0YXRlLm1ldGEsXG4gICAgICAgIFthY3Rpb24ubWV0YS5rZXldOiB7XG4gICAgICAgICAgZGF0ZTogYWN0aW9uLm1ldGEuZGF0ZSxcbiAgICAgICAgICBleHBpcmVzQXQ6IGFjdGlvbi5tZXRhLmV4cGlyZXNBdCxcbiAgICAgICAgICBwcmV2RXhwaXJlc0F0OiBzdGF0ZS5tZXRhW2FjdGlvbi5tZXRhLmtleV0/LmV4cGlyZXNBdCxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBvcHRpbWlzdGljOiBmaWx0ZXJPcHRpbWlzdGljKHN0YXRlLCBhY3Rpb24pLFxuICAgICAgbGFzdFJlc2V0OiBzdGF0ZS5sYXN0UmVzZXQsXG4gICAgfTtcbiAgICAvLyByZWR1Y2VyIG11c3QgdXBkYXRlIHRoZSBzdGF0ZSwgc28gaW4gY2FzZSBvZiBwcm9jZXNzaW5nIGVycm9ycyB3ZSBzaW1wbHkgY29tcHV0ZSB0aGUgcmVzdWx0cyBpbmxpbmVcbiAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xuICAgIGlmICh0eXBlb2YgZXJyb3IgPT09ICdvYmplY3QnKSB7XG4gICAgICBlcnJvci5tZXNzYWdlID0gYEVycm9yIHByb2Nlc3NpbmcgJHtcbiAgICAgICAgYWN0aW9uLm1ldGEua2V5XG4gICAgICB9XFxuXFxuRnVsbCBTY2hlbWE6ICR7SlNPTi5zdHJpbmdpZnkoXG4gICAgICAgIGFjdGlvbi5tZXRhLnNjaGVtYSxcbiAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICAyLFxuICAgICAgKX1cXG5cXG5FcnJvcjpcXG4ke2Vycm9yLm1lc3NhZ2V9YDtcbiAgICAgIGlmICgncGF5bG9hZCcgaW4gYWN0aW9uKSBlcnJvci5wYXlsb2FkID0gYWN0aW9uLnBheWxvYWQ7XG4gICAgICBlcnJvci5zdGF0dXMgPSA0MDA7XG4gICAgfVxuXG4gICAgLy8gdGhpcyBpcyBub3QgYWx3YXlzIGJ1YmJsZWQgdXAsIHNvIGxldCdzIGRvdWJsZSBzdXJlIHRoaXMgZG9lc24ndCBmYWlsIHNpbGVudGx5XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7XG4gICAgfVxuICAgIHJldHVybiByZWR1Y2VFcnJvcihzdGF0ZSwgYWN0aW9uLCBlcnJvcik7XG4gIH1cbn1cblxuZnVuY3Rpb24gcmVkdWNlRXJyb3IoXG4gIHN0YXRlOiBTdGF0ZTx1bmtub3duPixcbiAgYWN0aW9uOiBSZWNlaXZlQWN0aW9uIHwgT3B0aW1pc3RpY0FjdGlvbixcbiAgZXJyb3I6IGFueSxcbik6IFN0YXRlPHVua25vd24+IHtcbiAgaWYgKGVycm9yLm5hbWUgPT09ICdBYm9ydEVycm9yJykge1xuICAgIC8vIEluIGNhc2Ugd2UgYWJvcnQgc2ltcGx5IHVuZG8gdGhlIG9wdGltaXN0aWMgdXBkYXRlIGFuZCBhY3QgbGlrZSBubyBmZXRjaCBldmVuIG9jY3VyZWRcbiAgICAvLyBXZSBzdGlsbCB3YW50IHRob3NlIHdhdGNoaW5nIHByb21pc2VzIGZyb20gZmV0Y2ggZGlyZWN0bHkgdG8gb2JzZXJ2ZWQgdGhlIGFib3J0LCBidXQgd2UgZG9uJ3Qgd2FudCB0b1xuICAgIC8vIFRyaWdnZXIgZXJyb3JzIGluIHRoaXMgY2FzZS4gVGhpcyBtZWFucyB0aGVvcmV0aWNhbGx5IGltcHJvcGVybHkgYnVpbHQgYWJvcnRlcyB1c2VSZXNvdXJjZSgpIGNvdWxkIHN1c3BlbmQgZm9yZXZlci5cbiAgICByZXR1cm4ge1xuICAgICAgLi4uc3RhdGUsXG4gICAgICBvcHRpbWlzdGljOiBmaWx0ZXJPcHRpbWlzdGljKHN0YXRlLCBhY3Rpb24pLFxuICAgIH07XG4gIH1cbiAgcmV0dXJuIHtcbiAgICAuLi5zdGF0ZSxcbiAgICBtZXRhOiB7XG4gICAgICAuLi5zdGF0ZS5tZXRhLFxuICAgICAgW2FjdGlvbi5tZXRhLmtleV06IHtcbiAgICAgICAgZGF0ZTogYWN0aW9uLm1ldGEuZGF0ZSxcbiAgICAgICAgZXJyb3IsXG4gICAgICAgIGV4cGlyZXNBdDogYWN0aW9uLm1ldGEuZXhwaXJlc0F0LFxuICAgICAgICBlcnJvclBvbGljeTogYWN0aW9uLm1ldGEuZXJyb3JQb2xpY3k/LihlcnJvciksXG4gICAgICB9LFxuICAgIH0sXG4gICAgb3B0aW1pc3RpYzogZmlsdGVyT3B0aW1pc3RpYyhzdGF0ZSwgYWN0aW9uKSxcbiAgfTtcbn1cbi8qKiBGaWx0ZXIgYWxsIHJlcXVlc3RzIHdpdGggc2FtZSBzZXJpYWxpemF0aW9uIHRoYXQgZGlkIG5vdCBzdGFydCBhZnRlciB0aGUgcmVzb2x2aW5nIHJlcXVlc3QgKi9cbmZ1bmN0aW9uIGZpbHRlck9wdGltaXN0aWMoXG4gIHN0YXRlOiBTdGF0ZTx1bmtub3duPixcbiAgcmVzb2x2aW5nQWN0aW9uOiBSZWNlaXZlQWN0aW9uIHwgT3B0aW1pc3RpY0FjdGlvbixcbikge1xuICByZXR1cm4gc3RhdGUub3B0aW1pc3RpYy5maWx0ZXIoXG4gICAgb3B0aW1pc3RpY0FjdGlvbiA9PlxuICAgICAgb3B0aW1pc3RpY0FjdGlvbi5tZXRhLmtleSAhPT0gcmVzb2x2aW5nQWN0aW9uLm1ldGEua2V5IHx8XG4gICAgICAob3B0aW1pc3RpY0FjdGlvbi50eXBlID09PSBPUFRJTUlTVElDX1RZUEVcbiAgICAgICAgPyBvcHRpbWlzdGljQWN0aW9uLm1ldGEuZmV0Y2hlZEF0ICE9PSByZXNvbHZpbmdBY3Rpb24ubWV0YS5mZXRjaGVkQXRcbiAgICAgICAgOiBvcHRpbWlzdGljQWN0aW9uLm1ldGEuZGF0ZSA+IHJlc29sdmluZ0FjdGlvbi5tZXRhLmRhdGUpLFxuICApO1xufVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxTQUFTLFFBQVEsd0JBQXdCO0FBRWxELFNBQVNDLGVBQWUsUUFBUSxzQkFBc0I7QUFJdEQsT0FBT0Msc0JBQXNCLE1BQU0sOEJBQThCO0FBRWpFLE9BQU8sU0FBU0MsVUFBVUEsQ0FDeEJDLEtBQXFCLEVBQ3JCQyxNQUF3QyxFQUN4Q0MsVUFBc0IsRUFDdEI7RUFDQSxJQUFJRCxNQUFNLENBQUNFLEtBQUssRUFBRTtJQUNoQixPQUFPQyxXQUFXLENBQUNKLEtBQUssRUFBRUMsTUFBTSxFQUFFQSxNQUFNLENBQUNJLE9BQU8sQ0FBQztFQUNuRDtFQUNBLElBQUk7SUFBQSxJQUFBQyxxQkFBQTtJQUNGLElBQUlELE9BQVk7SUFDaEI7SUFDQSxJQUFJSixNQUFNLENBQUNNLElBQUksS0FBS1Ys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
@@ -0,0 +1,9 @@
1
+ /* istanbul ignore file */
2
+ import createReducer from './reducer/createReducer.js';
3
+ import Controller from '../controller/Controller.js';
4
+ /**
5
+ * @deprecated use createReducer instead
6
+ */
7
+ const reducer = createReducer(new Controller());
8
+ export default reducer;
9
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjcmVhdGVSZWR1Y2VyIiwiQ29udHJvbGxlciIsInJlZHVjZXIiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvc3RhdGUvcmVkdWNlckluc3RhbmNlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGlzdGFuYnVsIGlnbm9yZSBmaWxlICovXG5pbXBvcnQgY3JlYXRlUmVkdWNlciBmcm9tICcuL3JlZHVjZXIvY3JlYXRlUmVkdWNlci5qcyc7XG5pbXBvcnQgQ29udHJvbGxlciBmcm9tICcuLi9jb250cm9sbGVyL0NvbnRyb2xsZXIuanMnO1xuaW1wb3J0IHsgQWN0aW9uVHlwZXMsIFN0YXRlIH0gZnJvbSAnLi4vdHlwZXMuanMnO1xuXG4vKipcbiAqIEBkZXByZWNhdGVkIHVzZSBjcmVhdGVSZWR1Y2VyIGluc3RlYWRcbiAqL1xuY29uc3QgcmVkdWNlcjogKFxuICBzdGF0ZTogU3RhdGU8dW5rbm93bj4gfCB1bmRlZmluZWQsXG4gIGFjdGlvbjogQWN0aW9uVHlwZXMsXG4pID0+IFN0YXRlPHVua25vd24+ID0gY3JlYXRlUmVkdWNlcihuZXcgQ29udHJvbGxlcigpKTtcblxuZXhwb3J0IGRlZmF1bHQgcmVkdWNlcjtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQSxPQUFPQSxhQUFhLE1BQU0sNEJBQTRCO0FBQ3RELE9BQU9DLFVBQVUsTUFBTSw2QkFBNkI7QUFHcEQ7QUFDQTtBQUNBO0FBQ0EsTUFBTUMsT0FHYSxHQUFHRixhQUFhLENBQUMsSUFBSUMsVUFBVSxDQUFDLENBQUMsQ0FBQztBQUVyRCxlQUFlQyxPQUFPIn0=
@@ -0,0 +1,4 @@
1
+ export default function selectMeta(state, fetchKey) {
2
+ return state.meta[fetchKey];
3
+ }
4
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzZWxlY3RNZXRhIiwic3RhdGUiLCJmZXRjaEtleSIsIm1ldGEiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvc3RhdGUvc2VsZWN0TWV0YS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFN0YXRlIH0gZnJvbSAnLi4vdHlwZXMuanMnO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBzZWxlY3RNZXRhPFIgPSBhbnk+KFxuICBzdGF0ZTogU3RhdGU8Uj4sXG4gIGZldGNoS2V5OiBzdHJpbmcsXG4pOiBTdGF0ZTxSPlsnbWV0YSddW3N0cmluZ10ge1xuICByZXR1cm4gc3RhdGUubWV0YVtmZXRjaEtleV07XG59XG4iXSwibWFwcGluZ3MiOiJBQUVBLGVBQWUsU0FBU0EsVUFBVUEsQ0FDaENDLEtBQWUsRUFDZkMsUUFBZ0IsRUFDVTtFQUMxQixPQUFPRCxLQUFLLENBQUNFLElBQUksQ0FBQ0QsUUFBUSxDQUFDO0FBQzdCIn0=
@@ -0,0 +1,8 @@
1
+ import * as _legacyActions from './legacyActions.js';
2
+ export { _legacyActions as legacyActions };
3
+ import * as _newActions from './newActions.js';
4
+ export { _newActions as newActions };
5
+ /* maintain backwards compatibility */
6
+ /* TODO: switch to only include newActions in future */
7
+ // put other actions here in union
8
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbGVnYWN5QWN0aW9ucyIsImxlZ2FjeUFjdGlvbnMiLCJfbmV3QWN0aW9ucyIsIm5ld0FjdGlvbnMiXSwic291cmNlcyI6WyIuLi9zcmMvdHlwZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRW5kcG9pbnRJbnRlcmZhY2UsXG4gIE5vcm1hbGl6ZWRJbmRleCxcbiAgU2NoZW1hLFxufSBmcm9tICdAZGF0YS1jbGllbnQvbm9ybWFsaXpyJztcbmltcG9ydCB0eXBlIHtcbiAgVXBkYXRlRnVuY3Rpb24sXG4gIEFic3RyYWN0SW5zdGFuY2VUeXBlLFxufSBmcm9tICdAZGF0YS1jbGllbnQvbm9ybWFsaXpyJztcbmltcG9ydCB0eXBlIHsgRXJyb3JUeXBlcyB9IGZyb20gJ0BkYXRhLWNsaWVudC9ub3JtYWxpenInO1xuXG5pbXBvcnQgeyBSRUNFSVZFX1RZUEUgfSBmcm9tICcuL2FjdGlvblR5cGVzLmpzJztcbmltcG9ydCB7XG4gIENvbXBhdGlibGVGZXRjaEFjdGlvbixcbiAgQ29tcGF0aWJsZVJlY2VpdmVBY3Rpb24sXG4gIENvbXBhdGlibGVTdWJzY3JpYmVBY3Rpb24sXG4gIENvbXBhdGlibGVVbnN1YnNjcmliZUFjdGlvbixcbn0gZnJvbSAnLi9jb21wYXRpYmxlQWN0aW9ucy5qcyc7XG5pbXBvcnQgeyBFbmRwb2ludFVwZGF0ZUZ1bmN0aW9uIH0gZnJvbSAnLi9jb250cm9sbGVyL3R5cGVzLmpzJztcbmltcG9ydCAqIGFzIGxlZ2FjeUFjdGlvbnMgZnJvbSAnLi9sZWdhY3lBY3Rpb25zLmpzJztcbmltcG9ydCB7IERpc3BhdGNoLCBNaWRkbGV3YXJlLCBNaWRkbGV3YXJlQVBJIH0gZnJvbSAnLi9taWRkbGV3YXJlVHlwZXMuanMnO1xuaW1wb3J0ICogYXMgbmV3QWN0aW9ucyBmcm9tICcuL25ld0FjdGlvbnMuanMnO1xuaW1wb3J0ICogYXMgcHJldmlvdXNBY3Rpb25zIGZyb20gJy4vcHJldmlvdXNBY3Rpb25zLmpzJztcblxuZXhwb3J0IHR5cGUgeyBBYnN0cmFjdEluc3RhbmNlVHlwZSwgVXBkYXRlRnVuY3Rpb24gfTtcblxuZXhwb3J0IHR5cGUgUmVjZWl2ZVR5cGVzID0gdHlwZW9mIFJFQ0VJVkVfVFlQRTtcblxuZXhwb3J0IHR5cGUgUEsgPSBzdHJpbmc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RhdGU8VD4ge1xuICByZWFkb25seSBlbnRpdGllczoge1xuICAgIHJlYWRvbmx5IFtlbnRpdHlLZXk6IHN0cmluZ106IHsgcmVhZG9ubHkgW3BrOiBzdHJpbmddOiBUIH0gfCB1bmRlZmluZWQ7XG4gIH07XG4gIHJlYWRvbmx5IGluZGV4ZXM6IE5vcm1hbGl6ZWRJbmRleDtcbiAgcmVhZG9ubHkgcmVzdWx0czogeyByZWFkb25seSBba2V5OiBzdHJpbmddOiB1bmtub3duIHwgUEtbXSB8IFBLIHwgdW5kZWZpbmVkIH07XG4gIHJlYWRvbmx5IG1ldGE6IHtcbiAgICByZWFkb25seSBba2V5OiBzdHJpbmddOiB7XG4gICAgICByZWFkb25seSBkYXRlOiBudW1iZXI7XG4gICAgICByZWFkb25seSBlcnJvcj86IEVycm9yVHlwZXM7XG4gICAgICByZWFkb25seSBleHBpcmVzQXQ6IG51bWJlcjtcbiAgICAgIHJlYWRvbmx5IHByZXZFeHBpcmVzQXQ/OiBudW1iZXI7XG4gICAgICByZWFkb25seSBpbnZhbGlkYXRlZD86IGJvb2xlYW47XG4gICAgICByZWFkb25seSBlcnJvclBvbGljeT86ICdoYXJkJyB8ICdzb2Z0JyB8IHVuZGVmaW5lZDtcbiAgICB9O1xuICB9O1xuICByZWFkb25seSBlbnRpdHlNZXRhOiB7XG4gICAgcmVhZG9ubHkgW2VudGl0eUtleTogc3RyaW5nXToge1xuICAgICAgcmVhZG9ubHkgW3BrOiBzdHJpbmddOiB7XG4gICAgICAgIHJlYWRvbmx5IGRhdGU6IG51bWJlcjtcbiAgICAgICAgcmVhZG9ubHkgZXhwaXJlc0F0OiBudW1iZXI7XG4gICAgICAgIHJlYWRvbmx5IGZldGNoZWRBdDogbnVtYmVyO1xuICAgICAgfTtcbiAgICB9O1xuICB9O1xuICByZWFkb25seSBvcHRpbWlzdGljOiAoXG4gICAgfCBwcmV2aW91c0FjdGlvbnMuUmVjZWl2ZUFjdGlvblxuICAgIHwgcHJldmlvdXNBY3Rpb25zLk9wdGltaXN0aWNBY3Rpb25cbiAgKVtdO1xuICByZWFkb25seSBsYXN0UmVzZXQ6IERhdGUgfCBudW1iZXI7XG59XG5cbmV4cG9ydCAqIGFzIGxlZ2FjeUFjdGlvbnMgZnJvbSAnLi9sZWdhY3lBY3Rpb25zLmpzJztcbmV4cG9ydCAqIGFzIG5ld0FjdGlvbnMgZnJvbSAnLi9uZXdBY3Rpb25zLmpzJztcbmV4cG9ydCB0eXBlIHsgU2V0QWN0aW9uIH0gZnJvbSAnLi9uZXdBY3Rpb25zLmpzJztcblxuLyogbWFpbnRhaW4gYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgKi9cbi8qIFRPRE86IHN3aXRjaCB0byBvbmx5IGluY2x1ZGUgbmV3QWN0aW9ucyBpbiBmdXR1cmUgKi9cbmV4cG9ydCB0eXBlIE9wdGltaXN0aWNBY3Rpb248XG4gIEUgZXh0ZW5kcyBFbmRwb2ludEludGVyZmFjZSAmIHtcbiAgICB1cGRhdGU/OiBFbmRwb2ludFVwZGF0ZUZ1bmN0aW9uPEU+O1xuICB9ID0gRW5kcG9pbnRJbnRlcmZhY2UgJiB7XG4gICAgdXBkYXRlPzogRW5kcG9pbnRVcGRhdGVGdW5jdGlvbjxFbmRwb2ludEludGVyZmFjZT47XG4gIH0sXG4+ID0gbmV3QWN0aW9ucy5PcHRpbWlzdGljQWN0aW9uPEU+O1xuZXhwb3J0IHR5cGUgSW52YWxpZGF0ZUFjdGlvbiA9IG5ld0FjdGlvbnMuSW52YWxpZGF0ZUFjdGlvbjtcbmV4cG9ydCB0eXBlIFJlc2V0QWN0aW9uID0gbmV3QWN0aW9ucy5SZXNldEFjdGlvbiB8IGxlZ2FjeUFjdGlvbnMuUmVzZXRBY3Rpb247XG5leHBvcnQgdHlwZSBHQ0FjdGlvbiA9IG5ld0FjdGlvbnMuR0NBY3Rpb247XG5leHBvcnQgdHlwZSBGZXRjaEFjdGlvbjxcbiAgUGF5bG9hZCBleHRlbmRzIG9iamVjdCB8IHN0cmluZyB8IG51bWJlciB8IG51bGwgPVxuICAgIHwgb2JqZWN0XG4gICAgfCBzdHJpbmdcbiAgICB8IG51bWJlclxuICAgIHwgbnVsbCxcbiAgUyBleHRlbmRzIFNjaGVtYSB8IHVuZGVmaW5lZCA9IGFueSxcbj4gPSBDb21wYXRpYmxlRmV0Y2hBY3Rpb24gfCBsZWdhY3lBY3Rpb25zLkZldGNoQWN0aW9uPFBheWxvYWQsIFM+O1xuZXhwb3J0IHR5cGUgUmVjZWl2ZUFjdGlvbjxcbiAgUGF5bG9hZCBleHRlbmRzIG9iamVjdCB8IHN0cmluZyB8IG51bWJlciB8IG51bGwgPVxuICAgIHwgb2JqZWN0XG4gICAgfCBzdHJpbmdcbiAgICB8IG51bWJlclxuICAgIHwgbnVsbCxcbiAgUyBleHRlbmRzIFNjaGVtYSB8IHVuZGVmaW5lZCA9IGFueSxcbj4gPSBDb21wYXRpYmxlUmVjZWl2ZUFjdGlvbiB8IGxlZ2FjeUFjdGlvbnMuUmVjZWl2ZUFjdGlvbjxQYXlsb2FkLCBTPjtcbmV4cG9ydCB0eXBlIFN1YnNjcmliZUFjdGlvbiA9XG4gIHwgQ29tcGF0aWJsZVN1YnNjcmliZUFjdGlvblxuICB8IGxlZ2FjeUFjdGlvbnMuU3Vic2NyaWJlQWN0aW9uO1xuZXhwb3J0IHR5cGUgVW5zdWJzY3JpYmVBY3Rpb24gPVxuICB8IENvbXBhdGlibGVVbnN1YnNjcmliZUFjdGlvblxuICB8IGxlZ2FjeUFjdGlvbnMuVW5zdWJzY3JpYmVBY3Rpb247XG5cbmV4cG9ydCB0eXBlIFJlc3BvbnNlQWN0aW9ucyA9IFJlY2VpdmVBY3Rpb247XG5cbi8vIHB1dCBvdGhlciBhY3Rpb25zIGhlcmUgaW4gdW5pb25cbmV4cG9ydCB0eXBlIE9sZEFjdGlvblR5cGVzID0gcHJldmlvdXNBY3Rpb25zLkFjdGlvblR5cGVzO1xuXG5leHBvcnQgdHlwZSBDb21iaW5lZEFjdGlvblR5cGVzID1cbiAgfCBPcHRpbWlzdGljQWN0aW9uXG4gIHwgSW52YWxpZGF0ZUFjdGlvblxuICB8IFJlc2V0QWN0aW9uXG4gIHwgR0NBY3Rpb25cbiAgfCBGZXRjaEFjdGlvblxuICB8IFJlY2VpdmVBY3Rpb25cbiAgfCBTdWJzY3JpYmVBY3Rpb25cbiAgfCBVbnN1YnNjcmliZUFjdGlvbjtcblxuZXhwb3J0IHR5cGUgQWN0aW9uVHlwZXMgPSBDb21iaW5lZEFjdGlvblR5cGVzO1xuXG5leHBvcnQgaW50ZXJmYWNlIE1hbmFnZXI8QWN0aW9ucyA9IENvbWJpbmVkQWN0aW9uVHlwZXM+IHtcbiAgZ2V0TWlkZGxld2FyZSgpOiBNaWRkbGV3YXJlPEFjdGlvbnM+O1xuICBjbGVhbnVwKCk6IHZvaWQ7XG4gIGluaXQ/OiAoc3RhdGU6IFN0YXRlPGFueT4pID0+IHZvaWQ7XG59XG5cbmV4cG9ydCB0eXBlIHsgRGlzcGF0Y2gsIE1pZGRsZXdhcmUsIE1pZGRsZXdhcmVBUEkgfTtcbiJdLCJtYXBwaW5ncyI6ImdDQThEK0Isb0JBQW9CO0FBQUEsU0FBQUEsY0FBQSxJQUF2Q0MsYUFBYTtBQUFBLFlBQUFDLFdBQUEsTUFDRyxpQkFBaUI7QUFBQSxTQUFBQSxXQUFBLElBQWpDQyxVQUFVO0FBR3RCO0FBQ0E7QUFvQ0EifQ==
@@ -0,0 +1,11 @@
1
+ export declare const FETCH_TYPE: "rest-hooks/fetch";
2
+ export declare const RECEIVE_TYPE: "rest-hooks/receive";
3
+ export declare const SET_TYPE: "rest-hooks/receive";
4
+ export declare const OPTIMISTIC_TYPE: "rest-hooks/optimistic";
5
+ export declare const RESET_TYPE: "rest-hooks/reset";
6
+ export declare const SUBSCRIBE_TYPE: "rest-hooks/subscribe";
7
+ export declare const UNSUBSCRIBE_TYPE: "rest-hook/unsubscribe";
8
+ export declare const INVALIDATE_TYPE: "rest-hooks/invalidate";
9
+ export declare const INVALIDATEALL_TYPE: "rest-hooks/invalidateall";
10
+ export declare const GC_TYPE: "rest-hooks/gc";
11
+ //# sourceMappingURL=actionTypes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"actionTypes.d.ts","sourceRoot":"","sources":["../src/actionTypes.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU,oBAA8B,CAAC;AAEtD,eAAO,MAAM,YAAY,sBAAgC,CAAC;AAC1D,eAAO,MAAM,QAAQ,sBAAe,CAAC;AACrC,eAAO,MAAM,eAAe,yBAAmC,CAAC;AAChE,eAAO,MAAM,UAAU,oBAA8B,CAAC;AACtD,eAAO,MAAM,cAAc,wBAAkC,CAAC;AAC9D,eAAO,MAAM,gBAAgB,yBAAmC,CAAC;AACjE,eAAO,MAAM,eAAe,yBAAmC,CAAC;AAChE,eAAO,MAAM,kBAAkB,4BAAsC,CAAC;AACtE,eAAO,MAAM,OAAO,iBAA2B,CAAC"}
@@ -0,0 +1,12 @@
1
+ export const FETCH_TYPE = 'rest-hooks/fetch';
2
+ // TODO(breaking): deprecate this
3
+ export const RECEIVE_TYPE = 'rest-hooks/receive';
4
+ export const SET_TYPE = RECEIVE_TYPE;
5
+ export const OPTIMISTIC_TYPE = 'rest-hooks/optimistic';
6
+ export const RESET_TYPE = 'rest-hooks/reset';
7
+ export const SUBSCRIBE_TYPE = 'rest-hooks/subscribe';
8
+ export const UNSUBSCRIBE_TYPE = 'rest-hook/unsubscribe';
9
+ export const INVALIDATE_TYPE = 'rest-hooks/invalidate';
10
+ export const INVALIDATEALL_TYPE = 'rest-hooks/invalidateall';
11
+ export const GC_TYPE = 'rest-hooks/gc';
12
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJGRVRDSF9UWVBFIiwiUkVDRUlWRV9UWVBFIiwiU0VUX1RZUEUiLCJPUFRJTUlTVElDX1RZUEUiLCJSRVNFVF9UWVBFIiwiU1VCU0NSSUJFX1RZUEUiLCJVTlNVQlNDUklCRV9UWVBFIiwiSU5WQUxJREFURV9UWVBFIiwiSU5WQUxJREFURUFMTF9UWVBFIiwiR0NfVFlQRSJdLCJzb3VyY2VzIjpbIi4uL3NyYy9hY3Rpb25UeXBlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgRkVUQ0hfVFlQRSA9ICdyZXN0LWhvb2tzL2ZldGNoJyBhcyBjb25zdDtcbi8vIFRPRE8oYnJlYWtpbmcpOiBkZXByZWNhdGUgdGhpc1xuZXhwb3J0IGNvbnN0IFJFQ0VJVkVfVFlQRSA9ICdyZXN0LWhvb2tzL3JlY2VpdmUnIGFzIGNvbnN0O1xuZXhwb3J0IGNvbnN0IFNFVF9UWVBFID0gUkVDRUlWRV9UWVBFO1xuZXhwb3J0IGNvbnN0IE9QVElNSVNUSUNfVFlQRSA9ICdyZXN0LWhvb2tzL29wdGltaXN0aWMnIGFzIGNvbnN0O1xuZXhwb3J0IGNvbnN0IFJFU0VUX1RZUEUgPSAncmVzdC1ob29rcy9yZXNldCcgYXMgY29uc3Q7XG5leHBvcnQgY29uc3QgU1VCU0NSSUJFX1RZUEUgPSAncmVzdC1ob29rcy9zdWJzY3JpYmUnIGFzIGNvbnN0O1xuZXhwb3J0IGNvbnN0IFVOU1VCU0NSSUJFX1RZUEUgPSAncmVzdC1ob29rL3Vuc3Vic2NyaWJlJyBhcyBjb25zdDtcbmV4cG9ydCBjb25zdCBJTlZBTElEQVRFX1RZUEUgPSAncmVzdC1ob29rcy9pbnZhbGlkYXRlJyBhcyBjb25zdDtcbmV4cG9ydCBjb25zdCBJTlZBTElEQVRFQUxMX1RZUEUgPSAncmVzdC1ob29rcy9pbnZhbGlkYXRlYWxsJyBhcyBjb25zdDtcbmV4cG9ydCBjb25zdCBHQ19UWVBFID0gJ3Jlc3QtaG9va3MvZ2MnIGFzIGNvbnN0O1xuIl0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLE1BQU1BLFVBQVUsR0FBRyxrQkFBMkI7QUFDckQ7QUFDQSxPQUFPLE1BQU1DLFlBQVksR0FBRyxvQkFBNkI7QUFDekQsT0FBTyxNQUFNQyxRQUFRLEdBQUdELFlBQVk7QUFDcEMsT0FBTyxNQUFNRSxlQUFlLEdBQUcsdUJBQWdDO0FBQy9ELE9BQU8sTUFBTUMsVUFBVSxHQUFHLGtCQUEyQjtBQUNyRCxPQUFPLE1BQU1DLGNBQWMsR0FBRyxzQkFBK0I7QUFDN0QsT0FBTyxNQUFNQyxnQkFBZ0IsR0FBRyx1QkFBZ0M7QUFDaEUsT0FBTyxNQUFNQyxlQUFlLEdBQUcsdUJBQWdDO0FBQy9ELE9BQU8sTUFBTUMsa0JBQWtCLEdBQUcsMEJBQW1DO0FBQ3JFLE9BQU8sTUFBTUMsT0FBTyxHQUFHLGVBQXdCIn0=
@@ -0,0 +1,47 @@
1
+ import { EndpointExtraOptions, EndpointInterface, Schema } from '@data-client/normalizr';
2
+ import { FetchAction, FetchMeta, GCAction, InvalidateAction, OptimisticAction, ReceiveActionError, ReceiveActionSuccess, ReceiveMeta, ResetAction, SubscribeAction, UnsubscribeAction } from './newActions.js';
3
+ export interface CompatibleFetchMeta extends FetchMeta {
4
+ key: string;
5
+ schema?: Schema;
6
+ type: 'mutate' | 'read';
7
+ update?: (result: any, ...args: any) => Record<string, (...args: any) => any>;
8
+ options?: EndpointExtraOptions;
9
+ optimisticResponse?: {};
10
+ }
11
+ export interface CompatibleFetchAction<E extends EndpointInterface = EndpointInterface> extends FetchAction<E> {
12
+ meta: CompatibleFetchMeta;
13
+ }
14
+ export interface CompatibleReceiveMeta extends ReceiveMeta {
15
+ key: string;
16
+ schema?: any;
17
+ update?: (result: any, ...args: any) => Record<string, (...args: any) => any>;
18
+ errorPolicy?: (error: any) => 'hard' | 'soft' | undefined;
19
+ }
20
+ export interface CompatibleReceiveActionSuccess<E extends EndpointInterface = EndpointInterface> extends ReceiveActionSuccess<E> {
21
+ meta: CompatibleReceiveMeta;
22
+ payload: any;
23
+ }
24
+ export interface CompatibleReceiveActionError<E extends EndpointInterface = EndpointInterface> extends ReceiveActionError<E> {
25
+ meta: CompatibleReceiveMeta;
26
+ payload: any;
27
+ }
28
+ export type CompatibleReceiveAction<E extends EndpointInterface = EndpointInterface> = CompatibleReceiveActionSuccess<E> | CompatibleReceiveActionError<E>;
29
+ export interface CompatibleSubscribeAction<E extends EndpointInterface = EndpointInterface> extends SubscribeAction<E> {
30
+ meta: {
31
+ args: readonly any[];
32
+ schema: Schema | undefined;
33
+ fetch: () => Promise<any>;
34
+ key: string;
35
+ options: EndpointExtraOptions | undefined;
36
+ };
37
+ }
38
+ export interface CompatibleUnsubscribeAction<E extends EndpointInterface = EndpointInterface> extends UnsubscribeAction<E> {
39
+ meta: {
40
+ args: readonly any[];
41
+ key: string;
42
+ options: EndpointExtraOptions | undefined;
43
+ };
44
+ }
45
+ export type { OptimisticAction, InvalidateAction, ResetAction, GCAction, } from './newActions.js';
46
+ export type CompatibleActionTypes = CompatibleFetchAction | OptimisticAction | CompatibleReceiveAction | CompatibleSubscribeAction | CompatibleUnsubscribeAction | InvalidateAction | ResetAction | GCAction;
47
+ //# sourceMappingURL=compatibleActions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compatibleActions.d.ts","sourceRoot":"","sources":["../src/compatibleActions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vc3JjL2NvbXBhdGlibGVBY3Rpb25zLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIFRoZXNlIGFyZSB0aGUgYWN0aW9ucyBhY3R1YWxseSBjcmVhdGVkICovXG5pbXBvcnQge1xuICBFbmRwb2ludEV4dHJhT3B0aW9ucyxcbiAgRW5kcG9pbnRJbnRlcmZhY2UsXG4gIFNjaGVtYSxcbn0gZnJvbSAnQGRhdGEtY2xpZW50L25vcm1hbGl6cic7XG5cbmltcG9ydCB7XG4gIEZldGNoQWN0aW9uLFxuICBGZXRjaE1ldGEsXG4gIEdDQWN0aW9uLFxuICBJbnZhbGlkYXRlQWN0aW9uLFxuICBPcHRpbWlzdGljQWN0aW9uLFxuICBSZWNlaXZlQWN0aW9uLFxuICBSZWNlaXZlQWN0aW9uRXJyb3IsXG4gIFJlY2VpdmVBY3Rpb25TdWNjZXNzLFxuICBSZWNlaXZlTWV0YSxcbiAgUmVzZXRBY3Rpb24sXG4gIFN1YnNjcmliZUFjdGlvbixcbiAgVW5zdWJzY3JpYmVBY3Rpb24sXG59IGZyb20gJy4vbmV3QWN0aW9ucy5qcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29tcGF0aWJsZUZldGNoTWV0YSBleHRlbmRzIEZldGNoTWV0YSB7XG4gIGtleTogc3RyaW5nO1xuICBzY2hlbWE/OiBTY2hlbWE7XG4gIHR5cGU6ICdtdXRhdGUnIHwgJ3JlYWQnO1xuICB1cGRhdGU/OiAocmVzdWx0OiBhbnksIC4uLmFyZ3M6IGFueSkgPT4gUmVjb3JkPHN0cmluZywgKC4uLmFyZ3M6IGFueSkgPT4gYW55PjtcbiAgb3B0aW9ucz86IEVuZHBvaW50RXh0cmFPcHRpb25zO1xuICBvcHRpbWlzdGljUmVzcG9uc2U/OiB7fTtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgQ29tcGF0aWJsZUZldGNoQWN0aW9uPFxuICBFIGV4dGVuZHMgRW5kcG9pbnRJbnRlcmZhY2UgPSBFbmRwb2ludEludGVyZmFjZSxcbj4gZXh0ZW5kcyBGZXRjaEFjdGlvbjxFPiB7XG4gIG1ldGE6IENvbXBhdGlibGVGZXRjaE1ldGE7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29tcGF0aWJsZVJlY2VpdmVNZXRhIGV4dGVuZHMgUmVjZWl2ZU1ldGEge1xuICBrZXk6IHN0cmluZztcbiAgc2NoZW1hPzogYW55O1xuICB1cGRhdGU/OiAocmVzdWx0OiBhbnksIC4uLmFyZ3M6IGFueSkgPT4gUmVjb3JkPHN0cmluZywgKC4uLmFyZ3M6IGFueSkgPT4gYW55PjtcbiAgZXJyb3JQb2xpY3k/OiAoZXJyb3I6IGFueSkgPT4gJ2hhcmQnIHwgJ3NvZnQnIHwgdW5kZWZpbmVkO1xufVxuZXhwb3J0IGludGVyZmFjZSBDb21wYXRpYmxlUmVjZWl2ZUFjdGlvblN1Y2Nlc3M8XG4gIEUgZXh0ZW5kcyBFbmRwb2ludEludGVyZmFjZSA9IEVuZHBvaW50SW50ZXJmYWNlLFxuPiBleHRlbmRzIFJlY2VpdmVBY3Rpb25TdWNjZXNzPEU+IHtcbiAgbWV0YTogQ29tcGF0aWJsZVJlY2VpdmVNZXRhO1xuICBwYXlsb2FkOiBhbnk7XG59XG5leHBvcnQgaW50ZXJmYWNlIENvbXBhdGlibGVSZWNlaXZlQWN0aW9uRXJyb3I8XG4gIEUgZXh0ZW5kcyBFbmRwb2ludEludGVyZmFjZSA9IEVuZHBvaW50SW50ZXJmYWNlLFxuPiBleHRlbmRzIFJlY2VpdmVBY3Rpb25FcnJvcjxFPiB7XG4gIG1ldGE6IENvbXBhdGlibGVSZWNlaXZlTWV0YTtcbiAgcGF5bG9hZDogYW55O1xufVxuZXhwb3J0IHR5cGUgQ29tcGF0aWJsZVJlY2VpdmVBY3Rpb248XG4gIEUgZXh0ZW5kcyBFbmRwb2ludEludGVyZmFjZSA9IEVuZHBvaW50SW50ZXJmYWNlLFxuPiA9IENvbXBhdGlibGVSZWNlaXZlQWN0aW9uU3VjY2VzczxFPiB8IENvbXBhdGlibGVSZWNlaXZlQWN0aW9uRXJyb3I8RT47XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29tcGF0aWJsZVN1YnNjcmliZUFjdGlvbjxcbiAgRSBleHRlbmRzIEVuZHBvaW50SW50ZXJmYWNlID0gRW5kcG9pbnRJbnRlcmZhY2UsXG4+IGV4dGVuZHMgU3Vic2NyaWJlQWN0aW9uPEU+IHtcbiAgbWV0YToge1xuICAgIGFyZ3M6IHJlYWRvbmx5IGFueVtdO1xuICAgIHNjaGVtYTogU2NoZW1hIHwgdW5kZWZpbmVkO1xuICAgIGZldGNoOiAoKSA9PiBQcm9taXNlPGFueT47XG4gICAga2V5OiBzdHJpbmc7XG4gICAgb3B0aW9uczogRW5kcG9pbnRFeHRyYU9wdGlvbnMgfCB1bmRlZmluZWQ7XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29tcGF0aWJsZVVuc3Vic2NyaWJlQWN0aW9uPFxuICBFIGV4dGVuZHMgRW5kcG9pbnRJbnRlcmZhY2UgPSBFbmRwb2ludEludGVyZmFjZSxcbj4gZXh0ZW5kcyBVbnN1YnNjcmliZUFjdGlvbjxFPiB7XG4gIG1ldGE6IHtcbiAgICBhcmdzOiByZWFkb25seSBhbnlbXTtcbiAgICBrZXk6IHN0cmluZztcbiAgICBvcHRpb25zOiBFbmRwb2ludEV4dHJhT3B0aW9ucyB8IHVuZGVmaW5lZDtcbiAgfTtcbn1cblxuZXhwb3J0IHR5cGUge1xuICBPcHRpbWlzdGljQWN0aW9uLFxuICBJbnZhbGlkYXRlQWN0aW9uLFxuICBSZXNldEFjdGlvbixcbiAgR0NBY3Rpb24sXG59IGZyb20gJy4vbmV3QWN0aW9ucy5qcyc7XG5cbmV4cG9ydCB0eXBlIENvbXBhdGlibGVBY3Rpb25UeXBlcyA9XG4gIHwgQ29tcGF0aWJsZUZldGNoQWN0aW9uXG4gIHwgT3B0aW1pc3RpY0FjdGlvblxuICB8IENvbXBhdGlibGVSZWNlaXZlQWN0aW9uXG4gIHwgQ29tcGF0aWJsZVN1YnNjcmliZUFjdGlvblxuICB8IENvbXBhdGlibGVVbnN1YnNjcmliZUFjdGlvblxuICB8IEludmFsaWRhdGVBY3Rpb25cbiAgfCBSZXNldEFjdGlvblxuICB8IEdDQWN0aW9uO1xuIl0sIm1hcHBpbmdzIjoiIn0=
@@ -0,0 +1,128 @@
1
+ import type { ErrorTypes, SnapshotInterface, DenormalizeCache, Schema } from '@data-client/normalizr';
2
+ import { ExpiryStatus, EndpointInterface, FetchFunction, DenormalizeNullable } from '@data-client/normalizr';
3
+ import type { EndpointUpdateFunction } from './types.js';
4
+ import type { CombinedActionTypes, State } from '../types.js';
5
+ export type GenericDispatch = (value: any) => Promise<void>;
6
+ export type CompatibleDispatch = (value: CombinedActionTypes) => Promise<void>;
7
+ interface ConstructorProps<D extends GenericDispatch = CompatibleDispatch> {
8
+ dispatch?: D;
9
+ getState?: () => State<unknown>;
10
+ globalCache?: DenormalizeCache;
11
+ }
12
+ /**
13
+ * Imperative control of Rest Hooks store
14
+ * @see https://resthooks.io/docs/api/Controller
15
+ */
16
+ export default class Controller<D extends GenericDispatch = CompatibleDispatch> {
17
+ /**
18
+ * Dispatches an action to Rest Hooks reducer.
19
+ *
20
+ * @see https://resthooks.io/docs/api/Controller#dispatch
21
+ */
22
+ readonly dispatch: D;
23
+ /**
24
+ * Gets the latest state snapshot that is fully committed.
25
+ *
26
+ * This can be useful for imperative use-cases like event handlers.
27
+ * This should *not* be used to render; instead useSuspense() or useCache()
28
+ * @see https://resthooks.io/docs/api/Controller#getState
29
+ */
30
+ readonly getState: () => State<unknown>;
31
+ readonly globalCache: DenormalizeCache;
32
+ constructor({ dispatch, getState, globalCache, }?: ConstructorProps<D>);
33
+ /*************** Action Dispatchers ***************/
34
+ /**
35
+ * Forces refetching and suspense on useSuspense with the same Endpoint and parameters.
36
+ * @see https://resthooks.io/docs/api/Controller#invalidate
37
+ */
38
+ invalidate: <E extends EndpointInterface<FetchFunction, Schema | undefined, boolean | undefined>>(endpoint: E, ...args: readonly [...Parameters<E>] | readonly [null]) => Promise<void>;
39
+ /**
40
+ * Forces refetching and suspense on useSuspense on all matching endpoint result keys.
41
+ * @see https://resthooks.io/docs/api/Controller#invalidateAll
42
+ */
43
+ invalidateAll: (options: {
44
+ testKey: (key: string) => boolean;
45
+ }) => Promise<void>;
46
+ /**
47
+ * Resets the entire Rest Hooks cache. All inflight requests will not resolve.
48
+ * @see https://resthooks.io/docs/api/Controller#resetEntireStore
49
+ */
50
+ resetEntireStore: () => Promise<void>;
51
+ /**
52
+ * Stores response in cache for given Endpoint and args.
53
+ * @see https://resthooks.io/docs/api/Controller#set
54
+ */
55
+ setResponse: <E extends EndpointInterface<FetchFunction, Schema | undefined, boolean | undefined> & {
56
+ update?: EndpointUpdateFunction<E> | undefined;
57
+ }>(endpoint: E, ...rest: readonly [...Parameters<E>, any]) => Promise<void>;
58
+ /**
59
+ * Another name for setResponse
60
+ * @see https://resthooks.io/docs/api/Controller#setResponse
61
+ */
62
+ receive: <E extends EndpointInterface<FetchFunction, Schema | undefined, boolean | undefined> & {
63
+ update?: EndpointUpdateFunction<E> | undefined;
64
+ }>(endpoint: E, ...rest: readonly [...Parameters<E>, any]) => Promise<void>;
65
+ /**
66
+ * Stores the result of Endpoint and args as the error provided.
67
+ * @see https://resthooks.io/docs/api/Controller#setError
68
+ */
69
+ setError: <E extends EndpointInterface<FetchFunction, Schema | undefined, boolean | undefined> & {
70
+ update?: EndpointUpdateFunction<E> | undefined;
71
+ }>(endpoint: E, ...rest: readonly [...Parameters<E>, Error]) => Promise<void>;
72
+ /**
73
+ * Another name for setError
74
+ * @see https://resthooks.io/docs/api/Controller#setError
75
+ */
76
+ receiveError: <E extends EndpointInterface<FetchFunction, Schema | undefined, boolean | undefined> & {
77
+ update?: EndpointUpdateFunction<E> | undefined;
78
+ }>(endpoint: E, ...rest: readonly [...Parameters<E>, Error]) => Promise<void>;
79
+ /**
80
+ * Resolves an inflight fetch. `fetchedAt` should `fetch`'s `createdAt`
81
+ * @see https://resthooks.io/docs/api/Controller#resolve
82
+ */
83
+ resolve: <E extends EndpointInterface<FetchFunction, Schema | undefined, boolean | undefined> & {
84
+ update?: EndpointUpdateFunction<E> | undefined;
85
+ }>(endpoint: E, meta: {
86
+ args: readonly [...Parameters<E>];
87
+ response: Error;
88
+ fetchedAt: number;
89
+ error: true;
90
+ } | {
91
+ args: readonly [...Parameters<E>];
92
+ response: any;
93
+ fetchedAt: number;
94
+ error?: false | undefined;
95
+ }) => Promise<void>;
96
+ /**
97
+ * Marks a new subscription to a given Endpoint.
98
+ * @see https://resthooks.io/docs/api/Controller#subscribe
99
+ */
100
+ subscribe: <E extends EndpointInterface<FetchFunction, Schema | undefined, false | undefined>>(endpoint: E, ...args: readonly [null] | readonly [...Parameters<E>]) => Promise<void>;
101
+ /**
102
+ * Marks completion of subscription to a given Endpoint.
103
+ * @see https://resthooks.io/docs/api/Controller#unsubscribe
104
+ */
105
+ unsubscribe: <E extends EndpointInterface<FetchFunction, Schema | undefined, false | undefined>>(endpoint: E, ...args: readonly [null] | readonly [...Parameters<E>]) => Promise<void>;
106
+ /*************** More ***************/
107
+ /**
108
+ * Gets a snapshot (https://resthooks.io/docs/api/Snapshot)
109
+ * @see https://resthooks.io/docs/api/Controller#snapshot
110
+ */
111
+ snapshot: (state: State<unknown>, fetchedAt?: number) => SnapshotInterface;
112
+ /**
113
+ * Gets the error, if any, for a given endpoint. Returns undefined for no errors.
114
+ * @see https://resthooks.io/docs/api/Controller#getError
115
+ */
116
+ getError: <E extends Pick<EndpointInterface<FetchFunction, Schema | undefined, boolean | undefined>, "key">, Args extends readonly [null] | readonly [...Parameters<E["key"]>]>(endpoint: E, ...rest: [...Args, State<unknown>]) => ErrorTypes | undefined;
117
+ /**
118
+ * Gets the (globally referentially stable) response for a given endpoint/args pair from state given.
119
+ * @see https://resthooks.io/docs/api/Controller#getResponse
120
+ */
121
+ getResponse: <E extends Pick<EndpointInterface<FetchFunction, Schema | undefined, boolean | undefined>, "schema" | "key" | "invalidIfStale">, Args extends readonly [null] | readonly [...Parameters<E["key"]>]>(endpoint: E, ...rest: [...Args, State<unknown>]) => {
122
+ data: DenormalizeNullable<E["schema"]>;
123
+ expiryStatus: ExpiryStatus;
124
+ expiresAt: number;
125
+ };
126
+ }
127
+ export type { ErrorTypes };
128
+ //# sourceMappingURL=BaseController.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseController.d.ts","sourceRoot":"","sources":["../../src/controller/BaseController.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,iBAAiB,EACjB,gBAAgB,EAChB,MAAM,EACP,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAEL,YAAY,EACZ,iBAAiB,EACjB,aAAa,EAEb,mBAAmB,EAIpB,MAAM,wBAAwB,CAAC;AAWhC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAGzD,OAAO,KAAK,EAEV,mBAAmB,EACnB,KAAK,EACN,MAAM,aAAa,CAAC;AAErB,MAAM,MAAM,eAAe,GAAG,CAAC,KAAK,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAC5D,MAAM,MAAM,kBAAkB,GAAG,CAAC,KAAK,EAAE,mBAAmB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAG/E,UAAU,gBAAgB,CAAC,CAAC,SAAS,eAAe,GAAG,kBAAkB;IACvE,QAAQ,CAAC,EAAE,CAAC,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC;IAChC,WAAW,CAAC,EAAE,gBAAgB,CAAC;CAChC;AAcD;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,UAAU,CAC7B,CAAC,SAAS,eAAe,GAAG,kBAAkB;IAE9C;;;;OAIG;IACH,SAAiB,QAAQ,EAAE,CAAC,CAAC;IAC7B;;;;;;OAMG;IACH,SAAiB,QAAQ,EAAE,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC;IAChD,SAAiB,WAAW,EAAE,gBAAgB,CAAC;gBAEnC,EACV,QAA+B,EAC/B,QAAqB,EACrB,WAGC,GACF,GAAE,gBAAgB,CAAC,CAAC,CAAM;IAM3B,oDAAoD;IAEpD;;;OAGG;IACH,UAAU,gKAGP,QAAQ,IAAI,CAAC,CAOQ;IAExB;;;OAGG;IACH,aAAa;uBAA8B,MAAM,KAAK,OAAO;wBACe;IAE5E;;;OAGG;IACH,gBAAgB,QAAO,QAAQ,IAAI,CAAC,CAAiC;IAErE;;;OAGG;IACH,WAAW;;kEAOR,QAAQ,IAAI,CAAC,CAOd;IAGF;;;OAGG;IACwB,OAAO;;kEAO/B,QAAQ,IAAI,CAAC,CAGd;IAEF;;;OAGG;IACH,QAAQ;;oEAOL,QAAQ,IAAI,CAAC,CAQd;IAGF;;;OAGG;IACwB,YAAY;;oEAOpC,QAAQ,IAAI,CAAC,CAGd;IAEF;;;OAGG;IACH,OAAO;;;;kBASW,KAAK;mBACJ,MAAM;eACV,IAAI;;;kBAID,GAAG;mBACF,MAAM;;UAGtB,QAAQ,IAAI,CAAC,CAEd;IAEF;;;OAGG;IACH,SAAS,8JASN,QAAQ,IAAI,CAAC,CAOQ;IAExB;;;OAGG;IACH,WAAW,8JASR,QAAQ,IAAI,CAAC,CAOQ;IAExB,sCAAsC;IAStC;;;OAGG;IACH,QAAQ,UAAW,MAAM,OAAO,CAAC,cAAc,MAAM,KAAG,iBAAiB,CAEvE;IAEF;;;OAGG;IACH,QAAQ,4NAML,UAAU,GAAG,SAAS,CAavB;IAEF;;;OAGG;IACH,WAAW;;sBAQK,YAAY;mBACf,MAAM;MAiGjB;CACH;AA4CD,YAAY,EAAE,UAAU,EAAE,CAAC"}