@kuma-ui/compiler
Version:
🐻 Kuma UI is a utility-first, zero-runtime CSS-in-JS library that offers an outstanding developer experience and optimized performance.
42 lines (39 loc) • 1.15 kB
JavaScript
import {
decode
} from "./chunk-4VG2IAQS.mjs";
import {
handleJsxExpression
} from "./chunk-CSBP7RYO.mjs";
// src/collector/pseudo.ts
import { Node } from "ts-morph";
var extractPseudoAttribute = (jsxAttribute) => {
const initializer = jsxAttribute.getInitializer();
if (Node.isJsxExpression(initializer)) {
const expression = initializer.getExpression();
if (!expression)
return;
const decodedNode = decode(expression);
return handlePseudoJsxExpression(decodedNode);
}
return void 0;
};
var handlePseudoJsxExpression = (node) => {
if (Node.isObjectLiteralExpression(node)) {
const objProps = {};
for (const prop of node.getProperties()) {
if (Node.isPropertyAssignment(prop)) {
const initializer = prop.getInitializer();
if (initializer) {
const decodedNode = decode(initializer);
const propName = prop.getName();
objProps[propName] = handleJsxExpression(decodedNode);
}
}
}
return Object.values(objProps).includes(void 0) ? void 0 : objProps;
}
return handleJsxExpression(node);
};
export {
extractPseudoAttribute
};