@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,19 @@
1
+ import { Schema } from '@data-client/normalizr';
2
+ import { FetchShape, SchemaFromShape, ParamsFromShape, BodyFromShape, OptimisticUpdateParams } from '../../endpoint/index.js';
3
+ import { FetchAction } from '../../legacyActions.js';
4
+ interface Options<Shape extends FetchShape<Schema | undefined, Readonly<object>, Readonly<object | string> | void>> {
5
+ params: ParamsFromShape<Shape>;
6
+ body?: BodyFromShape<Shape>;
7
+ throttle: boolean;
8
+ updateParams?: OptimisticUpdateParams<SchemaFromShape<Shape>, FetchShape<Schema | undefined, any, any>>[] | undefined;
9
+ }
10
+ /** Requesting a fetch to begin
11
+ *
12
+ * @param fetchShape
13
+ * @param param1 { params, body, throttle, updateParams }
14
+ */
15
+ export default function createFetch<Shape extends FetchShape<Schema | undefined, Readonly<object>, Readonly<object | string> | void>>(fetchShape: Shape & {
16
+ update?: (...args: any) => Record<string, (...args: any) => any>;
17
+ }, { params, body, throttle, updateParams }: Options<Shape>): FetchAction;
18
+ export {};
19
+ //# sourceMappingURL=createFetch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createFetch.d.ts","sourceRoot":"","sources":["../../../src/state/legacy-actions/createFetch.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAGhD,OAAO,EACL,UAAU,EACV,eAAe,EACf,eAAe,EACf,aAAa,EACb,sBAAsB,EACvB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAErD,UAAU,OAAO,CACf,KAAK,SAAS,UAAU,CACtB,MAAM,GAAG,SAAS,EAClB,QAAQ,CAAC,MAAM,CAAC,EAChB,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,IAAI,CACjC;IAED,MAAM,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC;IAC/B,IAAI,CAAC,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;IAC5B,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EACT,sBAAsB,CACpB,eAAe,CAAC,KAAK,CAAC,EACtB,UAAU,CAAC,MAAM,GAAG,SAAS,EAAE,GAAG,EAAE,GAAG,CAAC,CACzC,EAAE,GACH,SAAS,CAAC;CACf;AAED;;;;GAIG;AACH,MAAM,CAAC,OAAO,UAAU,WAAW,CACjC,KAAK,SAAS,UAAU,CACtB,MAAM,GAAG,SAAS,EAClB,QAAQ,CAAC,MAAM,CAAC,EAChB,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,IAAI,CACjC,EAED,UAAU,EAAE,KAAK,GAAG;IAClB,MAAM,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,GAAG,CAAC,CAAC;CAClE,EACD,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC,GACvD,WAAW,CA+Cb"}
@@ -0,0 +1,62 @@
1
+ // TODO(breaking): remove file - not used
2
+
3
+ import { FETCH_TYPE } from '../../actionTypes.js';
4
+ /** Requesting a fetch to begin
5
+ *
6
+ * @param fetchShape
7
+ * @param param1 { params, body, throttle, updateParams }
8
+ */
9
+ export default function createFetch(fetchShape, {
10
+ params,
11
+ body,
12
+ throttle,
13
+ updateParams
14
+ }) {
15
+ const {
16
+ schema,
17
+ type,
18
+ getFetchKey,
19
+ options
20
+ } = fetchShape;
21
+ const key = getFetchKey(params);
22
+ let resolve = 0;
23
+ let reject = 0;
24
+ const promise = new Promise((a, b) => {
25
+ [resolve, reject] = [a, b];
26
+ });
27
+ const meta = {
28
+ schema,
29
+ type,
30
+ args: [params, body],
31
+ key,
32
+ throttle,
33
+ options,
34
+ resolve,
35
+ reject,
36
+ promise,
37
+ createdAt: Date.now()
38
+ };
39
+ if (fetchShape.update) {
40
+ meta.update = fetchShape.update;
41
+ }
42
+
43
+ // for simplicity we simply override if updateParams are defined - usage together is silly to support as we are migrating
44
+ if (updateParams) {
45
+ meta.update = newresult => {
46
+ const updateMap = {};
47
+ updateParams.forEach(([toShape, toParams, updateFn]) => {
48
+ updateMap[toShape.getFetchKey(toParams)] = existing => updateFn(newresult, existing);
49
+ });
50
+ return updateMap;
51
+ };
52
+ }
53
+ if (options != null && options.optimisticUpdate) {
54
+ meta.optimisticResponse = options.optimisticUpdate(params, body);
55
+ }
56
+ return {
57
+ type: FETCH_TYPE,
58
+ payload: () => fetchShape.fetch(params, body),
59
+ meta
60
+ };
61
+ }
62
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJGRVRDSF9UWVBFIiwiY3JlYXRlRmV0Y2giLCJmZXRjaFNoYXBlIiwicGFyYW1zIiwiYm9keSIsInRocm90dGxlIiwidXBkYXRlUGFyYW1zIiwic2NoZW1hIiwidHlwZSIsImdldEZldGNoS2V5Iiwib3B0aW9ucyIsImtleSIsInJlc29sdmUiLCJyZWplY3QiLCJwcm9taXNlIiwiUHJvbWlzZSIsImEiLCJiIiwibWV0YSIsImFyZ3MiLCJjcmVhdGVkQXQiLCJEYXRlIiwibm93IiwidXBkYXRlIiwibmV3cmVzdWx0IiwidXBkYXRlTWFwIiwiZm9yRWFjaCIsInRvU2hhcGUiLCJ0b1BhcmFtcyIsInVwZGF0ZUZuIiwiZXhpc3RpbmciLCJvcHRpbWlzdGljVXBkYXRlIiwib3B0aW1pc3RpY1Jlc3BvbnNlIiwicGF5bG9hZCIsImZldGNoIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3N0YXRlL2xlZ2FjeS1hY3Rpb25zL2NyZWF0ZUZldGNoLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIFRPRE8oYnJlYWtpbmcpOiByZW1vdmUgZmlsZSAtIG5vdCB1c2VkXG5pbXBvcnQgeyBTY2hlbWEgfSBmcm9tICdAZGF0YS1jbGllbnQvbm9ybWFsaXpyJztcblxuaW1wb3J0IHsgRkVUQ0hfVFlQRSB9IGZyb20gJy4uLy4uL2FjdGlvblR5cGVzLmpzJztcbmltcG9ydCB7XG4gIEZldGNoU2hhcGUsXG4gIFNjaGVtYUZyb21TaGFwZSxcbiAgUGFyYW1zRnJvbVNoYXBlLFxuICBCb2R5RnJvbVNoYXBlLFxuICBPcHRpbWlzdGljVXBkYXRlUGFyYW1zLFxufSBmcm9tICcuLi8uLi9lbmRwb2ludC9pbmRleC5qcyc7XG5pbXBvcnQgeyBGZXRjaEFjdGlvbiB9IGZyb20gJy4uLy4uL2xlZ2FjeUFjdGlvbnMuanMnO1xuXG5pbnRlcmZhY2UgT3B0aW9uczxcbiAgU2hhcGUgZXh0ZW5kcyBGZXRjaFNoYXBlPFxuICAgIFNjaGVtYSB8IHVuZGVmaW5lZCxcbiAgICBSZWFkb25seTxvYmplY3Q+LFxuICAgIFJlYWRvbmx5PG9iamVjdCB8IHN0cmluZz4gfCB2b2lkXG4gID4sXG4+IHtcbiAgcGFyYW1zOiBQYXJhbXNGcm9tU2hhcGU8U2hhcGU+O1xuICBib2R5PzogQm9keUZyb21TaGFwZTxTaGFwZT47XG4gIHRocm90dGxlOiBib29sZWFuO1xuICB1cGRhdGVQYXJhbXM/OlxuICAgIHwgT3B0aW1pc3RpY1VwZGF0ZVBhcmFtczxcbiAgICAgICAgU2NoZW1hRnJvbVNoYXBlPFNoYXBlPixcbiAgICAgICAgRmV0Y2hTaGFwZTxTY2hlbWEgfCB1bmRlZmluZWQsIGFueSwgYW55PlxuICAgICAgPltdXG4gICAgfCB1bmRlZmluZWQ7XG59XG5cbi8qKiBSZXF1ZXN0aW5nIGEgZmV0Y2ggdG8gYmVnaW5cbiAqXG4gKiBAcGFyYW0gZmV0Y2hTaGFwZVxuICogQHBhcmFtIHBhcmFtMSB7IHBhcmFtcywgYm9keSwgdGhyb3R0bGUsIHVwZGF0ZVBhcmFtcyB9XG4gKi9cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGNyZWF0ZUZldGNoPFxuICBTaGFwZSBleHRlbmRzIEZldGNoU2hhcGU8XG4gICAgU2NoZW1hIHwgdW5kZWZpbmVkLFxuICAgIFJlYWRvbmx5PG9iamVjdD4sXG4gICAgUmVhZG9ubHk8b2JqZWN0IHwgc3RyaW5nPiB8IHZvaWRcbiAgPixcbj4oXG4gIGZldGNoU2hhcGU6IFNoYXBlICYge1xuICAgIHVwZGF0ZT86ICguLi5hcmdzOiBhbnkpID0+IFJlY29yZDxzdHJpbmcsICguLi5hcmdzOiBhbnkpID0+IGFueT47XG4gIH0sXG4gIHsgcGFyYW1zLCBib2R5LCB0aHJvdHRsZSwgdXBkYXRlUGFyYW1zIH06IE9wdGlvbnM8U2hhcGU+LFxuKTogRmV0Y2hBY3Rpb24ge1xuICBjb25zdCB7IHNjaGVtYSwgdHlwZSwgZ2V0RmV0Y2hLZXksIG9wdGlvbnMgfSA9IGZldGNoU2hhcGU7XG5cbiAgY29uc3Qga2V5ID0gZ2V0RmV0Y2hLZXkocGFyYW1zKTtcbiAgbGV0IHJlc29sdmU6ICh2YWx1ZT86IGFueSB8IFByb21pc2VMaWtlPGFueT4pID0+IHZvaWQgPSAwIGFzIGFueTtcbiAgbGV0IHJlamVjdDogKHJlYXNvbj86IGFueSkgPT4gdm9pZCA9IDAgYXMgYW55O1xuICBjb25zdCBwcm9taXNlID0gbmV3IFByb21pc2U8YW55PigoYSwgYikgPT4ge1xuICAgIFtyZXNvbHZlLCByZWplY3RdID0gW2EsIGJdO1xuICB9KTtcbiAgY29uc3QgbWV0YTogRmV0Y2hBY3Rpb25bJ21ldGEnXSA9IHtcbiAgICBzY2hlbWEsXG4gICAgdHlwZSxcbiAgICBhcmdzOiBbcGFyYW1zLCBib2R5XSxcbiAgICBrZXksXG4gICAgdGhyb3R0bGUsXG4gICAgb3B0aW9ucyxcbiAgICByZXNvbHZlLFxuICAgIHJlamVjdCxcbiAgICBwcm9taXNlLFxuICAgIGNyZWF0ZWRBdDogRGF0ZS5ub3coKSxcbiAgfTtcblxuICBpZiAoZmV0Y2hTaGFwZS51cGRhdGUpIHtcbiAgICBtZXRhLnVwZGF0ZSA9IGZldGNoU2hhcGUudXBkYXRlO1xuICB9XG5cbiAgLy8gZm9yIHNpbXBsaWNpdHkgd2Ugc2ltcGx5IG92ZXJyaWRlIGlmIHVwZGF0ZVBhcmFtcyBhcmUgZGVmaW5lZCAtIHVzYWdlIHRvZ2V0aGVyIGlzIHNpbGx5IHRvIHN1cHBvcnQgYXMgd2UgYXJlIG1pZ3JhdGluZ1xuICBpZiAodXBkYXRlUGFyYW1zKSB7XG4gICAgbWV0YS51cGRhdGUgPSAobmV3cmVzdWx0OiBhbnkpOiBSZWNvcmQ8c3RyaW5nLCAoLi4uYXJnczogYW55KSA9PiBhbnk+ID0+IHtcbiAgICAgIGNvbnN0IHVwZGF0ZU1hcDogYW55ID0ge307XG4gICAgICB1cGRhdGVQYXJhbXMuZm9yRWFjaCgoW3RvU2hhcGUsIHRvUGFyYW1zLCB1cGRhdGVGbl0pID0+IHtcbiAgICAgICAgdXBkYXRlTWFwW3RvU2hhcGUuZ2V0RmV0Y2hLZXkodG9QYXJhbXMpXSA9IChleGlzdGluZzogYW55KSA9PlxuICAgICAgICAgIHVwZGF0ZUZuKG5ld3Jlc3VsdCwgZXhpc3RpbmcpO1xuICAgICAgfSk7XG4gICAgICByZXR1cm4gdXBkYXRlTWFwO1xuICAgIH07XG4gIH1cblxuICBpZiAob3B0aW9ucz8ub3B0aW1pc3RpY1VwZGF0ZSkge1xuICAgIG1ldGEub3B0aW1pc3RpY1Jlc3BvbnNlID0gb3B0aW9ucy5vcHRpbWlzdGljVXBkYXRlKHBhcmFtcywgYm9keSk7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIHR5cGU6IEZFVENIX1RZUEUsXG4gICAgcGF5bG9hZDogKCkgPT4gZmV0Y2hTaGFwZS5mZXRjaChwYXJhbXMsIGJvZHkpLFxuICAgIG1ldGEsXG4gIH07XG59XG4iXSwibWFwcGluZ3MiOiJBQUFBOztBQUdBLFNBQVNBLFVBQVUsUUFBUSxzQkFBc0I7QUE0QmpEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLFNBQVNDLFdBQVdBLENBT2pDQyxVQUVDLEVBQ0Q7RUFBRUMsTUFBTTtFQUFFQyxJQUFJO0VBQUVDLFFBQVE7RUFBRUM7QUFBNkIsQ0FBQyxFQUMzQztFQUNiLE1BQU07SUFBRUMsTUFBTTtJQUFFQyxJQUFJO0lBQUVDLFdBQVc7SUFBRUM7RUFBUSxDQUFDLEdBQUdSLFVBQVU7RUFFekQsTUFBTVMsR0FBRyxHQUFHRixXQUFXLENBQUNOLE1BQU0sQ0FBQztFQUMvQixJQUFJUyxPQUFpRCxHQUFHLENBQVE7RUFDaEUsSUFBSUMsTUFBOEIsR0FBRyxDQUFRO0VBQzdDLE1BQU1DLE9BQU8sR0FBRyxJQUFJQyxPQUFPLENBQU0sQ0FBQ0MsQ0FBQyxFQUFFQyxDQUFDLEtBQUs7SUFDekMsQ0FBQ0wsT0FBTyxFQUFFQyxNQUFNLENBQUMsR0FBRyxDQUFDRyxDQUFDLEVBQUVDLENBQUMsQ0FBQztFQUM1QixDQUFDLENBQUM7RUFDRixNQUFNQyxJQUF5QixHQUFHO0lBQ2hDWCxNQUFNO0lBQ05DLElBQUk7SUFDSlcsSUFBSSxFQUFFLENBQUNoQixNQUFNLEVBQUVDLElBQUksQ0FBQztJQUNwQk8sR0FBRztJQUNITixRQUFRO0lBQ1JLLE9BQU87SUFDUEUsT0FBTztJQUNQQyxNQUFNO0lBQ05DLE9BQU87SUFDUE0sU0FBUyxFQUFFQyxJQUFJLENBQUNDLEdBQUcsQ0FBQztFQUN0QixDQUFDO0VBRUQsSUFBSXBCLFVBQVUsQ0FBQ3FCLE1BQU0sRUFBRTtJQUNyQkwsSUFBSSxDQUFDSyxNQUFNLEdBQUdyQixVQUFVLENBQUNxQixNQUFNO0VBQ2pDOztFQUVBO0VBQ0EsSUFBSWpCLFlBQVksRUFBRTtJQUNoQlksSUFBSSxDQUFDSyxNQUFNLEdBQUlDLFNBQWMsSUFBNEM7TUFDdkUsTUFBTUMsU0FBYyxHQUFHLENBQUMsQ0FBQztNQUN6Qm5CLFlBQVksQ0FBQ29CLE9BQU8sQ0FBQyxDQUFDLENBQUNDLE9BQU8sRUFBRUMsUUFBUSxFQUFFQyxRQUFRLENBQUMsS0FBSztRQUN0REosU0FBUyxDQUFDRSxPQUFPLENBQUNsQixXQUFXLENBQUNtQixRQUFRLENBQUMsQ0FBQyxHQUFJRSxRQUFhLElBQ3ZERCxRQUFRLENBQUNMLFNBQVMsRUFBRU0sUUFBUSxDQUFDO01BQ2pDLENBQUMsQ0FBQztNQUNGLE9BQU9MLFNBQVM7SUFDbEIsQ0FBQztFQUNIO0VBRUEsSUFBSWYsT0FBTyxZQUFQQSxPQUFPLENBQUVxQixnQkFBZ0IsRUFBRTtJQUM3QmIsSUFBSSxDQUFDYyxrQkFBa0IsR0FBR3RCLE9BQU8sQ0FBQ3FCLGdCQUFnQixDQUFDNUIsTUFBTSxFQUFFQyxJQUFJLENBQUM7RUFDbEU7RUFFQSxPQUFPO0lBQ0xJLElBQUksRUFBRVIsVUFBVTtJQUNoQmlDLE9BQU8sRUFBRUEsQ0FBQSxLQUFNL0IsVUFBVSxDQUFDZ0MsS0FBSyxDQUFDL0IsTUFBTSxFQUFFQyxJQUFJLENBQUM7SUFDN0NjO0VBQ0YsQ0FBQztBQUNIIn0=
@@ -0,0 +1,14 @@
1
+ import type { Schema, EndpointExtraOptions as FetchOptions } from '@data-client/normalizr';
2
+ import { FetchAction, ReceiveAction } from '../../legacyActions.js';
3
+ interface Options<Payload extends object | string | number | null = object | string | number | null, S extends Schema | undefined = any> extends Pick<FetchAction<Payload, S>['meta'], 'schema' | 'key' | 'type' | 'updaters' | 'update' | 'args'> {
4
+ dataExpiryLength: NonNullable<FetchOptions['dataExpiryLength']>;
5
+ fetchedAt?: number;
6
+ }
7
+ /** Update state with data
8
+ *
9
+ * @param data
10
+ * @param param1 { schema, key, type, updaters, dataExpiryLength }
11
+ */
12
+ export default function createReceive<Payload extends object | string | number | null = object | string | number | null, S extends Schema | undefined = any>(data: Payload, { schema, key, args, updaters, fetchedAt, update, dataExpiryLength, }: Options<Payload, S>): ReceiveAction<Payload, S>;
13
+ export {};
14
+ //# sourceMappingURL=createReceive.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createReceive.d.ts","sourceRoot":"","sources":["../../../src/state/legacy-actions/createReceive.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EACN,oBAAoB,IAAI,YAAY,EACrC,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAEpE,UAAU,OAAO,CACf,OAAO,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,GAC3C,MAAM,GACN,MAAM,GACN,MAAM,GACN,IAAI,EACR,CAAC,SAAS,MAAM,GAAG,SAAS,GAAG,GAAG,CAClC,SAAQ,IAAI,CACV,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAC/B,QAAQ,GAAG,KAAK,GAAG,MAAM,GAAG,UAAU,GAAG,QAAQ,GAAG,MAAM,CAC3D;IACD,gBAAgB,EAAE,WAAW,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAChE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;GAIG;AACH,MAAM,CAAC,OAAO,UAAU,aAAa,CACnC,OAAO,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,GAC3C,MAAM,GACN,MAAM,GACN,MAAM,GACN,IAAI,EACR,CAAC,SAAS,MAAM,GAAG,SAAS,GAAG,GAAG,EAElC,IAAI,EAAE,OAAO,EACb,EACE,MAAM,EACN,GAAG,EACH,IAAI,EACJ,QAAQ,EACR,SAAa,EACb,MAAM,EACN,gBAAgB,GACjB,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,GACrB,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC,CAqB3B"}
@@ -0,0 +1,37 @@
1
+ import { RECEIVE_TYPE } from '../../actionTypes.js';
2
+ /** Update state with data
3
+ *
4
+ * @param data
5
+ * @param param1 { schema, key, type, updaters, dataExpiryLength }
6
+ */
7
+ export default function createReceive(data, {
8
+ schema,
9
+ key,
10
+ args,
11
+ updaters,
12
+ fetchedAt = 0,
13
+ update,
14
+ dataExpiryLength
15
+ }) {
16
+ /* istanbul ignore next */
17
+ if (process.env.NODE_ENV === 'development' && dataExpiryLength < 0) {
18
+ throw new Error('Negative dataExpiryLength are not allowed.');
19
+ }
20
+ const now = Date.now();
21
+ const meta = {
22
+ schema,
23
+ key,
24
+ args,
25
+ date: now,
26
+ fetchedAt,
27
+ expiresAt: now + dataExpiryLength
28
+ };
29
+ meta.updaters = updaters;
30
+ meta.update = update;
31
+ return {
32
+ type: RECEIVE_TYPE,
33
+ payload: data,
34
+ meta
35
+ };
36
+ }
37
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSRUNFSVZFX1RZUEUiLCJjcmVhdGVSZWNlaXZlIiwiZGF0YSIsInNjaGVtYSIsImtleSIsImFyZ3MiLCJ1cGRhdGVycyIsImZldGNoZWRBdCIsInVwZGF0ZSIsImRhdGFFeHBpcnlMZW5ndGgiLCJwcm9jZXNzIiwiZW52IiwiTk9ERV9FTlYiLCJFcnJvciIsIm5vdyIsIkRhdGUiLCJtZXRhIiwiZGF0ZSIsImV4cGlyZXNBdCIsInR5cGUiLCJwYXlsb2FkIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3N0YXRlL2xlZ2FjeS1hY3Rpb25zL2NyZWF0ZVJlY2VpdmUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1xuICBTY2hlbWEsXG4gIEVuZHBvaW50RXh0cmFPcHRpb25zIGFzIEZldGNoT3B0aW9ucyxcbn0gZnJvbSAnQGRhdGEtY2xpZW50L25vcm1hbGl6cic7XG5cbmltcG9ydCB7IFJFQ0VJVkVfVFlQRSB9IGZyb20gJy4uLy4uL2FjdGlvblR5cGVzLmpzJztcbmltcG9ydCB7IEZldGNoQWN0aW9uLCBSZWNlaXZlQWN0aW9uIH0gZnJvbSAnLi4vLi4vbGVnYWN5QWN0aW9ucy5qcyc7XG5cbmludGVyZmFjZSBPcHRpb25zPFxuICBQYXlsb2FkIGV4dGVuZHMgb2JqZWN0IHwgc3RyaW5nIHwgbnVtYmVyIHwgbnVsbCA9XG4gICAgfCBvYmplY3RcbiAgICB8IHN0cmluZ1xuICAgIHwgbnVtYmVyXG4gICAgfCBudWxsLFxuICBTIGV4dGVuZHMgU2NoZW1hIHwgdW5kZWZpbmVkID0gYW55LFxuPiBleHRlbmRzIFBpY2s8XG4gICAgRmV0Y2hBY3Rpb248UGF5bG9hZCwgUz5bJ21ldGEnXSxcbiAgICAnc2NoZW1hJyB8ICdrZXknIHwgJ3R5cGUnIHwgJ3VwZGF0ZXJzJyB8ICd1cGRhdGUnIHwgJ2FyZ3MnXG4gID4ge1xuICBkYXRhRXhwaXJ5TGVuZ3RoOiBOb25OdWxsYWJsZTxGZXRjaE9wdGlvbnNbJ2RhdGFFeHBpcnlMZW5ndGgnXT47XG4gIGZldGNoZWRBdD86IG51bWJlcjtcbn1cblxuLyoqIFVwZGF0ZSBzdGF0ZSB3aXRoIGRhdGFcbiAqXG4gKiBAcGFyYW0gZGF0YVxuICogQHBhcmFtIHBhcmFtMSB7IHNjaGVtYSwga2V5LCB0eXBlLCB1cGRhdGVycywgZGF0YUV4cGlyeUxlbmd0aCB9XG4gKi9cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGNyZWF0ZVJlY2VpdmU8XG4gIFBheWxvYWQgZXh0ZW5kcyBvYmplY3QgfCBzdHJpbmcgfCBudW1iZXIgfCBudWxsID1cbiAgICB8IG9iamVjdFxuICAgIHwgc3RyaW5nXG4gICAgfCBudW1iZXJcbiAgICB8IG51bGwsXG4gIFMgZXh0ZW5kcyBTY2hlbWEgfCB1bmRlZmluZWQgPSBhbnksXG4+KFxuICBkYXRhOiBQYXlsb2FkLFxuICB7XG4gICAgc2NoZW1hLFxuICAgIGtleSxcbiAgICBhcmdzLFxuICAgIHVwZGF0ZXJzLFxuICAgIGZldGNoZWRBdCA9IDAsXG4gICAgdXBkYXRlLFxuICAgIGRhdGFFeHBpcnlMZW5ndGgsXG4gIH06IE9wdGlvbnM8UGF5bG9hZCwgUz4sXG4pOiBSZWNlaXZlQWN0aW9uPFBheWxvYWQsIFM+IHtcbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSAnZGV2ZWxvcG1lbnQnICYmIGRhdGFFeHBpcnlMZW5ndGggPCAwKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdOZWdhdGl2ZSBkYXRhRXhwaXJ5TGVuZ3RoIGFyZSBub3QgYWxsb3dlZC4nKTtcbiAgfVxuICBjb25zdCBub3cgPSBEYXRlLm5vdygpO1xuICBjb25zdCBtZXRhOiBSZWNlaXZlQWN0aW9uWydtZXRhJ10gPSB7XG4gICAgc2NoZW1hLFxuICAgIGtleSxcbiAgICBhcmdzLFxuICAgIGRhdGU6IG5vdyxcbiAgICBmZXRjaGVkQXQsXG4gICAgZXhwaXJlc0F0OiBub3cgKyBkYXRhRXhwaXJ5TGVuZ3RoLFxuICB9O1xuICBtZXRhLnVwZGF0ZXJzID0gdXBkYXRlcnM7XG4gIG1ldGEudXBkYXRlID0gdXBkYXRlO1xuICByZXR1cm4ge1xuICAgIHR5cGU6IFJFQ0VJVkVfVFlQRSxcbiAgICBwYXlsb2FkOiBkYXRhLFxuICAgIG1ldGEsXG4gIH07XG59XG4iXSwibWFwcGluZ3MiOiJBQUtBLFNBQVNBLFlBQVksUUFBUSxzQkFBc0I7QUFrQm5EO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLFNBQVNDLGFBQWFBLENBUW5DQyxJQUFhLEVBQ2I7RUFDRUMsTUFBTTtFQUNOQyxHQUFHO0VBQ0hDLElBQUk7RUFDSkMsUUFBUTtFQUNSQyxTQUFTLEdBQUcsQ0FBQztFQUNiQyxNQUFNO0VBQ05DO0FBQ21CLENBQUMsRUFDSztFQUMzQjtFQUNBLElBQUlDLE9BQU8sQ0FBQ0MsR0FBRyxDQUFDQyxRQUFRLEtBQUssYUFBYSxJQUFJSCxnQkFBZ0IsR0FBRyxDQUFDLEVBQUU7SUFDbEUsTUFBTSxJQUFJSSxLQUFLLENBQUMsNENBQTRDLENBQUM7RUFDL0Q7RUFDQSxNQUFNQyxHQUFHLEdBQUdDLElBQUksQ0FBQ0QsR0FBRyxDQUFDLENBQUM7RUFDdEIsTUFBTUUsSUFBMkIsR0FBRztJQUNsQ2IsTUFBTTtJQUNOQyxHQUFHO0lBQ0hDLElBQUk7SUFDSlksSUFBSSxFQUFFSCxHQUFHO0lBQ1RQLFNBQVM7SUFDVFcsU0FBUyxFQUFFSixHQUFHLEdBQUdMO0VBQ25CLENBQUM7RUFDRE8sSUFBSSxDQUFDVixRQUFRLEdBQUdBLFFBQVE7RUFDeEJVLElBQUksQ0FBQ1IsTUFBTSxHQUFHQSxNQUFNO0VBQ3BCLE9BQU87SUFDTFcsSUFBSSxFQUFFbkIsWUFBWTtJQUNsQm9CLE9BQU8sRUFBRWxCLElBQUk7SUFDYmM7RUFDRixDQUFDO0FBQ0gifQ==
@@ -0,0 +1,9 @@
1
+ import { Schema, EndpointExtraOptions as FetchOptions } from '@data-client/normalizr';
2
+ import { FetchAction, ReceiveAction } from '../../legacyActions.js';
3
+ interface Options<S extends Schema | undefined = any> extends Pick<FetchAction<any, S>['meta'], 'schema' | 'key' | 'options'> {
4
+ errorExpiryLength?: NonNullable<FetchOptions['errorExpiryLength']>;
5
+ fetchedAt?: number;
6
+ }
7
+ export default function createReceiveError<S extends Schema | undefined = any>(error: Error, { schema, key, options, errorExpiryLength, fetchedAt, }: Options<S>): ReceiveAction;
8
+ export {};
9
+ //# sourceMappingURL=createReceiveError.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createReceiveError.d.ts","sourceRoot":"","sources":["../../../src/state/legacy-actions/createReceiveError.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,oBAAoB,IAAI,YAAY,EACrC,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAEpE,UAAU,OAAO,CAAC,CAAC,SAAS,MAAM,GAAG,SAAS,GAAG,GAAG,CAClD,SAAQ,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,QAAQ,GAAG,KAAK,GAAG,SAAS,CAAC;IACvE,iBAAiB,CAAC,EAAE,WAAW,CAAC,YAAY,CAAC,mBAAmB,CAAC,CAAC,CAAC;IACnE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,CAAC,SAAS,MAAM,GAAG,SAAS,GAAG,GAAG,EAC3E,KAAK,EAAE,KAAK,EACZ,EACE,MAAM,EACN,GAAG,EACH,OAAO,EACP,iBAAyB,EACzB,SAAa,GACd,EAAE,OAAO,CAAC,CAAC,CAAC,GACZ,aAAa,CAmBf"}
@@ -0,0 +1,28 @@
1
+ import { RECEIVE_TYPE } from '../../actionTypes.js';
2
+ export default function createReceiveError(error, {
3
+ schema,
4
+ key,
5
+ options,
6
+ errorExpiryLength = 60000,
7
+ fetchedAt = 0
8
+ }) {
9
+ /* istanbul ignore next */
10
+ if (process.env.NODE_ENV === 'development' && errorExpiryLength < 0) {
11
+ throw new Error('Negative errorExpiryLength are not allowed.');
12
+ }
13
+ const now = Date.now();
14
+ return {
15
+ type: RECEIVE_TYPE,
16
+ payload: error,
17
+ meta: {
18
+ schema,
19
+ key,
20
+ date: now,
21
+ fetchedAt,
22
+ expiresAt: now + errorExpiryLength,
23
+ errorPolicy: options == null ? void 0 : options.errorPolicy
24
+ },
25
+ error: true
26
+ };
27
+ }
28
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSRUNFSVZFX1RZUEUiLCJjcmVhdGVSZWNlaXZlRXJyb3IiLCJlcnJvciIsInNjaGVtYSIsImtleSIsIm9wdGlvbnMiLCJlcnJvckV4cGlyeUxlbmd0aCIsImZldGNoZWRBdCIsInByb2Nlc3MiLCJlbnYiLCJOT0RFX0VOViIsIkVycm9yIiwibm93IiwiRGF0ZSIsInR5cGUiLCJwYXlsb2FkIiwibWV0YSIsImRhdGUiLCJleHBpcmVzQXQiLCJlcnJvclBvbGljeSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zdGF0ZS9sZWdhY3ktYWN0aW9ucy9jcmVhdGVSZWNlaXZlRXJyb3IudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgU2NoZW1hLFxuICBFbmRwb2ludEV4dHJhT3B0aW9ucyBhcyBGZXRjaE9wdGlvbnMsXG59IGZyb20gJ0BkYXRhLWNsaWVudC9ub3JtYWxpenInO1xuXG5pbXBvcnQgeyBSRUNFSVZFX1RZUEUgfSBmcm9tICcuLi8uLi9hY3Rpb25UeXBlcy5qcyc7XG5pbXBvcnQgeyBGZXRjaEFjdGlvbiwgUmVjZWl2ZUFjdGlvbiB9IGZyb20gJy4uLy4uL2xlZ2FjeUFjdGlvbnMuanMnO1xuXG5pbnRlcmZhY2UgT3B0aW9uczxTIGV4dGVuZHMgU2NoZW1hIHwgdW5kZWZpbmVkID0gYW55PlxuICBleHRlbmRzIFBpY2s8RmV0Y2hBY3Rpb248YW55LCBTPlsnbWV0YSddLCAnc2NoZW1hJyB8ICdrZXknIHwgJ29wdGlvbnMnPiB7XG4gIGVycm9yRXhwaXJ5TGVuZ3RoPzogTm9uTnVsbGFibGU8RmV0Y2hPcHRpb25zWydlcnJvckV4cGlyeUxlbmd0aCddPjtcbiAgZmV0Y2hlZEF0PzogbnVtYmVyO1xufVxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBjcmVhdGVSZWNlaXZlRXJyb3I8UyBleHRlbmRzIFNjaGVtYSB8IHVuZGVmaW5lZCA9IGFueT4oXG4gIGVycm9yOiBFcnJvcixcbiAge1xuICAgIHNjaGVtYSxcbiAgICBrZXksXG4gICAgb3B0aW9ucyxcbiAgICBlcnJvckV4cGlyeUxlbmd0aCA9IDYwMDAwLFxuICAgIGZldGNoZWRBdCA9IDAsXG4gIH06IE9wdGlvbnM8Uz4sXG4pOiBSZWNlaXZlQWN0aW9uIHtcbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSAnZGV2ZWxvcG1lbnQnICYmIGVycm9yRXhwaXJ5TGVuZ3RoIDwgMCkge1xuICAgIHRocm93IG5ldyBFcnJvcignTmVnYXRpdmUgZXJyb3JFeHBpcnlMZW5ndGggYXJlIG5vdCBhbGxvd2VkLicpO1xuICB9XG4gIGNvbnN0IG5vdyA9IERhdGUubm93KCk7XG4gIHJldHVybiB7XG4gICAgdHlwZTogUkVDRUlWRV9UWVBFLFxuICAgIHBheWxvYWQ6IGVycm9yLFxuICAgIG1ldGE6IHtcbiAgICAgIHNjaGVtYSxcbiAgICAgIGtleSxcbiAgICAgIGRhdGU6IG5vdyxcbiAgICAgIGZldGNoZWRBdCxcbiAgICAgIGV4cGlyZXNBdDogbm93ICsgZXJyb3JFeHBpcnlMZW5ndGgsXG4gICAgICBlcnJvclBvbGljeTogb3B0aW9ucz8uZXJyb3JQb2xpY3ksXG4gICAgfSxcbiAgICBlcnJvcjogdHJ1ZSxcbiAgfTtcbn1cbiJdLCJtYXBwaW5ncyI6IkFBS0EsU0FBU0EsWUFBWSxRQUFRLHNCQUFzQjtBQVNuRCxlQUFlLFNBQVNDLGtCQUFrQkEsQ0FDeENDLEtBQVksRUFDWjtFQUNFQyxNQUFNO0VBQ05DLEdBQUc7RUFDSEMsT0FBTztFQUNQQyxpQkFBaUIsR0FBRyxLQUFLO0VBQ3pCQyxTQUFTLEdBQUc7QUFDRixDQUFDLEVBQ0U7RUFDZjtFQUNBLElBQUlDLE9BQU8sQ0FBQ0MsR0FBRyxDQUFDQyxRQUFRLEtBQUssYUFBYSxJQUFJSixpQkFBaUIsR0FBRyxDQUFDLEVBQUU7SUFDbkUsTUFBTSxJQUFJSyxLQUFLLENBQUMsNkNBQTZDLENBQUM7RUFDaEU7RUFDQSxNQUFNQyxHQUFHLEdBQUdDLElBQUksQ0FBQ0QsR0FBRyxDQUFDLENBQUM7RUFDdEIsT0FBTztJQUNMRSxJQUFJLEVBQUVkLFlBQVk7SUFDbEJlLE9BQU8sRUFBRWIsS0FBSztJQUNkYyxJQUFJLEVBQUU7TUFDSmIsTUFBTTtNQUNOQyxHQUFHO01BQ0hhLElBQUksRUFBRUwsR0FBRztNQUNUTCxTQUFTO01BQ1RXLFNBQVMsRUFBRU4sR0FBRyxHQUFHTixpQkFBaUI7TUFDbENhLFdBQVcsRUFBRWQsT0FBTyxvQkFBUEEsT0FBTyxDQUFFYztJQUN4QixDQUFDO0lBQ0RqQixLQUFLLEVBQUU7RUFDVCxDQUFDO0FBQ0gifQ==
@@ -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=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/state/legacy-actions/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,yBAAyB,CAAC"}
@@ -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,7 @@
1
+ import type Controller from '../../controller/Controller.js';
2
+ import type { ActionTypes, State } from '../../types.js';
3
+ export default function createReducer(controller: Controller): ReducerType;
4
+ export declare const initialState: State<unknown>;
5
+ type ReducerType = (state: State<unknown> | undefined, action: ActionTypes) => State<unknown>;
6
+ export {};
7
+ //# sourceMappingURL=createReducer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createReducer.d.ts","sourceRoot":"","sources":["../../../src/state/reducer/createReducer.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,UAAU,MAAM,gCAAgC,CAAC;AAC7D,OAAO,KAAK,EAAkB,WAAW,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEzE,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,UAAU,EAAE,UAAU,GAAG,WAAW,CA+CzE;AAED,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,OAAO,CAQvC,CAAC;AAEF,KAAK,WAAW,GAAG,CACjB,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,SAAS,EACjC,MAAM,EAAE,WAAW,KAChB,KAAK,CAAC,OAAO,CAAC,CAAC"}
@@ -0,0 +1,55 @@
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 {
36
+ ...initialState,
37
+ lastReset: (_action$date = action.date) != null ? _action$date : Date.now()
38
+ };
39
+ default:
40
+ // A reducer must always return a valid state.
41
+ // Alternatively you can throw an error if an invalid action is dispatched.
42
+ return state;
43
+ }
44
+ };
45
+ }
46
+ export const initialState = {
47
+ entities: {},
48
+ indexes: {},
49
+ results: {},
50
+ meta: {},
51
+ entityMeta: {},
52
+ optimistic: [],
53
+ lastReset: 0
54
+ };
55
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJmZXRjaFJlZHVjZXIiLCJpbnZhbGlkYXRlUmVkdWNlciIsInNldFJlZHVjZXIiLCJTRVRfVFlQRSIsIklOVkFMSURBVEVfVFlQRSIsIlJFU0VUX1RZUEUiLCJGRVRDSF9UWVBFIiwiR0NfVFlQRSIsIk9QVElNSVNUSUNfVFlQRSIsIklOVkFMSURBVEVBTExfVFlQRSIsImNyZWF0ZVJlZHVjZXIiLCJjb250cm9sbGVyIiwicmVkdWNlciIsInN0YXRlIiwiYWN0aW9uIiwiX2FjdGlvbiRkYXRlIiwiaW5pdGlhbFN0YXRlIiwidHlwZSIsImVudGl0aWVzIiwiZm9yRWFjaCIsImtleSIsInBrIiwiX2VudGl0aWVzJGtleSIsIl9lbnRpdHlNZXRhJGtleSIsImVudGl0eU1ldGEiLCJyZXN1bHRzIiwiZmV0Y2hLZXkiLCJtZXRhIiwicHJvY2VzcyIsImVudiIsIk5PREVfRU5WIiwiZGF0ZSIsInVuZGVmaW5lZCIsImNvbnNvbGUiLCJ3YXJuIiwibGFzdFJlc2V0IiwiRGF0ZSIsIm5vdyIsImluZGV4ZXMiLCJvcHRpbWlzdGljIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3N0YXRlL3JlZHVjZXIvY3JlYXRlUmVkdWNlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmZXRjaFJlZHVjZXIgfSBmcm9tICcuL2ZldGNoUmVkdWNlci5qcyc7XG5pbXBvcnQgeyBpbnZhbGlkYXRlUmVkdWNlciB9IGZyb20gJy4vaW52YWxpZGF0ZVJlZHVjZXIuanMnO1xuaW1wb3J0IHsgc2V0UmVkdWNlciB9IGZyb20gJy4vc2V0UmVkdWNlci5qcyc7XG5pbXBvcnQge1xuICBTRVRfVFlQRSxcbiAgSU5WQUxJREFURV9UWVBFLFxuICBSRVNFVF9UWVBFLFxuICBGRVRDSF9UWVBFLFxuICBHQ19UWVBFLFxuICBPUFRJTUlTVElDX1RZUEUsXG4gIElOVkFMSURBVEVBTExfVFlQRSxcbn0gZnJvbSAnLi4vLi4vYWN0aW9uVHlwZXMuanMnO1xuaW1wb3J0IHR5cGUgQ29udHJvbGxlciBmcm9tICcuLi8uLi9jb250cm9sbGVyL0NvbnRyb2xsZXIuanMnO1xuaW1wb3J0IHR5cGUgeyBPbGRBY3Rpb25UeXBlcywgQWN0aW9uVHlwZXMsIFN0YXRlIH0gZnJvbSAnLi4vLi4vdHlwZXMuanMnO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBjcmVhdGVSZWR1Y2VyKGNvbnRyb2xsZXI6IENvbnRyb2xsZXIpOiBSZWR1Y2VyVHlwZSB7XG4gIHJldHVybiBmdW5jdGlvbiByZWR1Y2VyKFxuICAgIHN0YXRlOiBTdGF0ZTx1bmtub3duPiB8IHVuZGVmaW5lZCxcbiAgICBhY3Rpb246IE9sZEFjdGlvblR5cGVzLFxuICApOiBTdGF0ZTx1bmtub3duPiB7XG4gICAgaWYgKCFzdGF0ZSkgc3RhdGUgPSBpbml0aWFsU3RhdGU7XG4gICAgc3dpdGNoIChhY3Rpb24udHlwZSkge1xuICAgICAgY2FzZSBHQ19UWVBFOlxuICAgICAgICAvLyBpbmxpbmUgZGVsZXRlcyBhcmUgZmluZSBhcyB0aGVzZSBzaG91bGQgaGF2ZSAwIHJlZmNvdW50c1xuICAgICAgICBhY3Rpb24uZW50aXRpZXMuZm9yRWFjaCgoW2tleSwgcGtdKSA9PiB7XG4gICAgICAgICAgZGVsZXRlIChzdGF0ZSBhcyBhbnkpLmVudGl0aWVzW2tleV0/Lltwa107XG4gICAgICAgICAgZGVsZXRlIChzdGF0ZSBhcyBhbnkpLmVudGl0eU1ldGFba2V5XT8uW3BrXTtcbiAgICAgICAgfSk7XG4gICAgICAgIGFjdGlvbi5yZXN1bHRzLmZvckVhY2goZmV0Y2hLZXkgPT4ge1xuICAgICAgICAgIGRlbGV0ZSAoc3RhdGUgYXMgYW55KS5yZXN1bHRzW2ZldGNoS2V5XTtcbiAgICAgICAgICBkZWxldGUgKHN0YXRlIGFzIGFueSkubWV0YVtmZXRjaEtleV07XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gc3RhdGU7XG4gICAgICBjYXNlIEZFVENIX1RZUEU6XG4gICAgICAgIHJldHVybiBmZXRjaFJlZHVjZXIoc3RhdGUsIGFjdGlvbik7XG5cbiAgICAgIGNhc2UgT1BUSU1JU1RJQ19UWVBFOlxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWZhbGx0aHJvdWdoXG4gICAgICBjYXNlIFNFVF9UWVBFOlxuICAgICAgICByZXR1cm4gc2V0UmVkdWNlcihzdGF0ZSwgYWN0aW9uLCBjb250cm9sbGVyKTtcblxuICAgICAgY2FzZSBJTlZBTElEQVRFQUxMX1RZUEU6XG4gICAgICBjYXNlIElOVkFMSURBVEVfVFlQRTpcbiAgICAgICAgcmV0dXJuIGludmFsaWRhdGVSZWR1Y2VyKHN0YXRlLCBhY3Rpb24pO1xuXG4gICAgICBjYXNlIFJFU0VUX1RZUEU6XG4gICAgICAgIGlmIChcbiAgICAgICAgICBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmXG4gICAgICAgICAgYWN0aW9uLmRhdGUgPT09IHVuZGVmaW5lZFxuICAgICAgICApIHtcbiAgICAgICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgICAgICBgJHtSRVNFVF9UWVBFfSBzZW50IHdpdGhvdXQgJ2RhdGUnIG1lbWJlci4gVGhpcyBpcyBkZXByZWNhdGVkLiBQbGVhc2UgdXNlIGNyZWF0ZVJlc2V0KCkgYWN0aW9uIGNyZWF0b3IgdG8gZW5zdXJlIGNvcnJlY3QgYWN0aW9uIHNoYXBlLmAsXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4geyAuLi5pbml0aWFsU3RhdGUsIGxhc3RSZXNldDogYWN0aW9uLmRhdGUgPz8gRGF0ZS5ub3coKSB9O1xuXG4gICAgICBkZWZhdWx0OlxuICAgICAgICAvLyBBIHJlZHVjZXIgbXVzdCBhbHdheXMgcmV0dXJuIGEgdmFsaWQgc3RhdGUuXG4gICAgICAgIC8vIEFsdGVybmF0aXZlbHkgeW91IGNhbiB0aHJvdyBhbiBlcnJvciBpZiBhbiBpbnZhbGlkIGFjdGlvbiBpcyBkaXNwYXRjaGVkLlxuICAgICAgICByZXR1cm4gc3RhdGU7XG4gICAgfVxuICB9IGFzIGFueTtcbn1cblxuZXhwb3J0IGNvbnN0IGluaXRpYWxTdGF0ZTogU3RhdGU8dW5rbm93bj4gPSB7XG4gIGVudGl0aWVzOiB7fSxcbiAgaW5kZXhlczoge30sXG4gIHJlc3VsdHM6IHt9LFxuICBtZXRhOiB7fSxcbiAgZW50aXR5TWV0YToge30sXG4gIG9wdGltaXN0aWM6IFtdLFxuICBsYXN0UmVzZXQ6IDAsXG59O1xuXG50eXBlIFJlZHVjZXJUeXBlID0gKFxuICBzdGF0ZTogU3RhdGU8dW5rbm93bj4gfCB1bmRlZmluZWQsXG4gIGFjdGlvbjogQWN0aW9uVHlwZXMsXG4pID0+IFN0YXRlPHVua25vd24+O1xuXG50eXBlIFdyaXRhYmxlPFQ+ID0geyBbUCBpbiBrZXlvZiBUXTogTm9uTnVsbGFibGU8V3JpdGFibGU8VFtQXT4+IH07XG4iXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLFlBQVksUUFBUSxtQkFBbUI7QUFDaEQsU0FBU0MsaUJBQWlCLFFBQVEsd0JBQXdCO0FBQzFELFNBQVNDLFVBQVUsUUFBUSxpQkFBaUI7QUFDNUMsU0FDRUMsUUFBUSxFQUNSQyxlQUFlLEVBQ2ZDLFVBQVUsRUFDVkMsVUFBVSxFQUNWQyxPQUFPLEVBQ1BDLGVBQWUsRUFDZkMsa0JBQWtCLFFBQ2Isc0JBQXNCO0FBSTdCLGVBQWUsU0FBU0MsYUFBYUEsQ0FBQ0MsVUFBc0IsRUFBZTtFQUN6RSxPQUFPLFNBQVNDLE9BQU9BLENBQ3JCQyxLQUFpQyxFQUNqQ0MsTUFBc0IsRUFDTjtJQUFBLElBQUFDLFlBQUE7SUFDaEIsSUFBSSxDQUFDRixLQUFLLEVBQUVBLEtBQUssR0FBR0csWUFBWTtJQUNoQyxRQUFRRixNQUFNLENBQUNHLElBQUk7TUFDakIsS0FBS1YsT0FBTztRQUNWO1FBQ0FPLE1BQU0sQ0FBQ0ksUUFBUSxDQUFDQyxPQUFPLENBQUMsQ0FBQyxDQUFDQyxHQUFHLEVBQUVDLEVBQUUsQ0FBQyxLQUFLO1VBQUEsSUFBQUMsYUFBQSxFQUFBQyxlQUFBO1VBQ3JDLENBQUFELGFBQUEsR0FBUVQsS0FBSyxDQUFTSyxRQUFRLENBQUNFLEdBQUcsQ0FBQyxtQkFBbkMsT0FBT0UsYUFBQSxDQUErQkQsRUFBRSxDQUFDO1VBQ3pDLENBQUFFLGVBQUEsR0FBUVYsS0FBSyxDQUFTVyxVQUFVLENBQUNKLEdBQUcsQ0FBQyxtQkFBckMsT0FBT0csZUFBQSxDQUFpQ0YsRUFBRSxDQUFDO1FBQzdDLENBQUMsQ0FBQztRQUNGUCxNQUFNLENBQUNXLE9BQU8sQ0FBQ04sT0FBTyxDQUFDTyxRQUFRLElBQUk7VUFDakMsT0FBUWIsS0FBSyxDQUFTWSxPQUFPLENBQUNDLFFBQVEsQ0FBQztVQUN2QyxPQUFRYixLQUFLLENBQVNjLElBQUksQ0FBQ0QsUUFBUSxDQUFDO1FBQ3RDLENBQUMsQ0FBQztRQUNGLE9BQU9iLEtBQUs7TUFDZCxLQUFLUCxVQUFVO1FBQ2IsT0FBT04sWUFBWSxDQUFDYSxLQUFLLEVBQUVDLE1BQU0sQ0FBQztNQUVwQyxLQUFLTixlQUFlO01BQ3BCO01BQ0EsS0FBS0wsUUFBUTtRQUNYLE9BQU9ELFVBQVUsQ0FBQ1csS0FBSyxFQUFFQyxNQUFNLEVBQUVILFVBQVUsQ0FBQztNQUU5QyxLQUFLRixrQkFBa0I7TUFDdkIsS0FBS0wsZUFBZTtRQUNsQixPQUFPSCxpQkFBaUIsQ0FBQ1ksS0FBSyxFQUFFQyxNQUFNLENBQUM7TUFFekMsS0FBS1QsVUFBVTtRQUNiLElBQ0V1QixPQUFPLENBQUNDLEdBQUcsQ0FBQ0MsUUFBUSxLQUFLLFlBQVksSUFDckNoQixNQUFNLENBQUNpQixJQUFJLEtBQUtDLFNBQVMsRUFDekI7VUFDQUMsT0FBTyxDQUFDQyxJQUFJLENBQ1QsR0FBRTdCLFVBQVcsMEhBQ2hCLENBQUM7UUFDSDtRQUNBLE9BQU87VUFBRSxHQUFHVyxZQUFZO1VBQUVtQixTQUFTLEdBQUFwQixZQUFBLEdBQUVELE1BQU0sQ0FBQ2lCLElBQUksWUFBQWhCLFlBQUEsR0FBSXFCLElBQUksQ0FBQ0MsR0FBRyxDQUFDO1FBQUUsQ0FBQztNQUVsRTtRQUNFO1FBQ0E7UUFDQSxPQUFPeEIsS0FBSztJQUNoQjtFQUNGLENBQUM7QUFDSDtBQUVBLE9BQU8sTUFBTUcsWUFBNEIsR0FBRztFQUMxQ0UsUUFBUSxFQUFFLENBQUMsQ0FBQztFQUNab0IsT0FBTyxFQUFFLENBQUMsQ0FBQztFQUNYYixPQUFPLEVBQUUsQ0FBQyxDQUFDO0VBQ1hFLElBQUksRUFBRSxDQUFDLENBQUM7RUFDUkgsVUFBVSxFQUFFLENBQUMsQ0FBQztFQUNkZSxVQUFVLEVBQUUsRUFBRTtFQUNkSixTQUFTLEVBQUU7QUFDYixDQUFDIn0=
@@ -0,0 +1,4 @@
1
+ import type { FetchAction } from '../../previousActions.js';
2
+ import type { State } from '../../types.js';
3
+ export declare function fetchReducer(state: State<unknown>, action: FetchAction): State<unknown>;
4
+ //# sourceMappingURL=fetchReducer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetchReducer.d.ts","sourceRoot":"","sources":["../../../src/state/reducer/fetchReducer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAGV,WAAW,EACZ,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAG5C,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,WAAW,kBAsCtE"}
@@ -0,0 +1,34 @@
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, {
17
+ ...action.meta,
18
+ dataExpiryLength: Infinity
19
+ });
20
+ } else {
21
+ // If 'fetch' action reaches the reducer there are no middlewares installed to handle it
22
+ /* istanbul ignore next */
23
+ if (process.env.NODE_ENV !== 'production') {
24
+ console.warn('Fetch appears unhandled - you are likely missing the NetworkManager middleware');
25
+ console.warn('See https://resthooks.io/docs/guides/redux#indextsx for hooking up redux');
26
+ }
27
+ return state;
28
+ }
29
+ return {
30
+ ...state,
31
+ optimistic: [...state.optimistic, receiveAction]
32
+ };
33
+ }
34
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjcmVhdGVPcHRpbWlzdGljIiwiY3JlYXRlUmVjZWl2ZSIsImxlZ2FjeUNyZWF0ZVJlY2VpdmUiLCJmZXRjaFJlZHVjZXIiLCJzdGF0ZSIsImFjdGlvbiIsIl9hY3Rpb24kZW5kcG9pbnQiLCJvcHRpbWlzdGljUmVzcG9uc2UiLCJtZXRhIiwiZ2V0T3B0aW1pc3RpY1Jlc3BvbnNlIiwiZW5kcG9pbnQiLCJyZWNlaXZlQWN0aW9uIiwic2lkZUVmZmVjdCIsImFyZ3MiLCJmZXRjaGVkQXQiLCJjcmVhdGVkQXQiLCJnZXRUaW1lIiwiZGF0YUV4cGlyeUxlbmd0aCIsIkluZmluaXR5IiwicHJvY2VzcyIsImVudiIsIk5PREVfRU5WIiwiY29uc29sZSIsIndhcm4iLCJvcHRpbWlzdGljIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3N0YXRlL3JlZHVjZXIvZmV0Y2hSZWR1Y2VyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBjcmVhdGVPcHRpbWlzdGljIGZyb20gJy4uLy4uL2NvbnRyb2xsZXIvY3JlYXRlT3B0aW1pc3RpYy5qcyc7XG5pbXBvcnQgdHlwZSB7XG4gIFJlY2VpdmVBY3Rpb24sXG4gIE9wdGltaXN0aWNBY3Rpb24sXG4gIEZldGNoQWN0aW9uLFxufSBmcm9tICcuLi8uLi9wcmV2aW91c0FjdGlvbnMuanMnO1xuaW1wb3J0IHR5cGUgeyBTdGF0ZSB9IGZyb20gJy4uLy4uL3R5cGVzLmpzJztcbmltcG9ydCB7IGNyZWF0ZVJlY2VpdmUgYXMgbGVnYWN5Q3JlYXRlUmVjZWl2ZSB9IGZyb20gJy4uL2xlZ2FjeS1hY3Rpb25zL2luZGV4LmpzJztcblxuZXhwb3J0IGZ1bmN0aW9uIGZldGNoUmVkdWNlcihzdGF0ZTogU3RhdGU8dW5rbm93bj4sIGFjdGlvbjogRmV0Y2hBY3Rpb24pIHtcbiAgY29uc3Qgb3B0aW1pc3RpY1Jlc3BvbnNlID0gYWN0aW9uLm1ldGEub3B0aW1pc3RpY1Jlc3BvbnNlO1xuICBjb25zdCBnZXRPcHRpbWlzdGljUmVzcG9uc2UgPSBhY3Rpb24uZW5kcG9pbnQ/LmdldE9wdGltaXN0aWNSZXNwb25zZTtcbiAgbGV0IHJlY2VpdmVBY3Rpb246IFJlY2VpdmVBY3Rpb24gfCBPcHRpbWlzdGljQWN0aW9uO1xuXG4gIGlmIChnZXRPcHRpbWlzdGljUmVzcG9uc2UgJiYgYWN0aW9uLmVuZHBvaW50ICYmIGFjdGlvbi5lbmRwb2ludC5zaWRlRWZmZWN0KSB7XG4gICAgcmVjZWl2ZUFjdGlvbiA9IGNyZWF0ZU9wdGltaXN0aWMoYWN0aW9uLmVuZHBvaW50LCB7XG4gICAgICBhcmdzOiBhY3Rpb24ubWV0YS5hcmdzIGFzIHJlYWRvbmx5IGFueVtdLFxuICAgICAgZmV0Y2hlZEF0OlxuICAgICAgICB0eXBlb2YgYWN0aW9uLm1ldGEuY3JlYXRlZEF0ICE9PSAnbnVtYmVyJ1xuICAgICAgICAgID8gYWN0aW9uLm1ldGEuY3JlYXRlZEF0LmdldFRpbWUoKVxuICAgICAgICAgIDogYWN0aW9uLm1ldGEuY3JlYXRlZEF0LFxuICAgIH0pIGFzIGFueTtcbiAgfSAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi8gZWxzZSBpZiAob3B0aW1pc3RpY1Jlc3BvbnNlKSB7XG4gICAgLy8gVE9ETyhicmVha2luZyk6IHRoaXMgaXMgbm8gbG9uZ2VyIHVzZWQsIHJlbW92ZSB0aGlzIGJyYW5jaFxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgcmVjZWl2ZUFjdGlvbiA9IGxlZ2FjeUNyZWF0ZVJlY2VpdmUob3B0aW1pc3RpY1Jlc3BvbnNlLCB7XG4gICAgICAuLi5hY3Rpb24ubWV0YSxcbiAgICAgIGRhdGFFeHBpcnlMZW5ndGg6IEluZmluaXR5LFxuICAgIH0pO1xuICB9IGVsc2Uge1xuICAgIC8vIElmICdmZXRjaCcgYWN0aW9uIHJlYWNoZXMgdGhlIHJlZHVjZXIgdGhlcmUgYXJlIG5vIG1pZGRsZXdhcmVzIGluc3RhbGxlZCB0byBoYW5kbGUgaXRcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgICdGZXRjaCBhcHBlYXJzIHVuaGFuZGxlZCAtIHlvdSBhcmUgbGlrZWx5IG1pc3NpbmcgdGhlIE5ldHdvcmtNYW5hZ2VyIG1pZGRsZXdhcmUnLFxuICAgICAgKTtcbiAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgJ1NlZSBodHRwczovL3Jlc3Rob29rcy5pby9kb2NzL2d1aWRlcy9yZWR1eCNpbmRleHRzeCBmb3IgaG9va2luZyB1cCByZWR1eCcsXG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiBzdGF0ZTtcbiAgfVxuICByZXR1cm4ge1xuICAgIC4uLnN0YXRlLFxuICAgIG9wdGltaXN0aWM6IFsuLi5zdGF0ZS5vcHRpbWlzdGljLCByZWNlaXZlQWN0aW9uXSxcbiAgfTtcbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBT0EsZ0JBQWdCLE1BQU0sc0NBQXNDO0FBT25FLFNBQVNDLGFBQWEsSUFBSUMsbUJBQW1CLFFBQVEsNEJBQTRCO0FBRWpGLE9BQU8sU0FBU0MsWUFBWUEsQ0FBQ0MsS0FBcUIsRUFBRUMsTUFBbUIsRUFBRTtFQUFBLElBQUFDLGdCQUFBO0VBQ3ZFLE1BQU1DLGtCQUFrQixHQUFHRixNQUFNLENBQUNHLElBQUksQ0FBQ0Qsa0JBQWtCO0VBQ3pELE1BQU1FLHFCQUFxQixJQUFBSCxnQkFBQSxHQUFHRCxNQUFNLENBQUNLLFFBQVEscUJBQWZKLGdCQUFBLENBQWlCRyxxQkFBcUI7RUFDcEUsSUFBSUUsYUFBK0M7RUFFbkQsSUFBSUYscUJBQXFCLElBQUlKLE1BQU0sQ0FBQ0ssUUFBUSxJQUFJTCxNQUFNLENBQUNLLFFBQVEsQ0FBQ0UsVUFBVSxFQUFFO0lBQzFFRCxhQUFhLEdBQUdYLGdCQUFnQixDQUFDSyxNQUFNLENBQUNLLFFBQVEsRUFBRTtNQUNoREcsSUFBSSxFQUFFUixNQUFNLENBQUNHLElBQUksQ0FBQ0ssSUFBc0I7TUFDeENDLFNBQVMsRUFDUCxPQUFPVCxNQUFNLENBQUNHLElBQUksQ0FBQ08sU0FBUyxLQUFLLFFBQVEsR0FDckNWLE1BQU0sQ0FBQ0csSUFBSSxDQUFDTyxTQUFTLENBQUNDLE9BQU8sQ0FBQyxDQUFDLEdBQy9CWCxNQUFNLENBQUNHLElBQUksQ0FBQ087SUFDcEIsQ0FBQyxDQUFRO0VBQ1gsQ0FBQyxDQUFDLDZCQUE4QixJQUFJUixrQkFBa0IsRUFBRTtJQUN0RDtJQUNBO0lBQ0FJLGFBQWEsR0FBR1QsbUJBQW1CLENBQUNLLGtCQUFrQixFQUFFO01BQ3RELEdBQUdGLE1BQU0sQ0FBQ0csSUFBSTtNQUNkUyxnQkFBZ0IsRUFBRUM7SUFDcEIsQ0FBQyxDQUFDO0VBQ0osQ0FBQyxNQUFNO0lBQ0w7SUFDQTtJQUNBLElBQUlDLE9BQU8sQ0FBQ0MsR0FBRyxDQUFDQyxRQUFRLEtBQUssWUFBWSxFQUFFO01BQ3pDQyxPQUFPLENBQUNDLElBQUksQ0FDVixnRkFDRixDQUFDO01BQ0RELE9BQU8sQ0FBQ0MsSUFBSSxDQUNWLDBFQUNGLENBQUM7SUFDSDtJQUVBLE9BQU9uQixLQUFLO0VBQ2Q7RUFDQSxPQUFPO0lBQ0wsR0FBR0EsS0FBSztJQUNSb0IsVUFBVSxFQUFFLENBQUMsR0FBR3BCLEtBQUssQ0FBQ29CLFVBQVUsRUFBRWIsYUFBYTtFQUNqRCxDQUFDO0FBQ0gifQ==
@@ -0,0 +1,37 @@
1
+ import type { InvalidateAllAction, InvalidateAction } from '../../previousActions.js';
2
+ import type { State } from '../../types.js';
3
+ export declare function invalidateReducer(state: State<unknown>, action: InvalidateAction | InvalidateAllAction): {
4
+ results: {
5
+ [x: string]: unknown;
6
+ };
7
+ meta: {
8
+ [x: string]: {
9
+ readonly date: number;
10
+ readonly error?: import("packages/normalizr/lib/index.js").ErrorTypes | undefined;
11
+ readonly expiresAt: number;
12
+ readonly prevExpiresAt?: number | undefined;
13
+ readonly invalidated?: boolean | undefined;
14
+ readonly errorPolicy?: "hard" | "soft" | undefined;
15
+ };
16
+ };
17
+ entities: {
18
+ readonly [entityKey: string]: {
19
+ readonly [pk: string]: unknown;
20
+ } | undefined;
21
+ };
22
+ indexes: import("packages/normalizr/lib/interface.js").NormalizedIndex;
23
+ entityMeta: {
24
+ readonly [entityKey: string]: {
25
+ readonly [pk: string]: {
26
+ readonly date: number;
27
+ readonly expiresAt: number;
28
+ readonly fetchedAt: number;
29
+ };
30
+ };
31
+ };
32
+ optimistic: (import("../../previousActions.js").ReceiveAction<string | number | object | null, any> | import("../../previousActions.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> & {
33
+ 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;
34
+ }>)[];
35
+ lastReset: number | Date;
36
+ };
37
+ //# sourceMappingURL=invalidateReducer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"invalidateReducer.d.ts","sourceRoot":"","sources":["../../../src/state/reducer/invalidateReducer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,mBAAmB,EACnB,gBAAgB,EACjB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAE5C,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,EACrB,MAAM,EAAE,gBAAgB,GAAG,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6B/C"}
@@ -0,0 +1,34 @@
1
+ import { INVALIDATE_TYPE } from '../../actionTypes.js';
2
+ export function invalidateReducer(state, action) {
3
+ const results = {
4
+ ...state.results
5
+ };
6
+ const meta = {
7
+ ...state.meta
8
+ };
9
+ const invalidateKey = key => {
10
+ delete results[key];
11
+ const itemMeta = {
12
+ ...meta[key],
13
+ expiresAt: 0,
14
+ invalidated: true
15
+ };
16
+ delete itemMeta.error;
17
+ meta[key] = itemMeta;
18
+ };
19
+ if (action.type === INVALIDATE_TYPE) {
20
+ invalidateKey(action.meta.key);
21
+ } else {
22
+ Object.keys(results).forEach(key => {
23
+ if (action.testKey(key)) {
24
+ invalidateKey(key);
25
+ }
26
+ });
27
+ }
28
+ return {
29
+ ...state,
30
+ results,
31
+ meta
32
+ };
33
+ }
34
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJJTlZBTElEQVRFX1RZUEUiLCJpbnZhbGlkYXRlUmVkdWNlciIsInN0YXRlIiwiYWN0aW9uIiwicmVzdWx0cyIsIm1ldGEiLCJpbnZhbGlkYXRlS2V5Iiwia2V5IiwiaXRlbU1ldGEiLCJleHBpcmVzQXQiLCJpbnZhbGlkYXRlZCIsImVycm9yIiwidHlwZSIsIk9iamVjdCIsImtleXMiLCJmb3JFYWNoIiwidGVzdEtleSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zdGF0ZS9yZWR1Y2VyL2ludmFsaWRhdGVSZWR1Y2VyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElOVkFMSURBVEVfVFlQRSB9IGZyb20gJy4uLy4uL2FjdGlvblR5cGVzLmpzJztcbmltcG9ydCB0eXBlIHtcbiAgSW52YWxpZGF0ZUFsbEFjdGlvbixcbiAgSW52YWxpZGF0ZUFjdGlvbixcbn0gZnJvbSAnLi4vLi4vcHJldmlvdXNBY3Rpb25zLmpzJztcbmltcG9ydCB0eXBlIHsgU3RhdGUgfSBmcm9tICcuLi8uLi90eXBlcy5qcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBpbnZhbGlkYXRlUmVkdWNlcihcbiAgc3RhdGU6IFN0YXRlPHVua25vd24+LFxuICBhY3Rpb246IEludmFsaWRhdGVBY3Rpb24gfCBJbnZhbGlkYXRlQWxsQWN0aW9uLFxuKSB7XG4gIGNvbnN0IHJlc3VsdHMgPSB7IC4uLnN0YXRlLnJlc3VsdHMgfTtcbiAgY29uc3QgbWV0YSA9IHsgLi4uc3RhdGUubWV0YSB9O1xuICBjb25zdCBpbnZhbGlkYXRlS2V5ID0gKGtleTogc3RyaW5nKSA9PiB7XG4gICAgZGVsZXRlIHJlc3VsdHNba2V5XTtcbiAgICBjb25zdCBpdGVtTWV0YSA9IHtcbiAgICAgIC4uLm1ldGFba2V5XSxcbiAgICAgIGV4cGlyZXNBdDogMCxcbiAgICAgIGludmFsaWRhdGVkOiB0cnVlLFxuICAgIH07XG4gICAgZGVsZXRlIGl0ZW1NZXRhLmVycm9yO1xuICAgIG1ldGFba2V5XSA9IGl0ZW1NZXRhO1xuICB9O1xuICBpZiAoYWN0aW9uLnR5cGUgPT09IElOVkFMSURBVEVfVFlQRSkge1xuICAgIGludmFsaWRhdGVLZXkoYWN0aW9uLm1ldGEua2V5KTtcbiAgfSBlbHNlIHtcbiAgICBPYmplY3Qua2V5cyhyZXN1bHRzKS5mb3JFYWNoKGtleSA9PiB7XG4gICAgICBpZiAoYWN0aW9uLnRlc3RLZXkoa2V5KSkge1xuICAgICAgICBpbnZhbGlkYXRlS2V5KGtleSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIC4uLnN0YXRlLFxuICAgIHJlc3VsdHMsXG4gICAgbWV0YSxcbiAgfTtcbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsZUFBZSxRQUFRLHNCQUFzQjtBQU90RCxPQUFPLFNBQVNDLGlCQUFpQkEsQ0FDL0JDLEtBQXFCLEVBQ3JCQyxNQUE4QyxFQUM5QztFQUNBLE1BQU1DLE9BQU8sR0FBRztJQUFFLEdBQUdGLEtBQUssQ0FBQ0U7RUFBUSxDQUFDO0VBQ3BDLE1BQU1DLElBQUksR0FBRztJQUFFLEdBQUdILEtBQUssQ0FBQ0c7RUFBSyxDQUFDO0VBQzlCLE1BQU1DLGFBQWEsR0FBSUMsR0FBVyxJQUFLO0lBQ3JDLE9BQU9ILE9BQU8sQ0FBQ0csR0FBRyxDQUFDO0lBQ25CLE1BQU1DLFFBQVEsR0FBRztNQUNmLEdBQUdILElBQUksQ0FBQ0UsR0FBRyxDQUFDO01BQ1pFLFNBQVMsRUFBRSxDQUFDO01BQ1pDLFdBQVcsRUFBRTtJQUNmLENBQUM7SUFDRCxPQUFPRixRQUFRLENBQUNHLEtBQUs7SUFDckJOLElBQUksQ0FBQ0UsR0FBRyxDQUFDLEdBQUdDLFFBQVE7RUFDdEIsQ0FBQztFQUNELElBQUlMLE1BQU0sQ0FBQ1MsSUFBSSxLQUFLWixlQUFlLEVBQUU7SUFDbkNNLGFBQWEsQ0FBQ0gsTUFBTSxDQUFDRSxJQUFJLENBQUNFLEdBQUcsQ0FBQztFQUNoQyxDQUFDLE1BQU07SUFDTE0sTUFBTSxDQUFDQyxJQUFJLENBQUNWLE9BQU8sQ0FBQyxDQUFDVyxPQUFPLENBQUNSLEdBQUcsSUFBSTtNQUNsQyxJQUFJSixNQUFNLENBQUNhLE9BQU8sQ0FBQ1QsR0FBRyxDQUFDLEVBQUU7UUFDdkJELGFBQWEsQ0FBQ0MsR0FBRyxDQUFDO01BQ3BCO0lBQ0YsQ0FBQyxDQUFDO0VBQ0o7RUFFQSxPQUFPO0lBQ0wsR0FBR0wsS0FBSztJQUNSRSxPQUFPO0lBQ1BDO0VBQ0YsQ0FBQztBQUNIIn0=
@@ -0,0 +1,40 @@
1
+ import type Controller from '../../controller/Controller.js';
2
+ import type { ReceiveAction, OptimisticAction } from '../../previousActions.js';
3
+ import type { State } from '../../types.js';
4
+ export declare function setReducer(state: State<unknown>, action: OptimisticAction | ReceiveAction, controller: Controller): State<unknown> | {
5
+ entities: {
6
+ [x: string]: any;
7
+ };
8
+ indexes: import("@data-client/normalizr").NormalizedIndex;
9
+ results: {
10
+ [x: string]: any;
11
+ };
12
+ entityMeta: {
13
+ readonly [entityKey: string]: {
14
+ readonly [pk: string]: {
15
+ readonly date: number;
16
+ readonly expiresAt: number;
17
+ readonly fetchedAt: number;
18
+ };
19
+ };
20
+ };
21
+ meta: {
22
+ [x: string]: {
23
+ readonly date: number;
24
+ readonly error?: import("@data-client/normalizr").ErrorTypes | undefined;
25
+ readonly expiresAt: number;
26
+ readonly prevExpiresAt?: number | undefined;
27
+ readonly invalidated?: boolean | undefined;
28
+ readonly errorPolicy?: "hard" | "soft" | undefined;
29
+ } | {
30
+ date: number;
31
+ expiresAt: number;
32
+ prevExpiresAt: number;
33
+ };
34
+ };
35
+ optimistic: (ReceiveAction<string | number | object | null, any> | OptimisticAction<import("@data-client/normalizr").EndpointInterface<import("@data-client/normalizr").FetchFunction, import("@data-client/normalizr").Schema | undefined, boolean | undefined> & {
36
+ update?: import("../../index.js").EndpointUpdateFunction<import("@data-client/normalizr").EndpointInterface<import("@data-client/normalizr").FetchFunction, import("@data-client/normalizr").Schema | undefined, boolean | undefined>> | undefined;
37
+ }>)[];
38
+ lastReset: number | Date;
39
+ };
40
+ //# sourceMappingURL=setReducer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setReducer.d.ts","sourceRoot":"","sources":["../../../src/state/reducer/setReducer.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,UAAU,MAAM,gCAAgC,CAAC;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAChF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAG5C,wBAAgB,UAAU,CACxB,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,EACrB,MAAM,EAAE,gBAAgB,GAAG,aAAa,EACxC,UAAU,EAAE,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuGvB"}