@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.
- package/LICENSE +201 -0
- package/README.md +71 -0
- package/dist/index.js +1643 -0
- package/dist/index.umd.min.js +1 -0
- package/dist/next.js +461 -0
- package/dist/package.json +1 -0
- package/legacy/actionTypes.js +12 -0
- package/legacy/compatibleActions.js +2 -0
- package/legacy/controller/BaseController.js +289 -0
- package/legacy/controller/Controller.js +20 -0
- package/legacy/controller/createFetch.js +42 -0
- package/legacy/controller/createInvalidate.js +12 -0
- package/legacy/controller/createInvalidateAll.js +8 -0
- package/legacy/controller/createOptimistic.js +33 -0
- package/legacy/controller/createReceive.js +36 -0
- package/legacy/controller/createReset.js +8 -0
- package/legacy/controller/createSubscription.js +30 -0
- package/legacy/controller/types.js +2 -0
- package/legacy/endpoint/index.js +2 -0
- package/legacy/endpoint/shapes.js +2 -0
- package/legacy/endpoint/types.js +2 -0
- package/legacy/fsa.js +2 -0
- package/legacy/index.js +22 -0
- package/legacy/internal.js +4 -0
- package/legacy/legacyActions.js +2 -0
- package/legacy/manager/ConnectionListener.js +2 -0
- package/legacy/manager/DefaultConnectionListener.js +40 -0
- package/legacy/manager/DevtoolsManager.js +73 -0
- package/legacy/manager/LogoutManager.js +34 -0
- package/legacy/manager/NetworkManager.js +291 -0
- package/legacy/manager/PollingSubscription.js +159 -0
- package/legacy/manager/SubscriptionManager.js +117 -0
- package/legacy/manager/applyManager.js +23 -0
- package/legacy/manager/devtoolsTypes.js +2 -0
- package/legacy/manager/index.js +6 -0
- package/legacy/middlewareTypes.js +2 -0
- package/legacy/newActions.js +2 -0
- package/legacy/next/Controller.js +24 -0
- package/legacy/next/index.js +3 -0
- package/legacy/previousActions.js +2 -0
- package/legacy/state/RIC.js +3 -0
- package/legacy/state/applyUpdatersToResults.js +4 -0
- package/legacy/state/legacy-actions/createFetch.js +62 -0
- package/legacy/state/legacy-actions/createReceive.js +37 -0
- package/legacy/state/legacy-actions/createReceiveError.js +28 -0
- package/legacy/state/legacy-actions/index.js +4 -0
- package/legacy/state/reducer/createReducer.js +54 -0
- package/legacy/state/reducer/fetchReducer.js +32 -0
- package/legacy/state/reducer/invalidateReducer.js +28 -0
- package/legacy/state/reducer/setReducer.js +113 -0
- package/legacy/state/reducerInstance.js +9 -0
- package/legacy/state/selectMeta.js +4 -0
- package/legacy/types.js +8 -0
- package/lib/actionTypes.d.ts +11 -0
- package/lib/actionTypes.d.ts.map +1 -0
- package/lib/actionTypes.js +12 -0
- package/lib/compatibleActions.d.ts +47 -0
- package/lib/compatibleActions.d.ts.map +1 -0
- package/lib/compatibleActions.js +2 -0
- package/lib/controller/BaseController.d.ts +128 -0
- package/lib/controller/BaseController.d.ts.map +1 -0
- package/lib/controller/BaseController.js +289 -0
- package/lib/controller/Controller.d.ts +14 -0
- package/lib/controller/Controller.d.ts.map +1 -0
- package/lib/controller/Controller.js +20 -0
- package/lib/controller/createFetch.d.ts +12 -0
- package/lib/controller/createFetch.d.ts.map +1 -0
- package/lib/controller/createFetch.js +42 -0
- package/lib/controller/createInvalidate.d.ts +6 -0
- package/lib/controller/createInvalidate.d.ts.map +1 -0
- package/lib/controller/createInvalidate.js +12 -0
- package/lib/controller/createInvalidateAll.d.ts +3 -0
- package/lib/controller/createInvalidateAll.d.ts.map +1 -0
- package/lib/controller/createInvalidateAll.js +8 -0
- package/lib/controller/createOptimistic.d.ts +10 -0
- package/lib/controller/createOptimistic.d.ts.map +1 -0
- package/lib/controller/createOptimistic.js +33 -0
- package/lib/controller/createReceive.d.ts +20 -0
- package/lib/controller/createReceive.d.ts.map +1 -0
- package/lib/controller/createReceive.js +36 -0
- package/lib/controller/createReset.d.ts +3 -0
- package/lib/controller/createReset.d.ts.map +1 -0
- package/lib/controller/createReset.js +8 -0
- package/lib/controller/createSubscription.d.ts +9 -0
- package/lib/controller/createSubscription.d.ts.map +1 -0
- package/lib/controller/createSubscription.js +30 -0
- package/lib/controller/types.d.ts +6 -0
- package/lib/controller/types.d.ts.map +1 -0
- package/lib/controller/types.js +2 -0
- package/lib/endpoint/index.d.ts +3 -0
- package/lib/endpoint/index.d.ts.map +1 -0
- package/lib/endpoint/index.js +2 -0
- package/lib/endpoint/shapes.d.ts +25 -0
- package/lib/endpoint/shapes.d.ts.map +1 -0
- package/lib/endpoint/shapes.js +2 -0
- package/lib/endpoint/types.d.ts +45 -0
- package/lib/endpoint/types.d.ts.map +1 -0
- package/lib/endpoint/types.js +2 -0
- package/lib/fsa.d.ts +41 -0
- package/lib/fsa.d.ts.map +1 -0
- package/lib/fsa.js +2 -0
- package/lib/index.d.ts +19 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +22 -0
- package/lib/internal.d.ts +4 -0
- package/lib/internal.d.ts.map +1 -0
- package/lib/internal.js +4 -0
- package/lib/legacyActions.d.ts +92 -0
- package/lib/legacyActions.d.ts.map +1 -0
- package/lib/legacyActions.js +2 -0
- package/lib/manager/ConnectionListener.d.ts +8 -0
- package/lib/manager/ConnectionListener.d.ts.map +1 -0
- package/lib/manager/ConnectionListener.js +2 -0
- package/lib/manager/DefaultConnectionListener.d.ts +20 -0
- package/lib/manager/DefaultConnectionListener.d.ts.map +1 -0
- package/lib/manager/DefaultConnectionListener.js +40 -0
- package/lib/manager/DevtoolsManager.d.ts +24 -0
- package/lib/manager/DevtoolsManager.d.ts.map +1 -0
- package/lib/manager/DevtoolsManager.js +74 -0
- package/lib/manager/LogoutManager.d.ts +25 -0
- package/lib/manager/LogoutManager.d.ts.map +1 -0
- package/lib/manager/LogoutManager.js +34 -0
- package/lib/manager/NetworkManager.d.ts +82 -0
- package/lib/manager/NetworkManager.d.ts.map +1 -0
- package/lib/manager/NetworkManager.js +295 -0
- package/lib/manager/PollingSubscription.d.ts +45 -0
- package/lib/manager/PollingSubscription.d.ts.map +1 -0
- package/lib/manager/PollingSubscription.js +159 -0
- package/lib/manager/SubscriptionManager.d.ts +55 -0
- package/lib/manager/SubscriptionManager.d.ts.map +1 -0
- package/lib/manager/SubscriptionManager.js +117 -0
- package/lib/manager/applyManager.d.ts +10 -0
- package/lib/manager/applyManager.d.ts.map +1 -0
- package/lib/manager/applyManager.js +23 -0
- package/lib/manager/devtoolsTypes.d.ts +205 -0
- package/lib/manager/devtoolsTypes.d.ts.map +1 -0
- package/lib/manager/devtoolsTypes.js +2 -0
- package/lib/manager/index.d.ts +8 -0
- package/lib/manager/index.d.ts.map +1 -0
- package/lib/manager/index.js +6 -0
- package/lib/middlewareTypes.d.ts +18 -0
- package/lib/middlewareTypes.d.ts.map +1 -0
- package/lib/middlewareTypes.js +2 -0
- package/lib/newActions.d.ts +85 -0
- package/lib/newActions.d.ts.map +1 -0
- package/lib/newActions.js +2 -0
- package/lib/next/Controller.d.ts +14 -0
- package/lib/next/Controller.d.ts.map +1 -0
- package/lib/next/Controller.js +24 -0
- package/lib/next/index.d.ts +3 -0
- package/lib/next/index.d.ts.map +1 -0
- package/lib/next/index.js +3 -0
- package/lib/previousActions.d.ts +91 -0
- package/lib/previousActions.d.ts.map +1 -0
- package/lib/previousActions.js +2 -0
- package/lib/state/RIC.d.ts +2 -0
- package/lib/state/RIC.js +3 -0
- package/lib/state/applyUpdatersToResults.d.ts +13 -0
- package/lib/state/applyUpdatersToResults.d.ts.map +1 -0
- package/lib/state/applyUpdatersToResults.js +7 -0
- package/lib/state/legacy-actions/createFetch.d.ts +19 -0
- package/lib/state/legacy-actions/createFetch.d.ts.map +1 -0
- package/lib/state/legacy-actions/createFetch.js +62 -0
- package/lib/state/legacy-actions/createReceive.d.ts +14 -0
- package/lib/state/legacy-actions/createReceive.d.ts.map +1 -0
- package/lib/state/legacy-actions/createReceive.js +37 -0
- package/lib/state/legacy-actions/createReceiveError.d.ts +9 -0
- package/lib/state/legacy-actions/createReceiveError.d.ts.map +1 -0
- package/lib/state/legacy-actions/createReceiveError.js +28 -0
- package/lib/state/legacy-actions/index.d.ts +4 -0
- package/lib/state/legacy-actions/index.d.ts.map +1 -0
- package/lib/state/legacy-actions/index.js +4 -0
- package/lib/state/reducer/createReducer.d.ts +7 -0
- package/lib/state/reducer/createReducer.d.ts.map +1 -0
- package/lib/state/reducer/createReducer.js +55 -0
- package/lib/state/reducer/fetchReducer.d.ts +4 -0
- package/lib/state/reducer/fetchReducer.d.ts.map +1 -0
- package/lib/state/reducer/fetchReducer.js +34 -0
- package/lib/state/reducer/invalidateReducer.d.ts +37 -0
- package/lib/state/reducer/invalidateReducer.d.ts.map +1 -0
- package/lib/state/reducer/invalidateReducer.js +34 -0
- package/lib/state/reducer/setReducer.d.ts +40 -0
- package/lib/state/reducer/setReducer.d.ts.map +1 -0
- package/lib/state/reducer/setReducer.js +119 -0
- package/lib/state/reducerInstance.d.ts +7 -0
- package/lib/state/reducerInstance.d.ts.map +1 -0
- package/lib/state/reducerInstance.js +9 -0
- package/lib/state/selectMeta.d.ts +3 -0
- package/lib/state/selectMeta.d.ts.map +1 -0
- package/lib/state/selectMeta.js +4 -0
- package/lib/types.d.ts +71 -0
- package/lib/types.d.ts.map +1 -0
- package/lib/types.js +8 -0
- package/node.mjs +1 -0
- package/package.json +127 -0
- package/src/actionTypes.ts +11 -0
- package/src/compatibleActions.ts +96 -0
- package/src/controller/BaseController.ts +508 -0
- package/src/controller/Controller.ts +32 -0
- package/src/controller/__tests__/Controller.ts +29 -0
- package/src/controller/__tests__/__snapshots__/getResponse.ts.snap +35 -0
- package/src/controller/__tests__/getResponse.ts +182 -0
- package/src/controller/createFetch.ts +54 -0
- package/src/controller/createInvalidate.ts +16 -0
- package/src/controller/createInvalidateAll.ts +11 -0
- package/src/controller/createOptimistic.ts +47 -0
- package/src/controller/createReceive.ts +85 -0
- package/src/controller/createReset.ts +9 -0
- package/src/controller/createSubscription.ts +39 -0
- package/src/controller/types.ts +22 -0
- package/src/endpoint/index.ts +14 -0
- package/src/endpoint/shapes.ts +53 -0
- package/src/endpoint/types.ts +72 -0
- package/src/fsa.ts +99 -0
- package/src/index.ts +61 -0
- package/src/internal.ts +3 -0
- package/src/legacyActions.ts +163 -0
- package/src/manager/ConnectionListener.ts +7 -0
- package/src/manager/DefaultConnectionListener.ts +54 -0
- package/src/manager/DevtoolsManager.ts +99 -0
- package/src/manager/LogoutManager.ts +57 -0
- package/src/manager/NetworkManager.ts +346 -0
- package/src/manager/PollingSubscription.ts +190 -0
- package/src/manager/SubscriptionManager.ts +156 -0
- package/src/manager/__tests__/__snapshots__/pollingSubscription-endpoint.ts.snap +49 -0
- package/src/manager/__tests__/__snapshots__/pollingSubscription.ts.snap +43 -0
- package/src/manager/__tests__/logoutManager.ts +112 -0
- package/src/manager/__tests__/manager.ts +44 -0
- package/src/manager/__tests__/networkManager-legacy.ts +394 -0
- package/src/manager/__tests__/networkManager.ts +426 -0
- package/src/manager/__tests__/pollingSubscription-endpoint.ts +423 -0
- package/src/manager/__tests__/pollingSubscription.ts +313 -0
- package/src/manager/__tests__/subscriptionManager.ts +208 -0
- package/src/manager/applyManager.ts +33 -0
- package/src/manager/devtoolsTypes.ts +210 -0
- package/src/manager/index.ts +7 -0
- package/src/middlewareTypes.ts +49 -0
- package/src/newActions.ts +140 -0
- package/src/next/Controller.ts +39 -0
- package/src/next/index.ts +2 -0
- package/src/package.json +1 -0
- package/src/previousActions.ts +159 -0
- package/src/state/RIC.d.ts +2 -0
- package/src/state/RIC.js +5 -0
- package/src/state/__tests__/RIC.web.ts +16 -0
- package/src/state/__tests__/__snapshots__/reducer.ts.snap +56 -0
- package/src/state/__tests__/applyUpdatersToResults.ts +40 -0
- package/src/state/__tests__/reducer.ts +868 -0
- package/src/state/applyUpdatersToResults.ts +29 -0
- package/src/state/legacy-actions/createFetch.ts +95 -0
- package/src/state/legacy-actions/createReceive.ts +68 -0
- package/src/state/legacy-actions/createReceiveError.ts +43 -0
- package/src/state/legacy-actions/index.ts +3 -0
- package/src/state/reducer/createReducer.ts +80 -0
- package/src/state/reducer/fetchReducer.ts +48 -0
- package/src/state/reducer/invalidateReducer.ts +39 -0
- package/src/state/reducer/setReducer.ts +157 -0
- package/src/state/reducerInstance.ts +14 -0
- package/src/state/selectMeta.ts +8 -0
- package/src/types.ts +125 -0
- package/ts3.4/actionTypes.d.ts +11 -0
- package/ts3.4/compatibleActions.d.ts +47 -0
- package/ts3.4/controller/BaseController.d.ts +170 -0
- package/ts3.4/controller/Controller.d.ts +14 -0
- package/ts3.4/controller/createFetch.d.ts +14 -0
- package/ts3.4/controller/createInvalidate.d.ts +8 -0
- package/ts3.4/controller/createInvalidateAll.d.ts +3 -0
- package/ts3.4/controller/createOptimistic.d.ts +12 -0
- package/ts3.4/controller/createReceive.d.ts +24 -0
- package/ts3.4/controller/createReset.d.ts +3 -0
- package/ts3.4/controller/createSubscription.d.ts +13 -0
- package/ts3.4/controller/types.d.ts +6 -0
- package/ts3.4/endpoint/index.d.ts +3 -0
- package/ts3.4/endpoint/shapes.d.ts +25 -0
- package/ts3.4/endpoint/types.d.ts +45 -0
- package/ts3.4/fsa.d.ts +41 -0
- package/ts3.4/index.d.ts +22 -0
- package/ts3.4/internal.d.ts +4 -0
- package/ts3.4/legacyActions.d.ts +95 -0
- package/ts3.4/manager/ConnectionListener.d.ts +8 -0
- package/ts3.4/manager/DefaultConnectionListener.d.ts +20 -0
- package/ts3.4/manager/DevtoolsManager.d.ts +24 -0
- package/ts3.4/manager/LogoutManager.d.ts +25 -0
- package/ts3.4/manager/NetworkManager.d.ts +82 -0
- package/ts3.4/manager/PollingSubscription.d.ts +45 -0
- package/ts3.4/manager/SubscriptionManager.d.ts +55 -0
- package/ts3.4/manager/applyManager.d.ts +10 -0
- package/ts3.4/manager/devtoolsTypes.d.ts +205 -0
- package/ts3.4/manager/index.d.ts +8 -0
- package/ts3.4/middlewareTypes.d.ts +18 -0
- package/ts3.4/newActions.d.ts +88 -0
- package/ts3.4/next/Controller.d.ts +14 -0
- package/ts3.4/next/index.d.ts +3 -0
- package/ts3.4/previousActions.d.ts +94 -0
- package/ts3.4/state/RIC.d.ts +2 -0
- package/ts3.4/state/applyUpdatersToResults.d.ts +13 -0
- package/ts3.4/state/legacy-actions/createFetch.d.ts +19 -0
- package/ts3.4/state/legacy-actions/createReceive.d.ts +14 -0
- package/ts3.4/state/legacy-actions/createReceiveError.d.ts +9 -0
- package/ts3.4/state/legacy-actions/index.d.ts +4 -0
- package/ts3.4/state/reducer/createReducer.d.ts +7 -0
- package/ts3.4/state/reducer/fetchReducer.d.ts +4 -0
- package/ts3.4/state/reducer/invalidateReducer.d.ts +37 -0
- package/ts3.4/state/reducer/setReducer.d.ts +40 -0
- package/ts3.4/state/reducerInstance.d.ts +7 -0
- package/ts3.4/state/selectMeta.d.ts +3 -0
- package/ts3.4/types.d.ts +73 -0
- 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 @@
|
|
|
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 @@
|
|
|
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"}
|