UNPKG

@data-client/core

Version:

Async State Management without the Management. REST, GraphQL, SSE, Websockets, Fetch

18 lines 3.38 kB
import { createMeta } from './createMeta.js'; import { OPTIMISTIC } from '../../actionTypes.js'; import ensurePojo from '../ensurePojo.js'; export function createOptimistic(endpoint, args, fetchedAt) { var _endpoint$dataExpiryL, _endpoint$dataExpiryL2; /* istanbul ignore next */ if (process.env.NODE_ENV === 'development' && ((_endpoint$dataExpiryL = endpoint.dataExpiryLength) != null ? _endpoint$dataExpiryL : 0) < 0) { throw new Error('Negative expiry length are not allowed.'); } return { type: OPTIMISTIC, key: endpoint.key(...args), args: args.map(ensurePojo), endpoint, meta: createMeta((_endpoint$dataExpiryL2 = endpoint.dataExpiryLength) != null ? _endpoint$dataExpiryL2 : 60000, fetchedAt) }; } //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjcmVhdGVNZXRhIiwiT1BUSU1JU1RJQyIsImVuc3VyZVBvam8iLCJjcmVhdGVPcHRpbWlzdGljIiwiZW5kcG9pbnQiLCJhcmdzIiwiZmV0Y2hlZEF0IiwiX2VuZHBvaW50JGRhdGFFeHBpcnlMIiwiX2VuZHBvaW50JGRhdGFFeHBpcnlMMiIsInByb2Nlc3MiLCJlbnYiLCJOT0RFX0VOViIsImRhdGFFeHBpcnlMZW5ndGgiLCJFcnJvciIsInR5cGUiLCJrZXkiLCJtYXAiLCJtZXRhIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbnRyb2xsZXIvYWN0aW9ucy9jcmVhdGVPcHRpbWlzdGljLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRW5kcG9pbnRJbnRlcmZhY2UgfSBmcm9tICdAZGF0YS1jbGllbnQvbm9ybWFsaXpyJztcblxuaW1wb3J0IHsgY3JlYXRlTWV0YSB9IGZyb20gJy4vY3JlYXRlTWV0YS5qcyc7XG5pbXBvcnQgeyBPUFRJTUlTVElDIH0gZnJvbSAnLi4vLi4vYWN0aW9uVHlwZXMuanMnO1xuaW1wb3J0IHR5cGUgeyBPcHRpbWlzdGljQWN0aW9uIH0gZnJvbSAnLi4vLi4vdHlwZXMuanMnO1xuaW1wb3J0IGVuc3VyZVBvam8gZnJvbSAnLi4vZW5zdXJlUG9qby5qcyc7XG5pbXBvcnQgdHlwZSB7IEVuZHBvaW50VXBkYXRlRnVuY3Rpb24gfSBmcm9tICcuLi90eXBlcy5qcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVPcHRpbWlzdGljPFxuICBFIGV4dGVuZHMgRW5kcG9pbnRJbnRlcmZhY2UgJiB7XG4gICAgdXBkYXRlPzogRW5kcG9pbnRVcGRhdGVGdW5jdGlvbjxFPjtcbiAgfSxcbj4oXG4gIGVuZHBvaW50OiBFLFxuICBhcmdzOiByZWFkb25seSBbLi4uUGFyYW1ldGVyczxFPl0sXG4gIGZldGNoZWRBdDogbnVtYmVyLFxuKTogT3B0aW1pc3RpY0FjdGlvbjxFPiB7XG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gIGlmIChcbiAgICBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gJ2RldmVsb3BtZW50JyAmJlxuICAgIChlbmRwb2ludC5kYXRhRXhwaXJ5TGVuZ3RoID8/IDApIDwgMFxuICApIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ05lZ2F0aXZlIGV4cGlyeSBsZW5ndGggYXJlIG5vdCBhbGxvd2VkLicpO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICB0eXBlOiBPUFRJTUlTVElDLFxuICAgIGtleTogZW5kcG9pbnQua2V5KC4uLmFyZ3MpLFxuICAgIGFyZ3M6IGFyZ3MubWFwKGVuc3VyZVBvam8pLFxuICAgIGVuZHBvaW50LFxuICAgIG1ldGE6IGNyZWF0ZU1ldGEoZW5kcG9pbnQuZGF0YUV4cGlyeUxlbmd0aCA/PyA2MDAwMCwgZmV0Y2hlZEF0KSxcbiAgfTtcbn1cbiJdLCJtYXBwaW5ncyI6IkFBRUEsU0FBU0EsVUFBVSxRQUFRLGlCQUFpQjtBQUM1QyxTQUFTQyxVQUFVLFFBQVEsc0JBQXNCO0FBRWpELE9BQU9DLFVBQVUsTUFBTSxrQkFBa0I7QUFHekMsT0FBTyxTQUFTQyxnQkFBZ0JBLENBSzlCQyxRQUFXLEVBQ1hDLElBQWlDLEVBQ2pDQyxTQUFpQixFQUNJO0VBQUEsSUFBQUMscUJBQUEsRUFBQUMsc0JBQUE7RUFDckI7RUFDQSxJQUNFQyxPQUFPLENBQUNDLEdBQUcsQ0FBQ0MsUUFBUSxLQUFLLGFBQWEsSUFDdEMsRUFBQUoscUJBQUEsR0FBQ0gsUUFBUSxDQUFDUSxnQkFBZ0IsWUFBQUwscUJBQUEsR0FBSSxDQUFDLElBQUksQ0FBQyxFQUNwQztJQUNBLE1BQU0sSUFBSU0sS0FBSyxDQUFDLHlDQUF5QyxDQUFDO0VBQzVEO0VBRUEsT0FBTztJQUNMQyxJQUFJLEVBQUViLFVBQVU7SUFDaEJjLEdBQUcsRUFBRVgsUUFBUSxDQUFDVyxHQUFHLENBQUMsR0FBR1YsSUFBSSxDQUFDO0lBQzFCQSxJQUFJLEVBQUVBLElBQUksQ0FBQ1csR0FBRyxDQUFDZCxVQUFVLENBQUM7SUFDMUJFLFFBQVE7SUFDUmEsSUFBSSxFQUFFakIsVUFBVSxFQUFBUSxzQkFBQSxHQUFDSixRQUFRLENBQUNRLGdCQUFnQixZQUFBSixzQkFBQSxHQUFJLEtBQUssRUFBRUYsU0FBUztFQUNoRSxDQUFDO0FBQ0giLCJpZ25vcmVMaXN0IjpbXX0=