MCPcopy
hub / github.com/angular/angular / createCssSelectorFromNode

Function createCssSelectorFromNode

packages/compiler/src/render3/view/util.ts:176–196  ·  view source on GitHub ↗
(node: t.Element | t.Template)

Source from the content-addressed store, hash-verified

174 * Creates a `CssSelector` from an AST node.
175 */
176export function createCssSelectorFromNode(node: t.Element | t.Template): CssSelector {
177 const elementName = node instanceof t.Element ? node.name : 'ng-template';
178 const attributes = getAttrsForDirectiveMatching(node);
179 const cssSelector = new CssSelector();
180 const elementNameNoNs = splitNsName(elementName)[1];
181
182 cssSelector.setElement(elementNameNoNs);
183
184 Object.getOwnPropertyNames(attributes).forEach((name) => {
185 const nameNoNs = splitNsName(name)[1];
186 const value = attributes[name];
187
188 cssSelector.addAttribute(nameNoNs, value);
189 if (name.toLowerCase() === 'class') {
190 const classes = value.trim().split(/\s+/);
191 classes.forEach((className) => cssSelector.addClassName(className));
192 }
193 });
194
195 return cssSelector;
196}
197
198/**
199 * Extract a map of properties to values for a given element or template node, which can be used

Callers 2

executeMethod · 0.90

Calls 6

setElementMethod · 0.95
addAttributeMethod · 0.95
addClassNameMethod · 0.95
splitNsNameFunction · 0.90
forEachMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…