UNPKG

@data-client/core

Version:

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

17 lines 3.11 kB
import { createMeta } from './createMeta.js'; import { OPTIMISTIC } from '../../actionTypes.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, endpoint, meta: createMeta((_endpoint$dataExpiryL2 = endpoint.dataExpiryLength) != null ? _endpoint$dataExpiryL2 : 60000, fetchedAt) }; } //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjcmVhdGVNZXRhIiwiT1BUSU1JU1RJQyIsImNyZWF0ZU9wdGltaXN0aWMiLCJlbmRwb2ludCIsImFyZ3MiLCJmZXRjaGVkQXQiLCJfZW5kcG9pbnQkZGF0YUV4cGlyeUwiLCJfZW5kcG9pbnQkZGF0YUV4cGlyeUwyIiwicHJvY2VzcyIsImVudiIsIk5PREVfRU5WIiwiZGF0YUV4cGlyeUxlbmd0aCIsIkVycm9yIiwidHlwZSIsImtleSIsIm1ldGEiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udHJvbGxlci9hY3Rpb25zL2NyZWF0ZU9wdGltaXN0aWMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBFbmRwb2ludEludGVyZmFjZSB9IGZyb20gJ0BkYXRhLWNsaWVudC9ub3JtYWxpenInO1xuXG5pbXBvcnQgeyBjcmVhdGVNZXRhIH0gZnJvbSAnLi9jcmVhdGVNZXRhLmpzJztcbmltcG9ydCB7IE9QVElNSVNUSUMgfSBmcm9tICcuLi8uLi9hY3Rpb25UeXBlcy5qcyc7XG5pbXBvcnQgdHlwZSB7IE9wdGltaXN0aWNBY3Rpb24gfSBmcm9tICcuLi8uLi90eXBlcy5qcyc7XG5pbXBvcnQgdHlwZSB7IEVuZHBvaW50VXBkYXRlRnVuY3Rpb24gfSBmcm9tICcuLi90eXBlcy5qcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVPcHRpbWlzdGljPFxuICBFIGV4dGVuZHMgRW5kcG9pbnRJbnRlcmZhY2UgJiB7XG4gICAgdXBkYXRlPzogRW5kcG9pbnRVcGRhdGVGdW5jdGlvbjxFPjtcbiAgfSxcbj4oXG4gIGVuZHBvaW50OiBFLFxuICBhcmdzOiByZWFkb25seSBbLi4uUGFyYW1ldGVyczxFPl0sXG4gIGZldGNoZWRBdDogbnVtYmVyLFxuKTogT3B0aW1pc3RpY0FjdGlvbjxFPiB7XG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gIGlmIChcbiAgICBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gJ2RldmVsb3BtZW50JyAmJlxuICAgIChlbmRwb2ludC5kYXRhRXhwaXJ5TGVuZ3RoID8/IDApIDwgMFxuICApIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ05lZ2F0aXZlIGV4cGlyeSBsZW5ndGggYXJlIG5vdCBhbGxvd2VkLicpO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICB0eXBlOiBPUFRJTUlTVElDLFxuICAgIGtleTogZW5kcG9pbnQua2V5KC4uLmFyZ3MpLFxuICAgIGFyZ3MsXG4gICAgZW5kcG9pbnQsXG4gICAgbWV0YTogY3JlYXRlTWV0YShlbmRwb2ludC5kYXRhRXhwaXJ5TGVuZ3RoID8/IDYwMDAwLCBmZXRjaGVkQXQpLFxuICB9O1xufVxuIl0sIm1hcHBpbmdzIjoiQUFFQSxTQUFTQSxVQUFVLFFBQVEsaUJBQWlCO0FBQzVDLFNBQVNDLFVBQVUsUUFBUSxzQkFBc0I7QUFJakQsT0FBTyxTQUFTQyxnQkFBZ0JBLENBSzlCQyxRQUFXLEVBQ1hDLElBQWlDLEVBQ2pDQyxTQUFpQixFQUNJO0VBQUEsSUFBQUMscUJBQUEsRUFBQUMsc0JBQUE7RUFDckI7RUFDQSxJQUNFQyxPQUFPLENBQUNDLEdBQUcsQ0FBQ0MsUUFBUSxLQUFLLGFBQWEsSUFDdEMsRUFBQUoscUJBQUEsR0FBQ0gsUUFBUSxDQUFDUSxnQkFBZ0IsWUFBQUwscUJBQUEsR0FBSSxDQUFDLElBQUksQ0FBQyxFQUNwQztJQUNBLE1BQU0sSUFBSU0sS0FBSyxDQUFDLHlDQUF5QyxDQUFDO0VBQzVEO0VBRUEsT0FBTztJQUNMQyxJQUFJLEVBQUVaLFVBQVU7SUFDaEJhLEdBQUcsRUFBRVgsUUFBUSxDQUFDVyxHQUFHLENBQUMsR0FBR1YsSUFBSSxDQUFDO0lBQzFCQSxJQUFJO0lBQ0pELFFBQVE7SUFDUlksSUFBSSxFQUFFZixVQUFVLEVBQUFPLHNCQUFBLEdBQUNKLFFBQVEsQ0FBQ1EsZ0JBQWdCLFlBQUFKLHNCQUFBLEdBQUksS0FBSyxFQUFFRixTQUFTO0VBQ2hFLENBQUM7QUFDSCIsImlnbm9yZUxpc3QiOltdfQ==