UNPKG

@data-client/react

Version:

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

38 lines (37 loc) 7.05 kB
import { NetworkManager, SubscriptionManager, PollingSubscription, DevToolsManager } from '../managers/index.js'; /* istanbul ignore next */ /** Returns the default Managers used by DataProvider. * * @see https://dataclient.io/docs/api/getDefaultManagers */ let getDefaultManagers = ({ networkManager, subscriptionManager: _subscriptionManager = PollingSubscription } = {}) => _subscriptionManager === null ? [constructManager(NetworkManager, networkManager)] : [constructManager(NetworkManager, networkManager), constructManager(SubscriptionManager, _subscriptionManager)]; /* istanbul ignore else */ if (process.env.NODE_ENV !== 'production') { getDefaultManagers = ({ devToolsManager, networkManager, subscriptionManager: _subscriptionManager2 = PollingSubscription } = {}) => { if (networkManager === null) { console.error('Disabling NetworkManager is not allowed.'); networkManager = {}; } const nm = constructManager(NetworkManager, networkManager); const managers = [nm]; if (_subscriptionManager2 !== null) { managers.push(constructManager(SubscriptionManager, _subscriptionManager2)); } if (devToolsManager !== null) { managers.unshift(devToolsManager instanceof DevToolsManager ? devToolsManager : new DevToolsManager(devToolsManager, nm.skipLogging.bind(nm))); } return managers; }; } export { getDefaultManagers }; function constructManager(Mgr, optionOrInstance) { return optionOrInstance instanceof Mgr ? optionOrInstance : new Mgr(optionOrInstance); } //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJOZXR3b3JrTWFuYWdlciIsIlN1YnNjcmlwdGlvbk1hbmFnZXIiLCJQb2xsaW5nU3Vic2NyaXB0aW9uIiwiRGV2VG9vbHNNYW5hZ2VyIiwiZ2V0RGVmYXVsdE1hbmFnZXJzIiwibmV0d29ya01hbmFnZXIiLCJzdWJzY3JpcHRpb25NYW5hZ2VyIiwiY29uc3RydWN0TWFuYWdlciIsInByb2Nlc3MiLCJlbnYiLCJOT0RFX0VOViIsImRldlRvb2xzTWFuYWdlciIsImNvbnNvbGUiLCJlcnJvciIsIm5tIiwibWFuYWdlcnMiLCJwdXNoIiwidW5zaGlmdCIsInNraXBMb2dnaW5nIiwiYmluZCIsIk1nciIsIm9wdGlvbk9ySW5zdGFuY2UiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tcG9uZW50cy9nZXREZWZhdWx0TWFuYWdlcnMudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRGV2VG9vbHNDb25maWcsIE1hbmFnZXIgfSBmcm9tICdAZGF0YS1jbGllbnQvY29yZSc7XG5cbmltcG9ydCB7XG4gIE5ldHdvcmtNYW5hZ2VyLFxuICBTdWJzY3JpcHRpb25NYW5hZ2VyLFxuICBQb2xsaW5nU3Vic2NyaXB0aW9uLFxuICBEZXZUb29sc01hbmFnZXIsXG59IGZyb20gJy4uL21hbmFnZXJzL2luZGV4LmpzJztcblxuLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbi8qKiBSZXR1cm5zIHRoZSBkZWZhdWx0IE1hbmFnZXJzIHVzZWQgYnkgRGF0YVByb3ZpZGVyLlxuICpcbiAqIEBzZWUgaHR0cHM6Ly9kYXRhY2xpZW50LmlvL2RvY3MvYXBpL2dldERlZmF1bHRNYW5hZ2Vyc1xuICovXG5sZXQgZ2V0RGVmYXVsdE1hbmFnZXJzOiAoe1xuICBkZXZUb29sc01hbmFnZXIsXG4gIG5ldHdvcmtNYW5hZ2VyLFxuICBzdWJzY3JpcHRpb25NYW5hZ2VyLFxufT86IEdldE1hbmFnZXJzT3B0aW9ucykgPT4gTWFuYWdlcltdID0gKHtcbiAgbmV0d29ya01hbmFnZXIsXG4gIHN1YnNjcmlwdGlvbk1hbmFnZXIgPSBQb2xsaW5nU3Vic2NyaXB0aW9uLFxufSA9IHt9KSA9PlxuICBzdWJzY3JpcHRpb25NYW5hZ2VyID09PSBudWxsID9cbiAgICBbY29uc3RydWN0TWFuYWdlcihOZXR3b3JrTWFuYWdlciwgbmV0d29ya01hbmFnZXIpXVxuICA6IFtcbiAgICAgIGNvbnN0cnVjdE1hbmFnZXIoTmV0d29ya01hbmFnZXIsIG5ldHdvcmtNYW5hZ2VyKSxcbiAgICAgIGNvbnN0cnVjdE1hbmFnZXIoU3Vic2NyaXB0aW9uTWFuYWdlciwgc3Vic2NyaXB0aW9uTWFuYWdlciksXG4gICAgXTtcbi8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG5pZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICBnZXREZWZhdWx0TWFuYWdlcnMgPSAoe1xuICAgIGRldlRvb2xzTWFuYWdlcixcbiAgICBuZXR3b3JrTWFuYWdlcixcbiAgICBzdWJzY3JpcHRpb25NYW5hZ2VyID0gUG9sbGluZ1N1YnNjcmlwdGlvbixcbiAgfTogR2V0TWFuYWdlcnNPcHRpb25zID0ge30pOiBNYW5hZ2VyW10gPT4ge1xuICAgIGlmIChuZXR3b3JrTWFuYWdlciA9PT0gbnVsbCkge1xuICAgICAgY29uc29sZS5lcnJvcignRGlzYWJsaW5nIE5ldHdvcmtNYW5hZ2VyIGlzIG5vdCBhbGxvd2VkLicpO1xuICAgICAgbmV0d29ya01hbmFnZXIgPSB7fTtcbiAgICB9XG4gICAgY29uc3Qgbm0gPSBjb25zdHJ1Y3RNYW5hZ2VyKE5ldHdvcmtNYW5hZ2VyLCBuZXR3b3JrTWFuYWdlcik7XG4gICAgY29uc3QgbWFuYWdlcnM6IE1hbmFnZXJbXSA9IFtubV07XG4gICAgaWYgKHN1YnNjcmlwdGlvbk1hbmFnZXIgIT09IG51bGwpIHtcbiAgICAgIG1hbmFnZXJzLnB1c2goY29uc3RydWN0TWFuYWdlcihTdWJzY3JpcHRpb25NYW5hZ2VyLCBzdWJzY3JpcHRpb25NYW5hZ2VyKSk7XG4gICAgfVxuICAgIGlmIChkZXZUb29sc01hbmFnZXIgIT09IG51bGwpIHtcbiAgICAgIG1hbmFnZXJzLnVuc2hpZnQoXG4gICAgICAgIGRldlRvb2xzTWFuYWdlciBpbnN0YW5jZW9mIERldlRvb2xzTWFuYWdlciA/IGRldlRvb2xzTWFuYWdlciA6IChcbiAgICAgICAgICBuZXcgRGV2VG9vbHNNYW5hZ2VyKGRldlRvb2xzTWFuYWdlciwgbm0uc2tpcExvZ2dpbmcuYmluZChubSkpXG4gICAgICAgICksXG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gbWFuYWdlcnM7XG4gIH07XG59XG5leHBvcnQgeyBnZXREZWZhdWx0TWFuYWdlcnMgfTtcblxuZnVuY3Rpb24gY29uc3RydWN0TWFuYWdlcjxcbiAgTSBleHRlbmRzIHsgbmV3ICguLi5hcmdzOiBhbnkpOiBNYW5hZ2VyIH0sXG4gIE8gZXh0ZW5kcyBJbnN0YW5jZVR5cGU8TT4gfCBDb25zdHJ1Y3RvckFyZ3M8TT4sXG4+KE1ncjogTSwgb3B0aW9uT3JJbnN0YW5jZTogTyk6IEluc3RhbmNlVHlwZTxNPiB7XG4gIHJldHVybiBvcHRpb25Pckluc3RhbmNlIGluc3RhbmNlb2YgTWdyID9cbiAgICAgIChvcHRpb25Pckluc3RhbmNlIGFzIGFueSlcbiAgICA6IChuZXcgTWdyKG9wdGlvbk9ySW5zdGFuY2UpIGFzIGFueSk7XG59XG5cbmV4cG9ydCB0eXBlIEdldE1hbmFnZXJzT3B0aW9ucyA9IHtcbiAgZGV2VG9vbHNNYW5hZ2VyPzogRGV2VG9vbHNNYW5hZ2VyIHwgRGV2VG9vbHNDb25maWcgfCBudWxsO1xuICBuZXR3b3JrTWFuYWdlcj86IE5ldHdvcmtNYW5hZ2VyIHwgQ29uc3RydWN0b3JBcmdzPHR5cGVvZiBOZXR3b3JrTWFuYWdlcj47XG4gIHN1YnNjcmlwdGlvbk1hbmFnZXI/OlxuICAgIHwgU3Vic2NyaXB0aW9uTWFuYWdlclxuICAgIHwgQ29uc3RydWN0b3JBcmdzPHR5cGVvZiBTdWJzY3JpcHRpb25NYW5hZ2VyPlxuICAgIHwgbnVsbDtcbn07XG5cbmV4cG9ydCB0eXBlIENvbnN0cnVjdG9yQXJnczxUIGV4dGVuZHMgeyBuZXcgKC4uLmFyZ3M6IGFueSk6IGFueSB9PiA9XG4gIFQgZXh0ZW5kcyB7IG5ldyAob3B0aW9uczogaW5mZXIgTyk6IGFueSB9ID8gTyA6IG5ldmVyO1xuIl0sIm1hcHBpbmdzIjoiQUFFQSxTQUNFQSxjQUFjLEVBQ2RDLG1CQUFtQixFQUNuQkMsbUJBQW1CLEVBQ25CQyxlQUFlLFFBQ1Ysc0JBQXNCOztBQUU3QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSUMsa0JBSWdDLEdBQUdBLENBQUM7RUFDdENDLGNBQWM7RUFDZEMsbUJBQW1CLEVBQW5CQSxvQkFBbUIsR0FBR0o7QUFDeEIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUNKSSxvQkFBbUIsS0FBSyxJQUFJLEdBQzFCLENBQUNDLGdCQUFnQixDQUFDUCxjQUFjLEVBQUVLLGNBQWMsQ0FBQyxDQUFDLEdBQ2xELENBQ0VFLGdCQUFnQixDQUFDUCxjQUFjLEVBQUVLLGNBQWMsQ0FBQyxFQUNoREUsZ0JBQWdCLENBQUNOLG1CQUFtQixFQUFFSyxvQkFBbUIsQ0FBQyxDQUMzRDtBQUNMO0FBQ0EsSUFBSUUsT0FBTyxDQUFDQyxHQUFHLENBQUNDLFFBQVEsS0FBSyxZQUFZLEVBQUU7RUFDekNOLGtCQUFrQixHQUFHQSxDQUFDO0lBQ3BCTyxlQUFlO0lBQ2ZOLGNBQWM7SUFDZEMsbUJBQW1CLEVBQW5CQSxxQkFBbUIsR0FBR0o7RUFDSixDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQWdCO0lBQ3hDLElBQUlHLGNBQWMsS0FBSyxJQUFJLEVBQUU7TUFDM0JPLE9BQU8sQ0FBQ0MsS0FBSyxDQUFDLDBDQUEwQyxDQUFDO01BQ3pEUixjQUFjLEdBQUcsQ0FBQyxDQUFDO0lBQ3JCO0lBQ0EsTUFBTVMsRUFBRSxHQUFHUCxnQkFBZ0IsQ0FBQ1AsY0FBYyxFQUFFSyxjQUFjLENBQUM7SUFDM0QsTUFBTVUsUUFBbUIsR0FBRyxDQUFDRCxFQUFFLENBQUM7SUFDaEMsSUFBSVIscUJBQW1CLEtBQUssSUFBSSxFQUFFO01BQ2hDUyxRQUFRLENBQUNDLElBQUksQ0FBQ1QsZ0JBQWdCLENBQUNOLG1CQUFtQixFQUFFSyxxQkFBbUIsQ0FBQyxDQUFDO0lBQzNFO0lBQ0EsSUFBSUssZUFBZSxLQUFLLElBQUksRUFBRTtNQUM1QkksUUFBUSxDQUFDRSxPQUFPLENBQ2ROLGVBQWUsWUFBWVIsZUFBZSxHQUFHUSxlQUFlLEdBQzFELElBQUlSLGVBQWUsQ0FBQ1EsZUFBZSxFQUFFRyxFQUFFLENBQUNJLFdBQVcsQ0FBQ0MsSUFBSSxDQUFDTCxFQUFFLENBQUMsQ0FFaEUsQ0FBQztJQUNIO0lBQ0EsT0FBT0MsUUFBUTtFQUNqQixDQUFDO0FBQ0g7QUFDQSxTQUFTWCxrQkFBa0I7QUFFM0IsU0FBU0csZ0JBQWdCQSxDQUd2QmEsR0FBTSxFQUFFQyxnQkFBbUIsRUFBbUI7RUFDOUMsT0FBT0EsZ0JBQWdCLFlBQVlELEdBQUcsR0FDakNDLGdCQUFnQixHQUNoQixJQUFJRCxHQUFHLENBQUNDLGdCQUFnQixDQUFTO0FBQ3hDIiwiaWdub3JlTGlzdCI6W119