@data-client/core 0.14.1 → 0.14.4
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/dist/index.js +52 -27
- package/dist/index.umd.min.js +1 -1
- package/legacy/controller/actions/createFetch.js +3 -3
- package/legacy/controller/actions/createOptimistic.js +3 -3
- package/legacy/controller/actions/createSet.js +2 -2
- package/legacy/controller/actions/createSetResponse.js +3 -3
- package/legacy/controller/actions/createSubscription.js +3 -3
- package/legacy/manager/DevtoolsManager.js +24 -2
- package/legacy/manager/NetworkManager.js +5 -2
- package/legacy/manager/SubscriptionManager.js +1 -1
- package/legacy/manager/applyManager.js +12 -4
- package/legacy/manager/devtoolsTypes.js +1 -1
- package/legacy/state/reducer/createReducer.js +2 -2
- package/legacy/state/reducer/fetchReducer.js +2 -9
- package/legacy/state/reducer/setReducer.js +3 -3
- package/legacy/state/reducer/setResponseReducer.js +3 -3
- package/legacy/types.js +1 -1
- package/lib/controller/actions/createFetch.js +3 -3
- package/lib/controller/actions/createOptimistic.js +3 -3
- package/lib/controller/actions/createSet.js +2 -2
- package/lib/controller/actions/createSetResponse.js +3 -3
- package/lib/controller/actions/createSubscription.js +3 -3
- package/lib/manager/DevtoolsManager.d.ts.map +1 -1
- package/lib/manager/DevtoolsManager.js +24 -2
- package/lib/manager/NetworkManager.d.ts +4 -1
- package/lib/manager/NetworkManager.d.ts.map +1 -1
- package/lib/manager/NetworkManager.js +5 -2
- package/lib/manager/SubscriptionManager.d.ts +1 -1
- package/lib/manager/SubscriptionManager.d.ts.map +1 -1
- package/lib/manager/SubscriptionManager.js +1 -1
- package/lib/manager/applyManager.d.ts.map +1 -1
- package/lib/manager/applyManager.js +12 -4
- package/lib/manager/devtoolsTypes.d.ts +5 -3
- package/lib/manager/devtoolsTypes.d.ts.map +1 -1
- package/lib/manager/devtoolsTypes.js +1 -1
- package/lib/state/reducer/createReducer.js +2 -2
- package/lib/state/reducer/expireReducer.d.ts +1 -1
- package/lib/state/reducer/fetchReducer.d.ts.map +1 -1
- package/lib/state/reducer/fetchReducer.js +2 -9
- package/lib/state/reducer/setReducer.d.ts +4 -4
- package/lib/state/reducer/setReducer.js +3 -3
- package/lib/state/reducer/setResponseReducer.d.ts +4 -4
- package/lib/state/reducer/setResponseReducer.js +3 -3
- package/lib/types.d.ts +1 -1
- package/lib/types.d.ts.map +1 -1
- package/lib/types.js +1 -1
- package/package.json +1 -1
- package/src/controller/actions/createFetch.ts +2 -2
- package/src/controller/actions/createOptimistic.ts +2 -2
- package/src/controller/actions/createSet.ts +1 -1
- package/src/controller/actions/createSetResponse.ts +2 -2
- package/src/controller/actions/createSubscription.ts +2 -2
- package/src/manager/DevtoolsManager.ts +14 -1
- package/src/manager/NetworkManager.ts +1 -1
- package/src/manager/SubscriptionManager.ts +3 -2
- package/src/manager/__tests__/applyManager.ts +38 -0
- package/src/manager/__tests__/networkManager.ts +1 -1
- package/src/manager/applyManager.ts +16 -3
- package/src/manager/devtoolsTypes.ts +9 -3
- package/src/state/__tests__/reducer.ts +3 -2
- package/src/state/reducer/createReducer.ts +1 -1
- package/src/state/reducer/fetchReducer.ts +1 -13
- package/src/state/reducer/setReducer.ts +2 -2
- package/src/state/reducer/setResponseReducer.ts +2 -2
- package/src/types.ts +1 -1
- package/ts3.4/manager/NetworkManager.d.ts +4 -1
- package/ts3.4/manager/SubscriptionManager.d.ts +1 -1
- package/ts3.4/manager/devtoolsTypes.d.ts +5 -3
- package/ts3.4/state/reducer/expireReducer.d.ts +1 -1
- package/ts3.4/state/reducer/setReducer.d.ts +4 -4
- package/ts3.4/state/reducer/setResponseReducer.d.ts +4 -4
- package/ts3.4/types.d.ts +1 -1
|
@@ -16,10 +16,10 @@ export function setReducer(state, action, controller) {
|
|
|
16
16
|
} = normalize(action.schema, value, action.args, state, action.meta);
|
|
17
17
|
return {
|
|
18
18
|
entities,
|
|
19
|
-
indexes,
|
|
20
19
|
endpoints: state.endpoints,
|
|
21
|
-
|
|
20
|
+
indexes,
|
|
22
21
|
meta: state.meta,
|
|
22
|
+
entityMeta,
|
|
23
23
|
optimistic: state.optimistic,
|
|
24
24
|
lastReset: state.lastReset
|
|
25
25
|
};
|
|
@@ -33,4 +33,4 @@ export function setReducer(state, action, controller) {
|
|
|
33
33
|
return state;
|
|
34
34
|
}
|
|
35
35
|
}
|
|
36
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
36
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJub3JtYWxpemUiLCJzZXRSZWR1Y2VyIiwic3RhdGUiLCJhY3Rpb24iLCJjb250cm9sbGVyIiwidmFsdWUiLCJwcmV2aW91c1ZhbHVlIiwiZ2V0Iiwic2NoZW1hIiwiYXJncyIsInVuZGVmaW5lZCIsImVudGl0aWVzIiwiaW5kZXhlcyIsImVudGl0eU1ldGEiLCJtZXRhIiwiZW5kcG9pbnRzIiwib3B0aW1pc3RpYyIsImxhc3RSZXNldCIsImVycm9yIiwicHJvY2VzcyIsImVudiIsIk5PREVfRU5WIiwiY29uc29sZSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zdGF0ZS9yZWR1Y2VyL3NldFJlZHVjZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbm9ybWFsaXplIH0gZnJvbSAnQGRhdGEtY2xpZW50L25vcm1hbGl6cic7XG5cbmltcG9ydCBDb250cm9sbGVyIGZyb20gJy4uLy4uL2NvbnRyb2xsZXIvQ29udHJvbGxlci5qcyc7XG5pbXBvcnQgdHlwZSB7IFN0YXRlLCBTZXRBY3Rpb24gfSBmcm9tICcuLi8uLi90eXBlcy5qcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXRSZWR1Y2VyKFxuICBzdGF0ZTogU3RhdGU8dW5rbm93bj4sXG4gIGFjdGlvbjogU2V0QWN0aW9uLFxuICBjb250cm9sbGVyOiBDb250cm9sbGVyLFxuKSB7XG4gIGxldCB2YWx1ZTogYW55O1xuICBpZiAodHlwZW9mIGFjdGlvbi52YWx1ZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIGNvbnN0IHByZXZpb3VzVmFsdWUgPSBjb250cm9sbGVyLmdldChhY3Rpb24uc2NoZW1hLCAuLi5hY3Rpb24uYXJncywgc3RhdGUpO1xuICAgIGlmIChwcmV2aW91c1ZhbHVlID09PSB1bmRlZmluZWQpIHJldHVybiBzdGF0ZTtcbiAgICB2YWx1ZSA9IGFjdGlvbi52YWx1ZShwcmV2aW91c1ZhbHVlKTtcbiAgfSBlbHNlIHtcbiAgICB2YWx1ZSA9IGFjdGlvbi52YWx1ZTtcbiAgfVxuICB0cnkge1xuICAgIGNvbnN0IHsgZW50aXRpZXMsIGluZGV4ZXMsIGVudGl0eU1ldGEgfSA9IG5vcm1hbGl6ZShcbiAgICAgIGFjdGlvbi5zY2hlbWEsXG4gICAgICB2YWx1ZSxcbiAgICAgIGFjdGlvbi5hcmdzLFxuICAgICAgc3RhdGUsXG4gICAgICBhY3Rpb24ubWV0YSxcbiAgICApO1xuICAgIHJldHVybiB7XG4gICAgICBlbnRpdGllcyxcbiAgICAgIGVuZHBvaW50czogc3RhdGUuZW5kcG9pbnRzLFxuICAgICAgaW5kZXhlcyxcbiAgICAgIG1ldGE6IHN0YXRlLm1ldGEsXG4gICAgICBlbnRpdHlNZXRhLFxuICAgICAgb3B0aW1pc3RpYzogc3RhdGUub3B0aW1pc3RpYyxcbiAgICAgIGxhc3RSZXNldDogc3RhdGUubGFzdFJlc2V0LFxuICAgIH07XG4gICAgLy8gcmVkdWNlciBtdXN0IHVwZGF0ZSB0aGUgc3RhdGUsIHNvIGluIGNhc2Ugb2YgcHJvY2Vzc2luZyBlcnJvcnMgd2Ugc2ltcGx5IGNvbXB1dGUgdGhlIGVuZHBvaW50cyBpbmxpbmVcbiAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xuICAgIC8vIHRoaXMgaXMgbm90IGFsd2F5cyBidWJibGVkIHVwLCBzbyBsZXQncyBkb3VibGUgc3VyZSB0aGlzIGRvZXNuJ3QgZmFpbCBzaWxlbnRseVxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpO1xuICAgIH1cbiAgICByZXR1cm4gc3RhdGU7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsU0FBUyxRQUFRLHdCQUF3QjtBQUtsRCxPQUFPLFNBQVNDLFVBQVVBLENBQ3hCQyxLQUFxQixFQUNyQkMsTUFBaUIsRUFDakJDLFVBQXNCLEVBQ3RCO0VBQ0EsSUFBSUMsS0FBVTtFQUNkLElBQUksT0FBT0YsTUFBTSxDQUFDRSxLQUFLLEtBQUssVUFBVSxFQUFFO0lBQ3RDLE1BQU1DLGFBQWEsR0FBR0YsVUFBVSxDQUFDRyxHQUFHLENBQUNKLE1BQU0sQ0FBQ0ssTUFBTSxFQUFFLEdBQUdMLE1BQU0sQ0FBQ00sSUFBSSxFQUFFUCxLQUFLLENBQUM7SUFDMUUsSUFBSUksYUFBYSxLQUFLSSxTQUFTLEVBQUUsT0FBT1IsS0FBSztJQUM3Q0csS0FBSyxHQUFHRixNQUFNLENBQUNFLEtBQUssQ0FBQ0MsYUFBYSxDQUFDO0VBQ3JDLENBQUMsTUFBTTtJQUNMRCxLQUFLLEdBQUdGLE1BQU0sQ0FBQ0UsS0FBSztFQUN0QjtFQUNBLElBQUk7SUFDRixNQUFNO01BQUVNLFFBQVE7TUFBRUMsT0FBTztNQUFFQztJQUFXLENBQUMsR0FBR2IsU0FBUyxDQUNqREcsTUFBTSxDQUFDSyxNQUFNLEVBQ2JILEtBQUssRUFDTEYsTUFBTSxDQUFDTSxJQUFJLEVBQ1hQLEtBQUssRUFDTEMsTUFBTSxDQUFDVyxJQUNULENBQUM7SUFDRCxPQUFPO01BQ0xILFFBQVE7TUFDUkksU0FBUyxFQUFFYixLQUFLLENBQUNhLFNBQVM7TUFDMUJILE9BQU87TUFDUEUsSUFBSSxFQUFFWixLQUFLLENBQUNZLElBQUk7TUFDaEJELFVBQVU7TUFDVkcsVUFBVSxFQUFFZCxLQUFLLENBQUNjLFVBQVU7TUFDNUJDLFNBQVMsRUFBRWYsS0FBSyxDQUFDZTtJQUNuQixDQUFDO0lBQ0Q7RUFDRixDQUFDLENBQUMsT0FBT0MsS0FBVSxFQUFFO0lBQ25CO0lBQ0E7SUFDQSxJQUFJQyxPQUFPLENBQUNDLEdBQUcsQ0FBQ0MsUUFBUSxLQUFLLFlBQVksRUFBRTtNQUN6Q0MsT0FBTyxDQUFDSixLQUFLLENBQUNBLEtBQUssQ0FBQztJQUN0QjtJQUNBLE9BQU9oQixLQUFLO0VBQ2Q7QUFDRiIsImlnbm9yZUxpc3QiOltdfQ==
|
|
@@ -4,11 +4,8 @@ export declare function setResponseReducer(state: State<unknown>, action: Optimi
|
|
|
4
4
|
entities: {
|
|
5
5
|
[x: string]: any;
|
|
6
6
|
};
|
|
7
|
-
indexes: import("@data-client/normalizr").NormalizedIndex;
|
|
8
7
|
endpoints: Record<string, unknown>;
|
|
9
|
-
|
|
10
|
-
[x: string]: any;
|
|
11
|
-
}>;
|
|
8
|
+
indexes: import("@data-client/normalizr").NormalizedIndex;
|
|
12
9
|
meta: {
|
|
13
10
|
[x: string]: {
|
|
14
11
|
readonly date: number;
|
|
@@ -23,6 +20,9 @@ export declare function setResponseReducer(state: State<unknown>, action: Optimi
|
|
|
23
20
|
prevExpiresAt: number;
|
|
24
21
|
};
|
|
25
22
|
};
|
|
23
|
+
entityMeta: import("packages/normalizr/lib/types.js").EntitiesToMeta<{
|
|
24
|
+
[x: string]: any;
|
|
25
|
+
}>;
|
|
26
26
|
optimistic: (SetResponseAction | OptimisticAction<import("@data-client/normalizr").EndpointInterface<import("@data-client/normalizr").FetchFunction, import("@data-client/normalizr").Schema | undefined, boolean | undefined> & {
|
|
27
27
|
update?: import("../../index.js").EndpointUpdateFunction<import("@data-client/normalizr").EndpointInterface>;
|
|
28
28
|
}>)[];
|
|
@@ -51,9 +51,8 @@ export function setResponseReducer(state, action, controller) {
|
|
|
51
51
|
}
|
|
52
52
|
return {
|
|
53
53
|
entities,
|
|
54
|
-
indexes,
|
|
55
54
|
endpoints,
|
|
56
|
-
|
|
55
|
+
indexes,
|
|
57
56
|
meta: {
|
|
58
57
|
...state.meta,
|
|
59
58
|
[action.key]: {
|
|
@@ -62,6 +61,7 @@ export function setResponseReducer(state, action, controller) {
|
|
|
62
61
|
prevExpiresAt: (_state$meta$action$ke = state.meta[action.key]) == null ? void 0 : _state$meta$action$ke.expiresAt
|
|
63
62
|
}
|
|
64
63
|
},
|
|
64
|
+
entityMeta,
|
|
65
65
|
optimistic: filterOptimistic(state, action),
|
|
66
66
|
lastReset: state.lastReset
|
|
67
67
|
};
|
|
@@ -109,4 +109,4 @@ function reduceError(state, action, error) {
|
|
|
109
109
|
function filterOptimistic(state, resolvingAction) {
|
|
110
110
|
return state.optimistic.filter(optimisticAction => optimisticAction.key !== resolvingAction.key || (optimisticAction.type === OPTIMISTIC_TYPE ? optimisticAction.meta.fetchedAt !== resolvingAction.meta.fetchedAt : optimisticAction.meta.date > resolvingAction.meta.date));
|
|
111
111
|
}
|
|
112
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJub3JtYWxpemUiLCJPUFRJTUlTVElDX1RZUEUiLCJBYm9ydE9wdGltaXN0aWMiLCJzZXRSZXNwb25zZVJlZHVjZXIiLCJzdGF0ZSIsImFjdGlvbiIsImNvbnRyb2xsZXIiLCJlcnJvciIsInJlZHVjZUVycm9yIiwicmVzcG9uc2UiLCJfc3RhdGUkbWV0YSRhY3Rpb24ka2UiLCJ0eXBlIiwiZW5kcG9pbnQiLCJnZXRPcHRpbWlzdGljUmVzcG9uc2UiLCJjYWxsIiwic25hcHNob3QiLCJtZXRhIiwiZmV0Y2hlZEF0IiwiYXJncyIsImUiLCJjb25zdHJ1Y3RvciIsInJlc3VsdCIsImVudGl0aWVzIiwiaW5kZXhlcyIsImVudGl0eU1ldGEiLCJzY2hlbWEiLCJlbmRwb2ludHMiLCJrZXkiLCJ1cGRhdGUiLCJ1cGRhdGVycyIsIk9iamVjdCIsImtleXMiLCJmb3JFYWNoIiwiY29uc29sZSIsImRhdGUiLCJleHBpcmVzQXQiLCJwcmV2RXhwaXJlc0F0Iiwib3B0aW1pc3RpYyIsImZpbHRlck9wdGltaXN0aWMiLCJsYXN0UmVzZXQiLCJtZXNzYWdlIiwiSlNPTiIsInN0cmluZ2lmeSIsInVuZGVmaW5lZCIsInN0YXR1cyIsInByb2Nlc3MiLCJlbnYiLCJOT0RFX0VOViIsIm5hbWUiLCJlcnJvclBvbGljeSIsInJlc29sdmluZ0FjdGlvbiIsImZpbHRlciIsIm9wdGltaXN0aWNBY3Rpb24iXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc3RhdGUvcmVkdWNlci9zZXRSZXNwb25zZVJlZHVjZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbm9ybWFsaXplIH0gZnJvbSAnQGRhdGEtY2xpZW50L25vcm1hbGl6cic7XG5cbmltcG9ydCB7IE9QVElNSVNUSUNfVFlQRSB9IGZyb20gJy4uLy4uL2FjdGlvblR5cGVzLmpzJztcbmltcG9ydCBBYm9ydE9wdGltaXN0aWMgZnJvbSAnLi4vLi4vY29udHJvbGxlci9BYm9ydE9wdGltaXN0aWMuanMnO1xuaW1wb3J0IHR5cGUgQ29udHJvbGxlciBmcm9tICcuLi8uLi9jb250cm9sbGVyL0NvbnRyb2xsZXIuanMnO1xuaW1wb3J0IHR5cGUge1xuICBTdGF0ZSxcbiAgU2V0UmVzcG9uc2VBY3Rpb24sXG4gIE9wdGltaXN0aWNBY3Rpb24sXG59IGZyb20gJy4uLy4uL3R5cGVzLmpzJztcblxuZXhwb3J0IGZ1bmN0aW9uIHNldFJlc3BvbnNlUmVkdWNlcihcbiAgc3RhdGU6IFN0YXRlPHVua25vd24+LFxuICBhY3Rpb246IE9wdGltaXN0aWNBY3Rpb24gfCBTZXRSZXNwb25zZUFjdGlvbixcbiAgY29udHJvbGxlcjogQ29udHJvbGxlcixcbikge1xuICBpZiAoYWN0aW9uLmVycm9yKSB7XG4gICAgcmV0dXJuIHJlZHVjZUVycm9yKHN0YXRlLCBhY3Rpb24sIGFjdGlvbi5yZXNwb25zZSk7XG4gIH1cbiAgdHJ5IHtcbiAgICBsZXQgcmVzcG9uc2U6IGFueTtcbiAgICAvLyBmb3IgdHJ1ZSBzZXQncyByZXNwb25zZSBpcyBjb250YWluZWQgaW4gYWN0aW9uXG4gICAgaWYgKGFjdGlvbi50eXBlID09PSBPUFRJTUlTVElDX1RZUEUpIHtcbiAgICAgIC8vIHRoaXMgc2hvdWxkIG5ldmVyIGhhcHBlblxuICAgICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgICBpZiAoIWFjdGlvbi5lbmRwb2ludC5nZXRPcHRpbWlzdGljUmVzcG9uc2UpIHJldHVybiBzdGF0ZTtcbiAgICAgIHRyeSB7XG4gICAgICAgIC8vIGNvbXB1dGUgb3B0aW1pc3RpYyByZXNwb25zZSBiYXNlZCBvbiBjdXJyZW50IHN0YXRlXG4gICAgICAgIHJlc3BvbnNlID0gYWN0aW9uLmVuZHBvaW50LmdldE9wdGltaXN0aWNSZXNwb25zZS5jYWxsKFxuICAgICAgICAgIGFjdGlvbi5lbmRwb2ludCxcbiAgICAgICAgICBjb250cm9sbGVyLnNuYXBzaG90KHN0YXRlLCBhY3Rpb24ubWV0YS5mZXRjaGVkQXQpLFxuICAgICAgICAgIC4uLmFjdGlvbi5hcmdzLFxuICAgICAgICApO1xuICAgICAgfSBjYXRjaCAoZTogYW55KSB7XG4gICAgICAgIC8vIEFib3J0T3B0aW1pc3RpYyBtZWFucyAnZG8gbm90aGluZycsIG90aGVyd2lzZSB3ZSBjb3VudCB0aGUgZXhjZXB0aW9uIGFzIGVuZHBvaW50IGZhaWx1cmVcbiAgICAgICAgaWYgKGUuY29uc3RydWN0b3IgPT09IEFib3J0T3B0aW1pc3RpYykge1xuICAgICAgICAgIHJldHVybiBzdGF0ZTtcbiAgICAgICAgfVxuICAgICAgICB0aHJvdyBlO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICByZXNwb25zZSA9IGFjdGlvbi5yZXNwb25zZTtcbiAgICB9XG4gICAgY29uc3QgeyByZXN1bHQsIGVudGl0aWVzLCBpbmRleGVzLCBlbnRpdHlNZXRhIH0gPSBub3JtYWxpemUoXG4gICAgICBhY3Rpb24uZW5kcG9pbnQuc2NoZW1hLFxuICAgICAgcmVzcG9uc2UsXG4gICAgICBhY3Rpb24uYXJncyxcbiAgICAgIHN0YXRlLFxuICAgICAgYWN0aW9uLm1ldGEsXG4gICAgKTtcbiAgICBjb25zdCBlbmRwb2ludHM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0ge1xuICAgICAgLi4uc3RhdGUuZW5kcG9pbnRzLFxuICAgICAgW2FjdGlvbi5rZXldOiByZXN1bHQsXG4gICAgfTtcbiAgICB0cnkge1xuICAgICAgaWYgKGFjdGlvbi5lbmRwb2ludC51cGRhdGUpIHtcbiAgICAgICAgY29uc3QgdXBkYXRlcnMgPSBhY3Rpb24uZW5kcG9pbnQudXBkYXRlKHJlc3VsdCwgLi4uYWN0aW9uLmFyZ3MpO1xuICAgICAgICBPYmplY3Qua2V5cyh1cGRhdGVycykuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgICAgIGVuZHBvaW50c1trZXldID0gdXBkYXRlcnNba2V5XShlbmRwb2ludHNba2V5XSk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgLy8gbm8gcmVhc29uIHRvIGNvbXBsZXRlbHkgZmFpbCBiZWNhdXNlIG9mIHVzZXItY29kZSBlcnJvclxuICAgICAgLy8gaW50ZWdyaXR5IG9mIHRoaXMgc3RhdGUgdXBkYXRlIGlzIHN0aWxsIGd1YXJhbnRlZWRcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcihcbiAgICAgICAgYFRoZSBmb2xsb3dpbmcgZXJyb3Igb2NjdXJlZCBkdXJpbmcgRW5kcG9pbnQudXBkYXRlKCkgZm9yICR7YWN0aW9uLmtleX1gLFxuICAgICAgKTtcbiAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpO1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgZW50aXRpZXMsXG4gICAgICBpbmRleGVzLFxuICAgICAgZW5kcG9pbnRzLFxuICAgICAgZW50aXR5TWV0YSxcbiAgICAgIG1ldGE6IHtcbiAgICAgICAgLi4uc3RhdGUubWV0YSxcbiAgICAgICAgW2FjdGlvbi5rZXldOiB7XG4gICAgICAgICAgZGF0ZTogYWN0aW9uLm1ldGEuZGF0ZSxcbiAgICAgICAgICBleHBpcmVzQXQ6IGFjdGlvbi5tZXRhLmV4cGlyZXNBdCxcbiAgICAgICAgICBwcmV2RXhwaXJlc0F0OiBzdGF0ZS5tZXRhW2FjdGlvbi5rZXldPy5leHBpcmVzQXQsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgb3B0aW1pc3RpYzogZmlsdGVyT3B0aW1pc3RpYyhzdGF0ZSwgYWN0aW9uKSxcbiAgICAgIGxhc3RSZXNldDogc3RhdGUubGFzdFJlc2V0LFxuICAgIH07XG4gICAgLy8gcmVkdWNlciBtdXN0IHVwZGF0ZSB0aGUgc3RhdGUsIHNvIGluIGNhc2Ugb2YgcHJvY2Vzc2luZyBlcnJvcnMgd2Ugc2ltcGx5IGNvbXB1dGUgdGhlIGVuZHBvaW50cyBpbmxpbmVcbiAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xuICAgIGlmICh0eXBlb2YgZXJyb3IgPT09ICdvYmplY3QnKSB7XG4gICAgICBlcnJvci5tZXNzYWdlID0gYEVycm9yIHByb2Nlc3NpbmcgJHtcbiAgICAgICAgYWN0aW9uLmtleVxuICAgICAgfVxcblxcbkZ1bGwgU2NoZW1hOiAke0pTT04uc3RyaW5naWZ5KFxuICAgICAgICBhY3Rpb24uZW5kcG9pbnQuc2NoZW1hLFxuICAgICAgICB1bmRlZmluZWQsXG4gICAgICAgIDIsXG4gICAgICApfVxcblxcbkVycm9yOlxcbiR7ZXJyb3IubWVzc2FnZX1gO1xuICAgICAgaWYgKCdyZXNwb25zZScgaW4gYWN0aW9uKSBlcnJvci5yZXNwb25zZSA9IGFjdGlvbi5yZXNwb25zZTtcbiAgICAgIGVycm9yLnN0YXR1cyA9IDQwMDtcbiAgICB9XG5cbiAgICAvLyB0aGlzIGlzIG5vdCBhbHdheXMgYnViYmxlZCB1cCwgc28gbGV0J3MgZG91YmxlIHN1cmUgdGhpcyBkb2Vzbid0IGZhaWwgc2lsZW50bHlcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcbiAgICB9XG4gICAgcmV0dXJuIHJlZHVjZUVycm9yKHN0YXRlLCBhY3Rpb24sIGVycm9yKTtcbiAgfVxufVxuXG5mdW5jdGlvbiByZWR1Y2VFcnJvcihcbiAgc3RhdGU6IFN0YXRlPHVua25vd24+LFxuICBhY3Rpb246IFNldFJlc3BvbnNlQWN0aW9uIHwgT3B0aW1pc3RpY0FjdGlvbixcbiAgZXJyb3I6IGFueSxcbik6IFN0YXRlPHVua25vd24+IHtcbiAgaWYgKGVycm9yLm5hbWUgPT09ICdBYm9ydEVycm9yJykge1xuICAgIC8vIEluIGNhc2Ugd2UgYWJvcnQgc2ltcGx5IHVuZG8gdGhlIG9wdGltaXN0aWMgdXBkYXRlIGFuZCBhY3QgbGlrZSBubyBmZXRjaCBldmVuIG9jY3VyZWRcbiAgICAvLyBXZSBzdGlsbCB3YW50IHRob3NlIHdhdGNoaW5nIHByb21pc2VzIGZyb20gZmV0Y2ggZGlyZWN0bHkgdG8gb2JzZXJ2ZWQgdGhlIGFib3J0LCBidXQgd2UgZG9uJ3Qgd2FudCB0b1xuICAgIC8vIFRyaWdnZXIgZXJyb3JzIGluIHRoaXMgY2FzZS4gVGhpcyBtZWFucyB0aGVvcmV0aWNhbGx5IGltcHJvcGVybHkgYnVpbHQgYWJvcnRlcyB1c2VSZXNvdXJjZSgpIGNvdWxkIHN1c3BlbmQgZm9yZXZlci5cbiAgICByZXR1cm4ge1xuICAgICAgLi4uc3RhdGUsXG4gICAgICBvcHRpbWlzdGljOiBmaWx0ZXJPcHRpbWlzdGljKHN0YXRlLCBhY3Rpb24pLFxuICAgIH07XG4gIH1cbiAgcmV0dXJuIHtcbiAgICAuLi5zdGF0ZSxcbiAgICBtZXRhOiB7XG4gICAgICAuLi5zdGF0ZS5tZXRhLFxuICAgICAgW2FjdGlvbi5rZXldOiB7XG4gICAgICAgIGRhdGU6IGFjdGlvbi5tZXRhLmRhdGUsXG4gICAgICAgIGVycm9yLFxuICAgICAgICBleHBpcmVzQXQ6IGFjdGlvbi5tZXRhLmV4cGlyZXNBdCxcbiAgICAgICAgZXJyb3JQb2xpY3k6IGFjdGlvbi5lbmRwb2ludC5lcnJvclBvbGljeT8uKGVycm9yKSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICBvcHRpbWlzdGljOiBmaWx0ZXJPcHRpbWlzdGljKHN0YXRlLCBhY3Rpb24pLFxuICB9O1xufVxuLyoqIEZpbHRlciBhbGwgcmVxdWVzdHMgd2l0aCBzYW1lIHNlcmlhbGl6YXRpb24gdGhhdCBkaWQgbm90IHN0YXJ0IGFmdGVyIHRoZSByZXNvbHZpbmcgcmVxdWVzdCAqL1xuZnVuY3Rpb24gZmlsdGVyT3B0aW1pc3RpYyhcbiAgc3RhdGU6IFN0YXRlPHVua25vd24+LFxuICByZXNvbHZpbmdBY3Rpb246IFNldFJlc3BvbnNlQWN0aW9uIHwgT3B0aW1pc3RpY0FjdGlvbixcbikge1xuICByZXR1cm4gc3RhdGUub3B0aW1pc3RpYy5maWx0ZXIoXG4gICAgb3B0aW1pc3RpY0FjdGlvbiA9PlxuICAgICAgb3B0aW1pc3RpY0FjdGlvbi5rZXkgIT09IHJlc29sdmluZ0FjdGlvbi5rZXkgfHxcbiAgICAgIChvcHRpbWlzdGljQWN0aW9uLnR5cGUgPT09IE9QVElNSVNUSUNfVFlQRSA/XG4gICAgICAgIG9wdGltaXN0aWNBY3Rpb24ubWV0YS5mZXRjaGVkQXQgIT09IHJlc29sdmluZ0FjdGlvbi5tZXRhLmZldGNoZWRBdFxuICAgICAgOiBvcHRpbWlzdGljQWN0aW9uLm1ldGEuZGF0ZSA+IHJlc29sdmluZ0FjdGlvbi5tZXRhLmRhdGUpLFxuICApO1xufVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxTQUFTLFFBQVEsd0JBQXdCO0FBRWxELFNBQVNDLGVBQWUsUUFBUSxzQkFBc0I7QUFDdEQsT0FBT0MsZUFBZSxNQUFNLHFDQUFxQztBQVFqRSxPQUFPLFNBQVNDLGtCQUFrQkEsQ0FDaENDLEtBQXFCLEVBQ3JCQyxNQUE0QyxFQUM1Q0MsVUFBc0IsRUFDdEI7RUFDQSxJQUFJRCxNQUFNLENBQUNFLEtBQUssRUFBRTtJQUNoQixPQUFPQyxXQUFXLENBQUNKLEtBQUssRUFBRUMsTUFBTSxFQUFFQSxNQUFNLENBQUNJLFFBQVEsQ0FBQztFQUNwRDtFQUNBLElBQUk7SUFBQSxJQUFBQyxxQkFBQTtJQUNGLElBQUlELFFBQWE7SUFDakI7SUFDQSxJQUFJSixNQUFNLENBQUNNLElBQUksS0FBS1YsZUFBZSxFQUFFO01BQ25DO01BQ0E7TUFDQSxJQUFJLENBQUNJLE1BQU0sQ0FBQ08sUUFBUSxDQUFDQyxxQkFBcUIsRUFBRSxPQUFPVCxLQUFLO01BQ3hELElBQUk7UUFDRjtRQUNBSyxRQUFRLEdBQUdKLE1BQU0sQ0FBQ08sUUFBUSxDQUFDQyxxQkFBcUIsQ0FBQ0MsSUFBSSxDQUNuRFQsTUFBTSxDQUFDTyxRQUFRLEVBQ2ZOLFVBQVUsQ0FBQ1MsUUFBUSxDQUFDWCxLQUFLLEVBQUVDLE1BQU0sQ0FBQ1csSUFBSSxDQUFDQyxTQUFTLENBQUMsRUFDakQsR0FBR1osTUFBTSxDQUFDYSxJQUNaLENBQUM7TUFDSCxDQUFDLENBQUMsT0FBT0MsQ0FBTSxFQUFFO1FBQ2Y7UUFDQSxJQUFJQSxDQUFDLENBQUNDLFdBQVcsS0FBS2xCLGVBQWUsRUFBRTtVQUNyQyxPQUFPRSxLQUFLO1FBQ2Q7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
|
|
112
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJub3JtYWxpemUiLCJPUFRJTUlTVElDX1RZUEUiLCJBYm9ydE9wdGltaXN0aWMiLCJzZXRSZXNwb25zZVJlZHVjZXIiLCJzdGF0ZSIsImFjdGlvbiIsImNvbnRyb2xsZXIiLCJlcnJvciIsInJlZHVjZUVycm9yIiwicmVzcG9uc2UiLCJfc3RhdGUkbWV0YSRhY3Rpb24ka2UiLCJ0eXBlIiwiZW5kcG9pbnQiLCJnZXRPcHRpbWlzdGljUmVzcG9uc2UiLCJjYWxsIiwic25hcHNob3QiLCJtZXRhIiwiZmV0Y2hlZEF0IiwiYXJncyIsImUiLCJjb25zdHJ1Y3RvciIsInJlc3VsdCIsImVudGl0aWVzIiwiaW5kZXhlcyIsImVudGl0eU1ldGEiLCJzY2hlbWEiLCJlbmRwb2ludHMiLCJrZXkiLCJ1cGRhdGUiLCJ1cGRhdGVycyIsIk9iamVjdCIsImtleXMiLCJmb3JFYWNoIiwiY29uc29sZSIsImRhdGUiLCJleHBpcmVzQXQiLCJwcmV2RXhwaXJlc0F0Iiwib3B0aW1pc3RpYyIsImZpbHRlck9wdGltaXN0aWMiLCJsYXN0UmVzZXQiLCJtZXNzYWdlIiwiSlNPTiIsInN0cmluZ2lmeSIsInVuZGVmaW5lZCIsInN0YXR1cyIsInByb2Nlc3MiLCJlbnYiLCJOT0RFX0VOViIsIm5hbWUiLCJlcnJvclBvbGljeSIsInJlc29sdmluZ0FjdGlvbiIsImZpbHRlciIsIm9wdGltaXN0aWNBY3Rpb24iXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc3RhdGUvcmVkdWNlci9zZXRSZXNwb25zZVJlZHVjZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbm9ybWFsaXplIH0gZnJvbSAnQGRhdGEtY2xpZW50L25vcm1hbGl6cic7XG5cbmltcG9ydCB7IE9QVElNSVNUSUNfVFlQRSB9IGZyb20gJy4uLy4uL2FjdGlvblR5cGVzLmpzJztcbmltcG9ydCBBYm9ydE9wdGltaXN0aWMgZnJvbSAnLi4vLi4vY29udHJvbGxlci9BYm9ydE9wdGltaXN0aWMuanMnO1xuaW1wb3J0IHR5cGUgQ29udHJvbGxlciBmcm9tICcuLi8uLi9jb250cm9sbGVyL0NvbnRyb2xsZXIuanMnO1xuaW1wb3J0IHR5cGUge1xuICBTdGF0ZSxcbiAgU2V0UmVzcG9uc2VBY3Rpb24sXG4gIE9wdGltaXN0aWNBY3Rpb24sXG59IGZyb20gJy4uLy4uL3R5cGVzLmpzJztcblxuZXhwb3J0IGZ1bmN0aW9uIHNldFJlc3BvbnNlUmVkdWNlcihcbiAgc3RhdGU6IFN0YXRlPHVua25vd24+LFxuICBhY3Rpb246IE9wdGltaXN0aWNBY3Rpb24gfCBTZXRSZXNwb25zZUFjdGlvbixcbiAgY29udHJvbGxlcjogQ29udHJvbGxlcixcbikge1xuICBpZiAoYWN0aW9uLmVycm9yKSB7XG4gICAgcmV0dXJuIHJlZHVjZUVycm9yKHN0YXRlLCBhY3Rpb24sIGFjdGlvbi5yZXNwb25zZSk7XG4gIH1cbiAgdHJ5IHtcbiAgICBsZXQgcmVzcG9uc2U6IGFueTtcbiAgICAvLyBmb3IgdHJ1ZSBzZXQncyByZXNwb25zZSBpcyBjb250YWluZWQgaW4gYWN0aW9uXG4gICAgaWYgKGFjdGlvbi50eXBlID09PSBPUFRJTUlTVElDX1RZUEUpIHtcbiAgICAgIC8vIHRoaXMgc2hvdWxkIG5ldmVyIGhhcHBlblxuICAgICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgICBpZiAoIWFjdGlvbi5lbmRwb2ludC5nZXRPcHRpbWlzdGljUmVzcG9uc2UpIHJldHVybiBzdGF0ZTtcbiAgICAgIHRyeSB7XG4gICAgICAgIC8vIGNvbXB1dGUgb3B0aW1pc3RpYyByZXNwb25zZSBiYXNlZCBvbiBjdXJyZW50IHN0YXRlXG4gICAgICAgIHJlc3BvbnNlID0gYWN0aW9uLmVuZHBvaW50LmdldE9wdGltaXN0aWNSZXNwb25zZS5jYWxsKFxuICAgICAgICAgIGFjdGlvbi5lbmRwb2ludCxcbiAgICAgICAgICBjb250cm9sbGVyLnNuYXBzaG90KHN0YXRlLCBhY3Rpb24ubWV0YS5mZXRjaGVkQXQpLFxuICAgICAgICAgIC4uLmFjdGlvbi5hcmdzLFxuICAgICAgICApO1xuICAgICAgfSBjYXRjaCAoZTogYW55KSB7XG4gICAgICAgIC8vIEFib3J0T3B0aW1pc3RpYyBtZWFucyAnZG8gbm90aGluZycsIG90aGVyd2lzZSB3ZSBjb3VudCB0aGUgZXhjZXB0aW9uIGFzIGVuZHBvaW50IGZhaWx1cmVcbiAgICAgICAgaWYgKGUuY29uc3RydWN0b3IgPT09IEFib3J0T3B0aW1pc3RpYykge1xuICAgICAgICAgIHJldHVybiBzdGF0ZTtcbiAgICAgICAgfVxuICAgICAgICB0aHJvdyBlO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICByZXNwb25zZSA9IGFjdGlvbi5yZXNwb25zZTtcbiAgICB9XG4gICAgY29uc3QgeyByZXN1bHQsIGVudGl0aWVzLCBpbmRleGVzLCBlbnRpdHlNZXRhIH0gPSBub3JtYWxpemUoXG4gICAgICBhY3Rpb24uZW5kcG9pbnQuc2NoZW1hLFxuICAgICAgcmVzcG9uc2UsXG4gICAgICBhY3Rpb24uYXJncyxcbiAgICAgIHN0YXRlLFxuICAgICAgYWN0aW9uLm1ldGEsXG4gICAgKTtcbiAgICBjb25zdCBlbmRwb2ludHM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0ge1xuICAgICAgLi4uc3RhdGUuZW5kcG9pbnRzLFxuICAgICAgW2FjdGlvbi5rZXldOiByZXN1bHQsXG4gICAgfTtcbiAgICB0cnkge1xuICAgICAgaWYgKGFjdGlvbi5lbmRwb2ludC51cGRhdGUpIHtcbiAgICAgICAgY29uc3QgdXBkYXRlcnMgPSBhY3Rpb24uZW5kcG9pbnQudXBkYXRlKHJlc3VsdCwgLi4uYWN0aW9uLmFyZ3MpO1xuICAgICAgICBPYmplY3Qua2V5cyh1cGRhdGVycykuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgICAgIGVuZHBvaW50c1trZXldID0gdXBkYXRlcnNba2V5XShlbmRwb2ludHNba2V5XSk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgLy8gbm8gcmVhc29uIHRvIGNvbXBsZXRlbHkgZmFpbCBiZWNhdXNlIG9mIHVzZXItY29kZSBlcnJvclxuICAgICAgLy8gaW50ZWdyaXR5IG9mIHRoaXMgc3RhdGUgdXBkYXRlIGlzIHN0aWxsIGd1YXJhbnRlZWRcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcihcbiAgICAgICAgYFRoZSBmb2xsb3dpbmcgZXJyb3Igb2NjdXJlZCBkdXJpbmcgRW5kcG9pbnQudXBkYXRlKCkgZm9yICR7YWN0aW9uLmtleX1gLFxuICAgICAgKTtcbiAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpO1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgZW50aXRpZXMsXG4gICAgICBlbmRwb2ludHMsXG4gICAgICBpbmRleGVzLFxuICAgICAgbWV0YToge1xuICAgICAgICAuLi5zdGF0ZS5tZXRhLFxuICAgICAgICBbYWN0aW9uLmtleV06IHtcbiAgICAgICAgICBkYXRlOiBhY3Rpb24ubWV0YS5kYXRlLFxuICAgICAgICAgIGV4cGlyZXNBdDogYWN0aW9uLm1ldGEuZXhwaXJlc0F0LFxuICAgICAgICAgIHByZXZFeHBpcmVzQXQ6IHN0YXRlLm1ldGFbYWN0aW9uLmtleV0/LmV4cGlyZXNBdCxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBlbnRpdHlNZXRhLFxuICAgICAgb3B0aW1pc3RpYzogZmlsdGVyT3B0aW1pc3RpYyhzdGF0ZSwgYWN0aW9uKSxcbiAgICAgIGxhc3RSZXNldDogc3RhdGUubGFzdFJlc2V0LFxuICAgIH07XG4gICAgLy8gcmVkdWNlciBtdXN0IHVwZGF0ZSB0aGUgc3RhdGUsIHNvIGluIGNhc2Ugb2YgcHJvY2Vzc2luZyBlcnJvcnMgd2Ugc2ltcGx5IGNvbXB1dGUgdGhlIGVuZHBvaW50cyBpbmxpbmVcbiAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xuICAgIGlmICh0eXBlb2YgZXJyb3IgPT09ICdvYmplY3QnKSB7XG4gICAgICBlcnJvci5tZXNzYWdlID0gYEVycm9yIHByb2Nlc3NpbmcgJHtcbiAgICAgICAgYWN0aW9uLmtleVxuICAgICAgfVxcblxcbkZ1bGwgU2NoZW1hOiAke0pTT04uc3RyaW5naWZ5KFxuICAgICAgICBhY3Rpb24uZW5kcG9pbnQuc2NoZW1hLFxuICAgICAgICB1bmRlZmluZWQsXG4gICAgICAgIDIsXG4gICAgICApfVxcblxcbkVycm9yOlxcbiR7ZXJyb3IubWVzc2FnZX1gO1xuICAgICAgaWYgKCdyZXNwb25zZScgaW4gYWN0aW9uKSBlcnJvci5yZXNwb25zZSA9IGFjdGlvbi5yZXNwb25zZTtcbiAgICAgIGVycm9yLnN0YXR1cyA9IDQwMDtcbiAgICB9XG5cbiAgICAvLyB0aGlzIGlzIG5vdCBhbHdheXMgYnViYmxlZCB1cCwgc28gbGV0J3MgZG91YmxlIHN1cmUgdGhpcyBkb2Vzbid0IGZhaWwgc2lsZW50bHlcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcbiAgICB9XG4gICAgcmV0dXJuIHJlZHVjZUVycm9yKHN0YXRlLCBhY3Rpb24sIGVycm9yKTtcbiAgfVxufVxuXG5mdW5jdGlvbiByZWR1Y2VFcnJvcihcbiAgc3RhdGU6IFN0YXRlPHVua25vd24+LFxuICBhY3Rpb246IFNldFJlc3BvbnNlQWN0aW9uIHwgT3B0aW1pc3RpY0FjdGlvbixcbiAgZXJyb3I6IGFueSxcbik6IFN0YXRlPHVua25vd24+IHtcbiAgaWYgKGVycm9yLm5hbWUgPT09ICdBYm9ydEVycm9yJykge1xuICAgIC8vIEluIGNhc2Ugd2UgYWJvcnQgc2ltcGx5IHVuZG8gdGhlIG9wdGltaXN0aWMgdXBkYXRlIGFuZCBhY3QgbGlrZSBubyBmZXRjaCBldmVuIG9jY3VyZWRcbiAgICAvLyBXZSBzdGlsbCB3YW50IHRob3NlIHdhdGNoaW5nIHByb21pc2VzIGZyb20gZmV0Y2ggZGlyZWN0bHkgdG8gb2JzZXJ2ZWQgdGhlIGFib3J0LCBidXQgd2UgZG9uJ3Qgd2FudCB0b1xuICAgIC8vIFRyaWdnZXIgZXJyb3JzIGluIHRoaXMgY2FzZS4gVGhpcyBtZWFucyB0aGVvcmV0aWNhbGx5IGltcHJvcGVybHkgYnVpbHQgYWJvcnRlcyB1c2VSZXNvdXJjZSgpIGNvdWxkIHN1c3BlbmQgZm9yZXZlci5cbiAgICByZXR1cm4ge1xuICAgICAgLi4uc3RhdGUsXG4gICAgICBvcHRpbWlzdGljOiBmaWx0ZXJPcHRpbWlzdGljKHN0YXRlLCBhY3Rpb24pLFxuICAgIH07XG4gIH1cbiAgcmV0dXJuIHtcbiAgICAuLi5zdGF0ZSxcbiAgICBtZXRhOiB7XG4gICAgICAuLi5zdGF0ZS5tZXRhLFxuICAgICAgW2FjdGlvbi5rZXldOiB7XG4gICAgICAgIGRhdGU6IGFjdGlvbi5tZXRhLmRhdGUsXG4gICAgICAgIGVycm9yLFxuICAgICAgICBleHBpcmVzQXQ6IGFjdGlvbi5tZXRhLmV4cGlyZXNBdCxcbiAgICAgICAgZXJyb3JQb2xpY3k6IGFjdGlvbi5lbmRwb2ludC5lcnJvclBvbGljeT8uKGVycm9yKSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICBvcHRpbWlzdGljOiBmaWx0ZXJPcHRpbWlzdGljKHN0YXRlLCBhY3Rpb24pLFxuICB9O1xufVxuLyoqIEZpbHRlciBhbGwgcmVxdWVzdHMgd2l0aCBzYW1lIHNlcmlhbGl6YXRpb24gdGhhdCBkaWQgbm90IHN0YXJ0IGFmdGVyIHRoZSByZXNvbHZpbmcgcmVxdWVzdCAqL1xuZnVuY3Rpb24gZmlsdGVyT3B0aW1pc3RpYyhcbiAgc3RhdGU6IFN0YXRlPHVua25vd24+LFxuICByZXNvbHZpbmdBY3Rpb246IFNldFJlc3BvbnNlQWN0aW9uIHwgT3B0aW1pc3RpY0FjdGlvbixcbikge1xuICByZXR1cm4gc3RhdGUub3B0aW1pc3RpYy5maWx0ZXIoXG4gICAgb3B0aW1pc3RpY0FjdGlvbiA9PlxuICAgICAgb3B0aW1pc3RpY0FjdGlvbi5rZXkgIT09IHJlc29sdmluZ0FjdGlvbi5rZXkgfHxcbiAgICAgIChvcHRpbWlzdGljQWN0aW9uLnR5cGUgPT09IE9QVElNSVNUSUNfVFlQRSA/XG4gICAgICAgIG9wdGltaXN0aWNBY3Rpb24ubWV0YS5mZXRjaGVkQXQgIT09IHJlc29sdmluZ0FjdGlvbi5tZXRhLmZldGNoZWRBdFxuICAgICAgOiBvcHRpbWlzdGljQWN0aW9uLm1ldGEuZGF0ZSA+IHJlc29sdmluZ0FjdGlvbi5tZXRhLmRhdGUpLFxuICApO1xufVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxTQUFTLFFBQVEsd0JBQXdCO0FBRWxELFNBQVNDLGVBQWUsUUFBUSxzQkFBc0I7QUFDdEQsT0FBT0MsZUFBZSxNQUFNLHFDQUFxQztBQVFqRSxPQUFPLFNBQVNDLGtCQUFrQkEsQ0FDaENDLEtBQXFCLEVBQ3JCQyxNQUE0QyxFQUM1Q0MsVUFBc0IsRUFDdEI7RUFDQSxJQUFJRCxNQUFNLENBQUNFLEtBQUssRUFBRTtJQUNoQixPQUFPQyxXQUFXLENBQUNKLEtBQUssRUFBRUMsTUFBTSxFQUFFQSxNQUFNLENBQUNJLFFBQVEsQ0FBQztFQUNwRDtFQUNBLElBQUk7SUFBQSxJQUFBQyxxQkFBQTtJQUNGLElBQUlELFFBQWE7SUFDakI7SUFDQSxJQUFJSixNQUFNLENBQUNNLElBQUksS0FBS1YsZUFBZSxFQUFFO01BQ25DO01BQ0E7TUFDQSxJQUFJLENBQUNJLE1BQU0sQ0FBQ08sUUFBUSxDQUFDQyxxQkFBcUIsRUFBRSxPQUFPVCxLQUFLO01BQ3hELElBQUk7UUFDRjtRQUNBSyxRQUFRLEdBQUdKLE1BQU0sQ0FBQ08sUUFBUSxDQUFDQyxxQkFBcUIsQ0FBQ0MsSUFBSSxDQUNuRFQsTUFBTSxDQUFDTyxRQUFRLEVBQ2ZOLFVBQVUsQ0FBQ1MsUUFBUSxDQUFDWCxLQUFLLEVBQUVDLE1BQU0sQ0FBQ1csSUFBSSxDQUFDQyxTQUFTLENBQUMsRUFDakQsR0FBR1osTUFBTSxDQUFDYSxJQUNaLENBQUM7TUFDSCxDQUFDLENBQUMsT0FBT0MsQ0FBTSxFQUFFO1FBQ2Y7UUFDQSxJQUFJQSxDQUFDLENBQUNDLFdBQVcsS0FBS2xCLGVBQWUsRUFBRTtVQUNyQyxPQUFPRSxLQUFLO1FBQ2Q7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
|
package/lib/types.d.ts
CHANGED
|
@@ -12,10 +12,10 @@ export interface State<T> {
|
|
|
12
12
|
readonly [pk: string]: T;
|
|
13
13
|
} | undefined;
|
|
14
14
|
};
|
|
15
|
-
readonly indexes: NormalizedIndex;
|
|
16
15
|
readonly endpoints: {
|
|
17
16
|
readonly [key: string]: unknown | PK[] | PK | undefined;
|
|
18
17
|
};
|
|
18
|
+
readonly indexes: NormalizedIndex;
|
|
19
19
|
readonly meta: {
|
|
20
20
|
readonly [key: string]: {
|
|
21
21
|
readonly date: number;
|
package/lib/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,KAAK,EACV,cAAc,EACd,oBAAoB,EACrB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEzD,OAAO,KAAK,EACV,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EACjB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAEhF,cAAc,cAAc,CAAC;AAE7B,YAAY,EAAE,oBAAoB,EAAE,cAAc,EAAE,CAAC;AAErD,MAAM,MAAM,EAAE,GAAG,MAAM,CAAC;AAExB,MAAM,WAAW,KAAK,CAAC,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE;QACjB,QAAQ,EAAE,SAAS,EAAE,MAAM,GAAG;YAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,GAAG,CAAC,CAAA;SAAE,GAAG,SAAS,CAAC;KACxE,CAAC;IACF,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,KAAK,EACV,cAAc,EACd,oBAAoB,EACrB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEzD,OAAO,KAAK,EACV,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EACjB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAEhF,cAAc,cAAc,CAAC;AAE7B,YAAY,EAAE,oBAAoB,EAAE,cAAc,EAAE,CAAC;AAErD,MAAM,MAAM,EAAE,GAAG,MAAM,CAAC;AAExB,MAAM,WAAW,KAAK,CAAC,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE;QACjB,QAAQ,EAAE,SAAS,EAAE,MAAM,GAAG;YAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,GAAG,CAAC,CAAA;SAAE,GAAG,SAAS,CAAC;KACxE,CAAC;IACF,QAAQ,CAAC,SAAS,EAAE;QAClB,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,SAAS,CAAC;KACzD,CAAC;IACF,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;IAClC,QAAQ,CAAC,IAAI,EAAE;QACb,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG;YACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;YACtB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;YAC3B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;YAChC,QAAQ,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC;YAC5B,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;YAC/B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;SACpD,CAAC;KACH,CAAC;IACF,QAAQ,CAAC,UAAU,EAAE;QACnB,QAAQ,EAAE,SAAS,EAAE,MAAM,GAAG;YAC5B,QAAQ,EAAE,EAAE,EAAE,MAAM,GAAG;gBACrB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;gBAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;gBACtB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;aAC5B,CAAC;SACH,CAAC;KACH,CAAC;IACF,QAAQ,CAAC,UAAU,EAAE,CAAC,iBAAiB,GAAG,gBAAgB,CAAC,EAAE,CAAC;IAC9D,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,OAAO,CAAC,OAAO,GAAG,WAAW;IAC5C,aAAa,IAAI,UAAU,CAAC,OAAO,CAAC,CAAC;IACrC,OAAO,IAAI,IAAI,CAAC;IAChB,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC;CACpC;AAED,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC"}
|
package/lib/types.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export * from './actions.js';
|
|
2
2
|
export {};
|
|
3
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
3
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vc3JjL3R5cGVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5vcm1hbGl6ZWRJbmRleCB9IGZyb20gJ0BkYXRhLWNsaWVudC9ub3JtYWxpenInO1xuaW1wb3J0IHR5cGUge1xuICBVcGRhdGVGdW5jdGlvbixcbiAgQWJzdHJhY3RJbnN0YW5jZVR5cGUsXG59IGZyb20gJ0BkYXRhLWNsaWVudC9ub3JtYWxpenInO1xuaW1wb3J0IHR5cGUgeyBFcnJvclR5cGVzIH0gZnJvbSAnQGRhdGEtY2xpZW50L25vcm1hbGl6cic7XG5cbmltcG9ydCB0eXBlIHtcbiAgQWN0aW9uVHlwZXMsXG4gIFNldFJlc3BvbnNlQWN0aW9uLFxuICBPcHRpbWlzdGljQWN0aW9uLFxufSBmcm9tICcuL2FjdGlvbnMuanMnO1xuaW1wb3J0IHR5cGUgeyBEaXNwYXRjaCwgTWlkZGxld2FyZSwgTWlkZGxld2FyZUFQSSB9IGZyb20gJy4vbWlkZGxld2FyZVR5cGVzLmpzJztcblxuZXhwb3J0ICogZnJvbSAnLi9hY3Rpb25zLmpzJztcblxuZXhwb3J0IHR5cGUgeyBBYnN0cmFjdEluc3RhbmNlVHlwZSwgVXBkYXRlRnVuY3Rpb24gfTtcblxuZXhwb3J0IHR5cGUgUEsgPSBzdHJpbmc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RhdGU8VD4ge1xuICByZWFkb25seSBlbnRpdGllczoge1xuICAgIHJlYWRvbmx5IFtlbnRpdHlLZXk6IHN0cmluZ106IHsgcmVhZG9ubHkgW3BrOiBzdHJpbmddOiBUIH0gfCB1bmRlZmluZWQ7XG4gIH07XG4gIHJlYWRvbmx5IGVuZHBvaW50czoge1xuICAgIHJlYWRvbmx5IFtrZXk6IHN0cmluZ106IHVua25vd24gfCBQS1tdIHwgUEsgfCB1bmRlZmluZWQ7XG4gIH07XG4gIHJlYWRvbmx5IGluZGV4ZXM6IE5vcm1hbGl6ZWRJbmRleDtcbiAgcmVhZG9ubHkgbWV0YToge1xuICAgIHJlYWRvbmx5IFtrZXk6IHN0cmluZ106IHtcbiAgICAgIHJlYWRvbmx5IGRhdGU6IG51bWJlcjtcbiAgICAgIHJlYWRvbmx5IGV4cGlyZXNBdDogbnVtYmVyO1xuICAgICAgcmVhZG9ubHkgcHJldkV4cGlyZXNBdD86IG51bWJlcjtcbiAgICAgIHJlYWRvbmx5IGVycm9yPzogRXJyb3JUeXBlcztcbiAgICAgIHJlYWRvbmx5IGludmFsaWRhdGVkPzogYm9vbGVhbjtcbiAgICAgIHJlYWRvbmx5IGVycm9yUG9saWN5PzogJ2hhcmQnIHwgJ3NvZnQnIHwgdW5kZWZpbmVkO1xuICAgIH07XG4gIH07XG4gIHJlYWRvbmx5IGVudGl0eU1ldGE6IHtcbiAgICByZWFkb25seSBbZW50aXR5S2V5OiBzdHJpbmddOiB7XG4gICAgICByZWFkb25seSBbcGs6IHN0cmluZ106IHtcbiAgICAgICAgcmVhZG9ubHkgZmV0Y2hlZEF0OiBudW1iZXI7XG4gICAgICAgIHJlYWRvbmx5IGRhdGU6IG51bWJlcjtcbiAgICAgICAgcmVhZG9ubHkgZXhwaXJlc0F0OiBudW1iZXI7XG4gICAgICB9O1xuICAgIH07XG4gIH07XG4gIHJlYWRvbmx5IG9wdGltaXN0aWM6IChTZXRSZXNwb25zZUFjdGlvbiB8IE9wdGltaXN0aWNBY3Rpb24pW107XG4gIHJlYWRvbmx5IGxhc3RSZXNldDogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1hbmFnZXI8QWN0aW9ucyA9IEFjdGlvblR5cGVzPiB7XG4gIGdldE1pZGRsZXdhcmUoKTogTWlkZGxld2FyZTxBY3Rpb25zPjtcbiAgY2xlYW51cCgpOiB2b2lkO1xuICBpbml0PzogKHN0YXRlOiBTdGF0ZTxhbnk+KSA9PiB2b2lkO1xufVxuXG5leHBvcnQgdHlwZSB7IERpc3BhdGNoLCBNaWRkbGV3YXJlLCBNaWRkbGV3YXJlQVBJIH07XG4iXSwibWFwcGluZ3MiOiJBQWNBLGNBQWMsY0FBYztBQUFDIiwiaWdub3JlTGlzdCI6W119
|
package/package.json
CHANGED
|
@@ -63,10 +63,10 @@ export function createSetResponse<
|
|
|
63
63
|
|
|
64
64
|
return {
|
|
65
65
|
type: SET_RESPONSE_TYPE,
|
|
66
|
-
endpoint,
|
|
66
|
+
key: endpoint.key(...args),
|
|
67
67
|
response,
|
|
68
68
|
args: args.map(ensurePojo),
|
|
69
|
-
|
|
69
|
+
endpoint,
|
|
70
70
|
meta: createMeta(expiryLength, fetchedAt),
|
|
71
71
|
error,
|
|
72
72
|
};
|
|
@@ -37,6 +37,18 @@ if (process.env.NODE_ENV !== 'production') {
|
|
|
37
37
|
DEFAULT_CONFIG = {
|
|
38
38
|
name: `Data Client: ${globalThis.document?.title}`,
|
|
39
39
|
autoPause: true,
|
|
40
|
+
features: {
|
|
41
|
+
pause: true, // start/pause recording of dispatched actions
|
|
42
|
+
lock: true, // lock/unlock dispatching actions and side effects
|
|
43
|
+
persist: false, // persist states on page reloading
|
|
44
|
+
export: true, // export history of actions in a file
|
|
45
|
+
import: 'custom', // import history of actions from a file
|
|
46
|
+
jump: true, // jump back and forth (time travelling)
|
|
47
|
+
skip: true, // skip (cancel) actions
|
|
48
|
+
reorder: true, // drag and drop actions in the history list
|
|
49
|
+
dispatch: false, // dispatch custom actions or action creators
|
|
50
|
+
test: false, // generate tests for the selected actions
|
|
51
|
+
},
|
|
40
52
|
actionSanitizer: (action: ActionTypes) => {
|
|
41
53
|
if (!('endpoint' in action)) return action;
|
|
42
54
|
return {
|
|
@@ -131,6 +143,7 @@ export default class DevToolsManager implements Manager {
|
|
|
131
143
|
const reducer = createReducer(controller as any);
|
|
132
144
|
let state = controller.getState();
|
|
133
145
|
return next => action => {
|
|
146
|
+
const shouldSkip = skipLogging?.(action);
|
|
134
147
|
const ret = next(action);
|
|
135
148
|
if (this.started) {
|
|
136
149
|
// we track state changes here since getState() will only update after a batch commit
|
|
@@ -139,7 +152,7 @@ export default class DevToolsManager implements Manager {
|
|
|
139
152
|
state = controller.getState();
|
|
140
153
|
}
|
|
141
154
|
ret.then(() => {
|
|
142
|
-
if (
|
|
155
|
+
if (shouldSkip) return;
|
|
143
156
|
this.handleAction(action, state.optimistic.reduce(reducer, state));
|
|
144
157
|
});
|
|
145
158
|
return ret;
|
|
@@ -38,7 +38,7 @@ export default class NetworkManager implements Manager {
|
|
|
38
38
|
protected controller: Controller = new Controller();
|
|
39
39
|
declare cleanupDate?: number;
|
|
40
40
|
|
|
41
|
-
constructor(dataExpiryLength = 60000, errorExpiryLength = 1000) {
|
|
41
|
+
constructor({ dataExpiryLength = 60000, errorExpiryLength = 1000 } = {}) {
|
|
42
42
|
this.dataExpiryLength = dataExpiryLength;
|
|
43
43
|
this.errorExpiryLength = errorExpiryLength;
|
|
44
44
|
|
|
@@ -32,8 +32,9 @@ export interface SubscriptionConstructable {
|
|
|
32
32
|
*
|
|
33
33
|
* @see https://dataclient.io/docs/api/SubscriptionManager
|
|
34
34
|
*/
|
|
35
|
-
export default class SubscriptionManager<
|
|
36
|
-
|
|
35
|
+
export default class SubscriptionManager<
|
|
36
|
+
S extends SubscriptionConstructable = SubscriptionConstructable,
|
|
37
|
+
> implements Manager<Actions>
|
|
37
38
|
{
|
|
38
39
|
protected subscriptions: {
|
|
39
40
|
[key: string]: InstanceType<S>;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import Controller from '../../controller/Controller';
|
|
2
|
+
import applyManager from '../applyManager';
|
|
3
|
+
import NetworkManager from '../NetworkManager';
|
|
4
|
+
|
|
5
|
+
function onError(e: any) {
|
|
6
|
+
e.preventDefault();
|
|
7
|
+
}
|
|
8
|
+
beforeEach(() => {
|
|
9
|
+
if (typeof addEventListener === 'function')
|
|
10
|
+
addEventListener('error', onError);
|
|
11
|
+
});
|
|
12
|
+
afterEach(() => {
|
|
13
|
+
if (typeof removeEventListener === 'function')
|
|
14
|
+
removeEventListener('error', onError);
|
|
15
|
+
});
|
|
16
|
+
|
|
17
|
+
it('applyManagers should console.warn() when no NetworkManager is provided', () => {
|
|
18
|
+
const warnspy = jest
|
|
19
|
+
.spyOn(global.console, 'warn')
|
|
20
|
+
.mockImplementation(() => {});
|
|
21
|
+
try {
|
|
22
|
+
applyManager([], new Controller());
|
|
23
|
+
expect(warnspy.mock.calls.length).toBe(2);
|
|
24
|
+
} finally {
|
|
25
|
+
warnspy.mockRestore();
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
it('applyManagers should not console.warn() when NetworkManager is provided', () => {
|
|
29
|
+
const warnspy = jest
|
|
30
|
+
.spyOn(global.console, 'warn')
|
|
31
|
+
.mockImplementation(() => {});
|
|
32
|
+
try {
|
|
33
|
+
applyManager([new NetworkManager()], new Controller());
|
|
34
|
+
expect(warnspy.mock.calls.length).toBe(0);
|
|
35
|
+
} finally {
|
|
36
|
+
warnspy.mockRestore();
|
|
37
|
+
}
|
|
38
|
+
});
|
|
@@ -134,7 +134,7 @@ describe('NetworkManager', () => {
|
|
|
134
134
|
let NM: NetworkManager;
|
|
135
135
|
let middleware: Middleware;
|
|
136
136
|
beforeEach(() => {
|
|
137
|
-
NM = new NetworkManager(42, 7);
|
|
137
|
+
NM = new NetworkManager({ dataExpiryLength: 42, errorExpiryLength: 7 });
|
|
138
138
|
middleware = NM.getMiddleware();
|
|
139
139
|
});
|
|
140
140
|
afterEach(() => {
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import NetworkManager from './NetworkManager.js';
|
|
1
2
|
import type Controller from '../controller/Controller.js';
|
|
2
3
|
import type { Reducer, Dispatch, ReducerState } from '../middlewareTypes.js';
|
|
3
4
|
import { Manager } from '../types.js';
|
|
@@ -6,11 +7,23 @@ export default function applyManager(
|
|
|
6
7
|
managers: Manager[],
|
|
7
8
|
controller: Controller,
|
|
8
9
|
): Middleware[] {
|
|
9
|
-
|
|
10
|
+
/* istanbul ignore next */
|
|
11
|
+
if (
|
|
12
|
+
process.env.NODE_ENV !== 'production' &&
|
|
13
|
+
!managers.find(mgr => mgr instanceof NetworkManager)
|
|
14
|
+
) {
|
|
15
|
+
console.warn('NetworkManager not found; this is a required manager.');
|
|
16
|
+
console.warn(
|
|
17
|
+
'See https://dataclient.io/docs/guides/redux for hooking up redux',
|
|
18
|
+
);
|
|
19
|
+
}
|
|
20
|
+
return managers.map((manager, i) => {
|
|
10
21
|
const middleware = manager.getMiddleware();
|
|
11
22
|
return ({ dispatch, getState }) => {
|
|
12
|
-
(
|
|
13
|
-
|
|
23
|
+
if (i === 0) {
|
|
24
|
+
(controller as any).dispatch = dispatch;
|
|
25
|
+
(controller as any).getState = getState;
|
|
26
|
+
}
|
|
14
27
|
// controller is a superset of the middleware API
|
|
15
28
|
return middleware(controller as Controller<any>);
|
|
16
29
|
};
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
import { ActionTypes } from '../actions.js';
|
|
2
|
+
import { State } from '../types.js';
|
|
3
|
+
|
|
4
|
+
type Action = ActionTypes;
|
|
2
5
|
type ActionCreator<T> = any;
|
|
3
6
|
|
|
4
7
|
// taken from https://github.com/reduxjs/redux-devtools/blob/main/packages/redux-devtools-extension/src/index.ts
|
|
@@ -78,7 +81,7 @@ export interface EnhancerOptions {
|
|
|
78
81
|
/**
|
|
79
82
|
* function which takes `state` object and index as arguments, and should return `state` object back.
|
|
80
83
|
*/
|
|
81
|
-
stateSanitizer?: <S
|
|
84
|
+
stateSanitizer?: <S extends State<unknown>>(state: S, index: number) => S;
|
|
82
85
|
/**
|
|
83
86
|
* *string or array of strings as regex* - actions types to be hidden / shown in the monitors (while passed to the reducers).
|
|
84
87
|
* If `actionsWhitelist` specified, `actionsBlacklist` is ignored.
|
|
@@ -105,7 +108,10 @@ export interface EnhancerOptions {
|
|
|
105
108
|
* called for every action before sending, takes `state` and `action` object, and returns `true` in case it allows sending the current data to the monitor.
|
|
106
109
|
* Use it as a more advanced version of `actionsDenylist`/`actionsAllowlist` parameters.
|
|
107
110
|
*/
|
|
108
|
-
predicate?: <S
|
|
111
|
+
predicate?: <S extends State<unknown>, A extends Action>(
|
|
112
|
+
state: S,
|
|
113
|
+
action: A,
|
|
114
|
+
) => boolean;
|
|
109
115
|
/**
|
|
110
116
|
* if specified as `false`, it will not record the changes till clicking on `Start recording` button.
|
|
111
117
|
* Available only for Redux enhancer, for others use `autoPause`.
|
|
@@ -595,7 +595,7 @@ describe('reducer', () => {
|
|
|
595
595
|
const newState = reducer(iniState, action);
|
|
596
596
|
expect(newState.entities).toBe(iniState.entities);
|
|
597
597
|
});
|
|
598
|
-
it('rdc/fetch should console.warn()', () => {
|
|
598
|
+
it('rdc/fetch should not console.warn()', () => {
|
|
599
599
|
const warnspy = jest
|
|
600
600
|
.spyOn(global.console, 'warn')
|
|
601
601
|
.mockImplementation(() => {});
|
|
@@ -618,7 +618,8 @@ describe('reducer', () => {
|
|
|
618
618
|
};
|
|
619
619
|
const newState = reducer(iniState, action);
|
|
620
620
|
expect(newState).toBe(iniState);
|
|
621
|
-
|
|
621
|
+
// moved warns to applyManager() vv
|
|
622
|
+
expect(warnspy.mock.calls.length).toBe(0);
|
|
622
623
|
} finally {
|
|
623
624
|
warnspy.mockRestore();
|
|
624
625
|
}
|
|
@@ -12,18 +12,6 @@ export function fetchReducer(state: State<unknown>, action: FetchAction) {
|
|
|
12
12
|
...state,
|
|
13
13
|
optimistic: [...state.optimistic, setAction],
|
|
14
14
|
};
|
|
15
|
-
} else {
|
|
16
|
-
// If 'fetch' action reaches the reducer there are no middlewares installed to handle it
|
|
17
|
-
/* istanbul ignore next */
|
|
18
|
-
if (process.env.NODE_ENV !== 'production') {
|
|
19
|
-
console.warn(
|
|
20
|
-
'Fetch appears unhandled - you are likely missing the NetworkManager middleware',
|
|
21
|
-
);
|
|
22
|
-
console.warn(
|
|
23
|
-
'See https://dataclient.io/docs/guides/redux for hooking up redux',
|
|
24
|
-
);
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
return state;
|
|
28
15
|
}
|
|
16
|
+
return state;
|
|
29
17
|
}
|
|
@@ -69,9 +69,8 @@ export function setResponseReducer(
|
|
|
69
69
|
}
|
|
70
70
|
return {
|
|
71
71
|
entities,
|
|
72
|
-
indexes,
|
|
73
72
|
endpoints,
|
|
74
|
-
|
|
73
|
+
indexes,
|
|
75
74
|
meta: {
|
|
76
75
|
...state.meta,
|
|
77
76
|
[action.key]: {
|
|
@@ -80,6 +79,7 @@ export function setResponseReducer(
|
|
|
80
79
|
prevExpiresAt: state.meta[action.key]?.expiresAt,
|
|
81
80
|
},
|
|
82
81
|
},
|
|
82
|
+
entityMeta,
|
|
83
83
|
optimistic: filterOptimistic(state, action),
|
|
84
84
|
lastReset: state.lastReset,
|
|
85
85
|
};
|
package/src/types.ts
CHANGED
|
@@ -22,10 +22,10 @@ export interface State<T> {
|
|
|
22
22
|
readonly entities: {
|
|
23
23
|
readonly [entityKey: string]: { readonly [pk: string]: T } | undefined;
|
|
24
24
|
};
|
|
25
|
-
readonly indexes: NormalizedIndex;
|
|
26
25
|
readonly endpoints: {
|
|
27
26
|
readonly [key: string]: unknown | PK[] | PK | undefined;
|
|
28
27
|
};
|
|
28
|
+
readonly indexes: NormalizedIndex;
|
|
29
29
|
readonly meta: {
|
|
30
30
|
readonly [key: string]: {
|
|
31
31
|
readonly date: number;
|
|
@@ -31,7 +31,10 @@ export default class NetworkManager implements Manager {
|
|
|
31
31
|
protected middleware: Middleware;
|
|
32
32
|
protected controller: Controller;
|
|
33
33
|
cleanupDate?: number;
|
|
34
|
-
constructor(dataExpiryLength
|
|
34
|
+
constructor({ dataExpiryLength, errorExpiryLength }?: {
|
|
35
|
+
dataExpiryLength?: number | undefined;
|
|
36
|
+
errorExpiryLength?: number | undefined;
|
|
37
|
+
});
|
|
35
38
|
/** Used by DevtoolsManager to determine whether to log an action */
|
|
36
39
|
skipLogging(action: ActionTypes): boolean;
|
|
37
40
|
/** On mount */
|
|
@@ -18,7 +18,7 @@ export interface SubscriptionConstructable {
|
|
|
18
18
|
*
|
|
19
19
|
* @see https://dataclient.io/docs/api/SubscriptionManager
|
|
20
20
|
*/
|
|
21
|
-
export default class SubscriptionManager<S extends SubscriptionConstructable> implements Manager<Actions> {
|
|
21
|
+
export default class SubscriptionManager<S extends SubscriptionConstructable = SubscriptionConstructable> implements Manager<Actions> {
|
|
22
22
|
protected subscriptions: {
|
|
23
23
|
[key: string]: InstanceType<S>;
|
|
24
24
|
};
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
import { ActionTypes } from '../actions.js';
|
|
2
|
+
import { State } from '../types.js';
|
|
3
|
+
type Action = ActionTypes;
|
|
2
4
|
type ActionCreator<T> = any;
|
|
3
5
|
export interface EnhancerOptions {
|
|
4
6
|
/**
|
|
@@ -72,7 +74,7 @@ export interface EnhancerOptions {
|
|
|
72
74
|
/**
|
|
73
75
|
* function which takes `state` object and index as arguments, and should return `state` object back.
|
|
74
76
|
*/
|
|
75
|
-
stateSanitizer?: <S
|
|
77
|
+
stateSanitizer?: <S extends State<unknown>>(state: S, index: number) => S;
|
|
76
78
|
/**
|
|
77
79
|
* *string or array of strings as regex* - actions types to be hidden / shown in the monitors (while passed to the reducers).
|
|
78
80
|
* If `actionsWhitelist` specified, `actionsBlacklist` is ignored.
|
|
@@ -99,7 +101,7 @@ export interface EnhancerOptions {
|
|
|
99
101
|
* called for every action before sending, takes `state` and `action` object, and returns `true` in case it allows sending the current data to the monitor.
|
|
100
102
|
* Use it as a more advanced version of `actionsDenylist`/`actionsAllowlist` parameters.
|
|
101
103
|
*/
|
|
102
|
-
predicate?: <S
|
|
104
|
+
predicate?: <S extends State<unknown>, A extends Action>(state: S, action: A) => boolean;
|
|
103
105
|
/**
|
|
104
106
|
* if specified as `false`, it will not record the changes till clicking on `Start recording` button.
|
|
105
107
|
* Available only for Redux enhancer, for others use `autoPause`.
|
|
@@ -15,10 +15,10 @@ export declare function expireReducer(state: State<unknown>, action: ExpireAllAc
|
|
|
15
15
|
readonly [pk: string]: unknown;
|
|
16
16
|
} | undefined;
|
|
17
17
|
};
|
|
18
|
-
indexes: import("packages/normalizr/lib/interface.js").NormalizedIndex;
|
|
19
18
|
endpoints: {
|
|
20
19
|
readonly [key: string]: unknown | import("../../types.js").PK[] | import("../../types.js").PK | undefined;
|
|
21
20
|
};
|
|
21
|
+
indexes: import("packages/normalizr/lib/interface.js").NormalizedIndex;
|
|
22
22
|
entityMeta: {
|
|
23
23
|
readonly [entityKey: string]: {
|
|
24
24
|
readonly [pk: string]: {
|
|
@@ -4,13 +4,10 @@ export declare function setReducer(state: State<unknown>, action: SetAction, con
|
|
|
4
4
|
entities: {
|
|
5
5
|
[x: string]: any;
|
|
6
6
|
};
|
|
7
|
-
indexes: import("@data-client/normalizr").NormalizedIndex;
|
|
8
7
|
endpoints: {
|
|
9
8
|
readonly [key: string]: unknown;
|
|
10
9
|
};
|
|
11
|
-
|
|
12
|
-
[x: string]: any;
|
|
13
|
-
}>;
|
|
10
|
+
indexes: import("@data-client/normalizr").NormalizedIndex;
|
|
14
11
|
meta: {
|
|
15
12
|
readonly [key: string]: {
|
|
16
13
|
readonly date: number;
|
|
@@ -21,6 +18,9 @@ export declare function setReducer(state: State<unknown>, action: SetAction, con
|
|
|
21
18
|
readonly errorPolicy?: "hard" | "soft" | undefined;
|
|
22
19
|
};
|
|
23
20
|
};
|
|
21
|
+
entityMeta: import("packages/normalizr/lib/types.js").EntitiesToMeta<{
|
|
22
|
+
[x: string]: any;
|
|
23
|
+
}>;
|
|
24
24
|
optimistic: (import("../../actions.js").SetResponseAction | import("../../actions.js").OptimisticAction<import("@data-client/normalizr").EndpointInterface<import("@data-client/normalizr").FetchFunction, import("@data-client/normalizr").Schema | undefined, boolean | undefined> & {
|
|
25
25
|
update?: import("../../index.js").EndpointUpdateFunction<import("@data-client/normalizr").EndpointInterface>;
|
|
26
26
|
}>)[];
|
|
@@ -4,11 +4,8 @@ export declare function setResponseReducer(state: State<unknown>, action: Optimi
|
|
|
4
4
|
entities: {
|
|
5
5
|
[x: string]: any;
|
|
6
6
|
};
|
|
7
|
-
indexes: import("@data-client/normalizr").NormalizedIndex;
|
|
8
7
|
endpoints: Record<string, unknown>;
|
|
9
|
-
|
|
10
|
-
[x: string]: any;
|
|
11
|
-
}>;
|
|
8
|
+
indexes: import("@data-client/normalizr").NormalizedIndex;
|
|
12
9
|
meta: {
|
|
13
10
|
[x: string]: {
|
|
14
11
|
readonly date: number;
|
|
@@ -23,6 +20,9 @@ export declare function setResponseReducer(state: State<unknown>, action: Optimi
|
|
|
23
20
|
prevExpiresAt: number;
|
|
24
21
|
};
|
|
25
22
|
};
|
|
23
|
+
entityMeta: import("packages/normalizr/lib/types.js").EntitiesToMeta<{
|
|
24
|
+
[x: string]: any;
|
|
25
|
+
}>;
|
|
26
26
|
optimistic: (SetResponseAction | OptimisticAction<import("@data-client/normalizr").EndpointInterface<import("@data-client/normalizr").FetchFunction, import("@data-client/normalizr").Schema | undefined, boolean | undefined> & {
|
|
27
27
|
update?: import("../../index.js").EndpointUpdateFunction<import("@data-client/normalizr").EndpointInterface>;
|
|
28
28
|
}>)[];
|