UNPKG

ra-core

Version:

Core components of react-admin, a frontend Framework for building admin applications on top of REST services, using ES6, React

37 lines 1.18 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.combineDataProviders = void 0; const defaultDataProvider_1 = require("./defaultDataProvider.cjs"); /** * Combine multiple data providers into one. * * @param dataProviderMatcher A function that returns a data provider for a given resource. * * @example * const dataProvider = combineDataProviders(resource => { * switch(resource) { * case 'posts': * case 'comments': * return dataProvider1; * case 'users': * return dataProvider2; * default: * throw new Error('Unknown resource'); * } * }); */ const combineDataProviders = (dataProviderMatcher) => new Proxy(defaultDataProvider_1.defaultDataProvider, { get: (target, name) => { if (name === 'then') { return null; } return (resource, ...params) => { if (typeof name === 'symbol') { return; } return dataProviderMatcher(resource)[name](resource, ...params); }; }, }); exports.combineDataProviders = combineDataProviders; //# sourceMappingURL=combineDataProviders.js.map