simmerjs
Version:
A pure Javascript reverse CSS selector engine which calculates a DOM element's unique CSS selector on the current page.
24 lines (18 loc) • 743 B
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = function (state) {
var depth = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : state.stack.length;
return (0, _lodash2.default)(state.stack.reduceRight(function (selectorSegments, elementState) {
if (elementState.length) {
selectorSegments.push(elementState.join(''));
} else if (selectorSegments.length) {
selectorSegments.push('*');
}
return selectorSegments;
}, []), depth).join(' > ') || '*';
};
var _lodash = require('lodash.takeright');
var _lodash2 = _interopRequireDefault(_lodash);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
;