glance-selector
Version:
Glance selector library
44 lines (34 loc) • 1.46 kB
JavaScript
;
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);
}
}
}
};