state-trooper
Version:
Application State Manager
30 lines (24 loc) • 684 B
JavaScript
;
Object.defineProperty(exports, '__esModule', {
value: true
});
function findClosestFetcherAndQuery(dataStore, path) {
var pathStr = path.join('.');
if (!dataStore) {
throw new Error('Couldn\'t find fetcher for ' + pathStr + ' with no data store');
}
while (!dataStore[pathStr]) {
var parts = pathStr.split('.');
parts.pop();
pathStr = parts.join('.');
if (pathStr.length === 0) {
throw new Error('Couldn\'t find fetcher for ' + pathStr);
}
}
return {
fetcher: dataStore[pathStr].fetcher,
query: dataStore[pathStr].query
};
}
exports['default'] = findClosestFetcherAndQuery;
module.exports = exports['default'];