mostly-dom
Version:
A virtual-dom for TypeScript
24 lines • 1.11 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
var parseSelector_1 = require("../parseSelector");
function matchBasicCssSelector(cssSelector, vNode) {
var hasTagName = cssSelector[0] !== '#' && cssSelector[0] !== '.';
var _a = hasTagName ?
parseSelector_1.parseSelector(cssSelector) :
parseSelector_1.parseSelector(vNode.tagName + cssSelector), tagName = _a.tagName, className = _a.className, id = _a.id;
if (tagName !== vNode.tagName)
return false;
var parsedClassNames = className && className.split(' ') || [];
var _b = vNode.props, _c = _b.className, propsClassName = _c === void 0 ? '' : _c, propsId = _b.id;
var vNodeClassNames = propsClassName.split(' ');
for (var i = 0; i < parsedClassNames.length; ++i) {
var parsedClassName = parsedClassNames[i];
if (vNodeClassNames.indexOf(parsedClassName) === -1)
return false;
}
if (id)
return propsId === id;
return true;
}
exports.matchBasicCssSelector = matchBasicCssSelector;
//# sourceMappingURL=matchBasicCssSelector.js.map
;