UNPKG

@data-client/core

Version:

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

26 lines 4.85 kB
import { createMeta } from './createMeta.js'; import { SET_RESPONSE } from '../../actionTypes.js'; import ensurePojo from '../ensurePojo.js'; export function createSetResponse(endpoint, { args, fetchedAt, response, error = false }) { var _endpoint$errorExpiry, _endpoint$dataExpiryL; const expiryLength = error ? (_endpoint$errorExpiry = endpoint.errorExpiryLength) != null ? _endpoint$errorExpiry : 1000 : (_endpoint$dataExpiryL = endpoint.dataExpiryLength) != null ? _endpoint$dataExpiryL : 60000; /* istanbul ignore next */ if (process.env.NODE_ENV === 'development' && expiryLength < 0) { throw new Error('Negative expiry length are not allowed.'); } return { type: SET_RESPONSE, key: endpoint.key(...args), response, args: args.map(ensurePojo), endpoint, meta: createMeta(expiryLength, fetchedAt), error }; } //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjcmVhdGVNZXRhIiwiU0VUX1JFU1BPTlNFIiwiZW5zdXJlUG9qbyIsImNyZWF0ZVNldFJlc3BvbnNlIiwiZW5kcG9pbnQiLCJhcmdzIiwiZmV0Y2hlZEF0IiwicmVzcG9uc2UiLCJlcnJvciIsIl9lbmRwb2ludCRlcnJvckV4cGlyeSIsIl9lbmRwb2ludCRkYXRhRXhwaXJ5TCIsImV4cGlyeUxlbmd0aCIsImVycm9yRXhwaXJ5TGVuZ3RoIiwiZGF0YUV4cGlyeUxlbmd0aCIsInByb2Nlc3MiLCJlbnYiLCJOT0RFX0VOViIsIkVycm9yIiwidHlwZSIsImtleSIsIm1hcCIsIm1ldGEiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udHJvbGxlci9hY3Rpb25zL2NyZWF0ZVNldFJlc3BvbnNlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRW5kcG9pbnRJbnRlcmZhY2UsIFJlc29sdmVUeXBlIH0gZnJvbSAnQGRhdGEtY2xpZW50L25vcm1hbGl6cic7XG5cbmltcG9ydCB7IGNyZWF0ZU1ldGEgfSBmcm9tICcuL2NyZWF0ZU1ldGEuanMnO1xuaW1wb3J0IHsgU0VUX1JFU1BPTlNFIH0gZnJvbSAnLi4vLi4vYWN0aW9uVHlwZXMuanMnO1xuaW1wb3J0IHR5cGUgeyBTZXRSZXNwb25zZUFjdGlvbiB9IGZyb20gJy4uLy4uL3R5cGVzLmpzJztcbmltcG9ydCBlbnN1cmVQb2pvIGZyb20gJy4uL2Vuc3VyZVBvam8uanMnO1xuaW1wb3J0IHsgRW5kcG9pbnRVcGRhdGVGdW5jdGlvbiB9IGZyb20gJy4uL3R5cGVzLmpzJztcblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVNldFJlc3BvbnNlPFxuICBFIGV4dGVuZHMgRW5kcG9pbnRJbnRlcmZhY2UgJiB7XG4gICAgdXBkYXRlPzogRW5kcG9pbnRVcGRhdGVGdW5jdGlvbjxFPjtcbiAgfSxcbj4oXG4gIGVuZHBvaW50OiBFLFxuICBvcHRpb25zOiB7XG4gICAgYXJnczogcmVhZG9ubHkgWy4uLlBhcmFtZXRlcnM8RT5dO1xuICAgIHJlc3BvbnNlOiBFcnJvcjtcbiAgICBmZXRjaGVkQXQ/OiBudW1iZXI7XG4gICAgZXJyb3I6IHRydWU7XG4gIH0sXG4pOiBTZXRSZXNwb25zZUFjdGlvbjxFPjtcblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVNldFJlc3BvbnNlPFxuICBFIGV4dGVuZHMgRW5kcG9pbnRJbnRlcmZhY2UgJiB7XG4gICAgdXBkYXRlPzogRW5kcG9pbnRVcGRhdGVGdW5jdGlvbjxFPjtcbiAgfSxcbj4oXG4gIGVuZHBvaW50OiBFLFxuICBvcHRpb25zOiB7XG4gICAgYXJnczogcmVhZG9ubHkgWy4uLlBhcmFtZXRlcnM8RT5dO1xuICAgIHJlc3BvbnNlOiBSZXNvbHZlVHlwZTxFPjtcbiAgICBmZXRjaGVkQXQ/OiBudW1iZXI7XG4gICAgZXJyb3I/OiBmYWxzZTtcbiAgfSxcbik6IFNldFJlc3BvbnNlQWN0aW9uPEU+O1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlU2V0UmVzcG9uc2U8XG4gIEUgZXh0ZW5kcyBFbmRwb2ludEludGVyZmFjZSAmIHtcbiAgICB1cGRhdGU/OiBFbmRwb2ludFVwZGF0ZUZ1bmN0aW9uPEU+O1xuICB9LFxuPihcbiAgZW5kcG9pbnQ6IEUsXG4gIHtcbiAgICBhcmdzLFxuICAgIGZldGNoZWRBdCxcbiAgICByZXNwb25zZSxcbiAgICBlcnJvciA9IGZhbHNlLFxuICB9OiB7XG4gICAgYXJnczogcmVhZG9ubHkgWy4uLlBhcmFtZXRlcnM8RT5dO1xuICAgIHJlc3BvbnNlOiBhbnk7XG4gICAgZmV0Y2hlZEF0PzogbnVtYmVyO1xuICAgIGVycm9yPzogYm9vbGVhbjtcbiAgfSxcbik6IFNldFJlc3BvbnNlQWN0aW9uPEU+IHtcbiAgY29uc3QgZXhwaXJ5TGVuZ3RoOiBudW1iZXIgPVxuICAgIGVycm9yID9cbiAgICAgIChlbmRwb2ludC5lcnJvckV4cGlyeUxlbmd0aCA/PyAxMDAwKVxuICAgIDogKGVuZHBvaW50LmRhdGFFeHBpcnlMZW5ndGggPz8gNjAwMDApO1xuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09ICdkZXZlbG9wbWVudCcgJiYgZXhwaXJ5TGVuZ3RoIDwgMCkge1xuICAgIHRocm93IG5ldyBFcnJvcignTmVnYXRpdmUgZXhwaXJ5IGxlbmd0aCBhcmUgbm90IGFsbG93ZWQuJyk7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIHR5cGU6IFNFVF9SRVNQT05TRSxcbiAgICBrZXk6IGVuZHBvaW50LmtleSguLi5hcmdzKSxcbiAgICByZXNwb25zZSxcbiAgICBhcmdzOiBhcmdzLm1hcChlbnN1cmVQb2pvKSxcbiAgICBlbmRwb2ludCxcbiAgICBtZXRhOiBjcmVhdGVNZXRhKGV4cGlyeUxlbmd0aCwgZmV0Y2hlZEF0KSxcbiAgICBlcnJvcixcbiAgfTtcbn1cbiJdLCJtYXBwaW5ncyI6IkFBRUEsU0FBU0EsVUFBVSxRQUFRLGlCQUFpQjtBQUM1QyxTQUFTQyxZQUFZLFFBQVEsc0JBQXNCO0FBRW5ELE9BQU9DLFVBQVUsTUFBTSxrQkFBa0I7QUErQnpDLE9BQU8sU0FBU0MsaUJBQWlCQSxDQUsvQkMsUUFBVyxFQUNYO0VBQ0VDLElBQUk7RUFDSkMsU0FBUztFQUNUQyxRQUFRO0VBQ1JDLEtBQUssR0FBRztBQU1WLENBQUMsRUFDcUI7RUFBQSxJQUFBQyxxQkFBQSxFQUFBQyxxQkFBQTtFQUN0QixNQUFNQyxZQUFvQixHQUN4QkgsS0FBSyxJQUFBQyxxQkFBQSxHQUNGTCxRQUFRLENBQUNRLGlCQUFpQixZQUFBSCxxQkFBQSxHQUFJLElBQUksSUFBQUMscUJBQUEsR0FDbENOLFFBQVEsQ0FBQ1MsZ0JBQWdCLFlBQUFILHFCQUFBLEdBQUksS0FBTTtFQUN4QztFQUNBLElBQUlJLE9BQU8sQ0FBQ0MsR0FBRyxDQUFDQyxRQUFRLEtBQUssYUFBYSxJQUFJTCxZQUFZLEdBQUcsQ0FBQyxFQUFFO0lBQzlELE1BQU0sSUFBSU0sS0FBSyxDQUFDLHlDQUF5QyxDQUFDO0VBQzVEO0VBRUEsT0FBTztJQUNMQyxJQUFJLEVBQUVqQixZQUFZO0lBQ2xCa0IsR0FBRyxFQUFFZixRQUFRLENBQUNlLEdBQUcsQ0FBQyxHQUFHZCxJQUFJLENBQUM7SUFDMUJFLFFBQVE7SUFDUkYsSUFBSSxFQUFFQSxJQUFJLENBQUNlLEdBQUcsQ0FBQ2xCLFVBQVUsQ0FBQztJQUMxQkUsUUFBUTtJQUNSaUIsSUFBSSxFQUFFckIsVUFBVSxDQUFDVyxZQUFZLEVBQUVMLFNBQVMsQ0FBQztJQUN6Q0U7RUFDRixDQUFDO0FBQ0giLCJpZ25vcmVMaXN0IjpbXX0=