UNPKG

topological-sort-group

Version:

Topological sorting and cycle detection. Optional grouping for parallel processing

11 lines (10 loc) 572 B
// https://gist.github.com/andrewchilds/30a7fb18981d413260c7a36428ed13da export default function deepGet(value, query, defaultVal = undefined) { const splitQuery = Array.isArray(query) ? query : query.replace(/(\[(\d)\])/g, '.$2').replace(/^\./, '').split('.'); if (!splitQuery.length || splitQuery[0] === undefined) return value; const key = splitQuery[0]; if (typeof value !== 'object' || value === null || !(key in value) || value[key] === undefined) { return defaultVal; } return deepGet(value[key], splitQuery.slice(1), defaultVal); }