@data-client/core
Version:
Async State Management without the Management. REST, GraphQL, SSE, Websockets, Fetch
19 lines • 1.85 kB
JavaScript
export function expireReducer(state, action) {
const meta = {
...state.meta
};
Object.keys(meta).forEach(key => {
if (action.testKey(key)) {
meta[key] = {
...meta[key],
// 1 instead of 0 so we can do 'falsy' checks to see if it is set
expiresAt: 1
};
}
});
return {
...state,
meta
};
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJleHBpcmVSZWR1Y2VyIiwic3RhdGUiLCJhY3Rpb24iLCJtZXRhIiwiT2JqZWN0Iiwia2V5cyIsImZvckVhY2giLCJrZXkiLCJ0ZXN0S2V5IiwiZXhwaXJlc0F0Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3N0YXRlL3JlZHVjZXIvZXhwaXJlUmVkdWNlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFN0YXRlLCBFeHBpcmVBbGxBY3Rpb24gfSBmcm9tICcuLi8uLi90eXBlcy5qcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBleHBpcmVSZWR1Y2VyKHN0YXRlOiBTdGF0ZTx1bmtub3duPiwgYWN0aW9uOiBFeHBpcmVBbGxBY3Rpb24pIHtcbiAgY29uc3QgbWV0YSA9IHsgLi4uc3RhdGUubWV0YSB9O1xuXG4gIE9iamVjdC5rZXlzKG1ldGEpLmZvckVhY2goa2V5ID0+IHtcbiAgICBpZiAoYWN0aW9uLnRlc3RLZXkoa2V5KSkge1xuICAgICAgbWV0YVtrZXldID0ge1xuICAgICAgICAuLi5tZXRhW2tleV0sXG4gICAgICAgIC8vIDEgaW5zdGVhZCBvZiAwIHNvIHdlIGNhbiBkbyAnZmFsc3knIGNoZWNrcyB0byBzZWUgaWYgaXQgaXMgc2V0XG4gICAgICAgIGV4cGlyZXNBdDogMSxcbiAgICAgIH07XG4gICAgfVxuICB9KTtcblxuICByZXR1cm4ge1xuICAgIC4uLnN0YXRlLFxuICAgIG1ldGEsXG4gIH07XG59XG4iXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sU0FBU0EsYUFBYUEsQ0FBQ0MsS0FBcUIsRUFBRUMsTUFBdUIsRUFBRTtFQUM1RSxNQUFNQyxJQUFJLEdBQUc7SUFBRSxHQUFHRixLQUFLLENBQUNFO0VBQUssQ0FBQztFQUU5QkMsTUFBTSxDQUFDQyxJQUFJLENBQUNGLElBQUksQ0FBQyxDQUFDRyxPQUFPLENBQUNDLEdBQUcsSUFBSTtJQUMvQixJQUFJTCxNQUFNLENBQUNNLE9BQU8sQ0FBQ0QsR0FBRyxDQUFDLEVBQUU7TUFDdkJKLElBQUksQ0FBQ0ksR0FBRyxDQUFDLEdBQUc7UUFDVixHQUFHSixJQUFJLENBQUNJLEdBQUcsQ0FBQztRQUNaO1FBQ0FFLFNBQVMsRUFBRTtNQUNiLENBQUM7SUFDSDtFQUNGLENBQUMsQ0FBQztFQUVGLE9BQU87SUFDTCxHQUFHUixLQUFLO0lBQ1JFO0VBQ0YsQ0FBQztBQUNIIiwiaWdub3JlTGlzdCI6W119