UNPKG

glance-selector

Version:
44 lines (34 loc) 1.46 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _log = require("../log"); var _log2 = _interopRequireDefault(_log); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } exports.default = { properties: { "target-is-leaf-node": { filter: function visible(_ref, resultHandler) { var target = _ref.target, elements = _ref.elements; _log2.default.debug("Filtering for leaf node targets"); if (target.type != "target") return resultHandler(null, elements); return browserExecute(function (elements, handler) { try { var filteredElements = elements.filter(function (e) { return !e.childNodes || e.childNodes.length == 0 || [].slice.call(e.childNodes).every(function (c) { return c.nodeType == Node.TEXT_NODE; }); }); if (filteredElements.length == 0) { return handler(null, elements); } return handler(null, filteredElements); } catch (err) { return handler(err, []); } }, elements, resultHandler); } } } };