UNPKG

topological-sort-group

Version:

Topological sorting and cycle detection. Optional grouping for parallel processing

29 lines 1.4 kB
// https://gist.github.com/andrewchilds/30a7fb18981d413260c7a36428ed13da "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "default", { enumerable: true, get: function() { return deepGet; } }); function _type_of(obj) { "@swc/helpers - typeof"; return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj; } var isArray = Array.isArray || function(x) { return Object.prototype.toString.call(x) === '[object Array]'; }; function deepGet(value, query) { var defaultVal = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : undefined; var splitQuery = isArray(query) ? query : query.replace(/(\[(\d)\])/g, '.$2').replace(/^\./, '').split('.'); if (!splitQuery.length || splitQuery[0] === undefined) return value; var key = splitQuery[0]; if ((typeof value === "undefined" ? "undefined" : _type_of(value)) !== 'object' || value === null || !(key in value) || value[key] === undefined) { return defaultVal; } return deepGet(value[key], splitQuery.slice(1), defaultVal); } /* CJS INTEROP */ if (exports.__esModule && exports.default) { try { Object.defineProperty(exports.default, '__esModule', { value: true }); for (var key in exports) { exports.default[key] = exports[key]; } } catch (_) {}; module.exports = exports.default; }