glance-dom
Version:
Glance DOM library
33 lines (23 loc) • 924 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = function (elements, containerElements) {
var includeSelf = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
var containerLookup = new Set(containerElements);
return (0, _reduce2.default)([].concat(elements), function (result, element) {
var parent = includeSelf ? element : element.parentNode;
var parents = [];
while (parent !== null && parent.outerHTML !== null) {
parents.push(parent);
if (containerLookup.has(parent)) break;
parent = parent.parentNode;
}
result.push(parents);
return result;
}, []);
};
var _reduce = require('@arr/reduce');
var _reduce2 = _interopRequireDefault(_reduce);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
;