@maverick-js/compiler
Advanced tools
Comparing version 0.25.5 to 0.25.6
@@ -205,5 +205,6 @@ import { TS_NODE, resolvePath, resolveConfigPaths, resolveCorePkgName, camelToKebabCase } from './chunks/chunk-BIOVNH5X.js'; | ||
for (const prop of node.properties) { | ||
if (ts4.isPropertyAssignment(prop) && ts4.isIdentifier(prop.name)) { | ||
const name = prop.name.escapedText; | ||
members.props.set(name, { assignment: prop, value: prop.initializer }); | ||
if (ts4.isPropertyAssignment(prop)) { | ||
const name = ts4.isIdentifier(prop.name) ? prop.name.escapedText : ts4.isStringLiteral(prop.name) ? prop.name.text : null; | ||
if (name) | ||
members.props.set(name, { assignment: prop, value: prop.initializer }); | ||
} else if (ts4.isMethodDeclaration(prop) && ts4.isIdentifier(prop.name)) { | ||
@@ -222,12 +223,16 @@ const name = prop.name.escapedText; | ||
} | ||
} else if (ts4.isGetAccessor(prop) && ts4.isIdentifier(prop.name)) { | ||
const name = prop.name.escapedText; | ||
if (!members.accessors.has(name)) | ||
members.accessors.set(name, {}); | ||
members.accessors.get(name).get = prop; | ||
} else if (ts4.isSetAccessor(prop) && ts4.isIdentifier(prop.name)) { | ||
const name = prop.name.escapedText; | ||
if (!members.accessors.has(name)) | ||
members.accessors.set(name, {}); | ||
members.accessors.get(name).set = prop; | ||
} else if (ts4.isGetAccessor(prop)) { | ||
const name = ts4.isIdentifier(prop.name) ? prop.name.escapedText : ts4.isStringLiteral(prop.name) ? prop.name.text : null; | ||
if (name) { | ||
if (!members.accessors.has(name)) | ||
members.accessors.set(name, {}); | ||
members.accessors.get(name).get = prop; | ||
} | ||
} else if (ts4.isSetAccessor(prop)) { | ||
const name = ts4.isIdentifier(prop.name) ? prop.name.escapedText : ts4.isStringLiteral(prop.name) ? prop.name.text : null; | ||
if (name) { | ||
if (!members.accessors.has(name)) | ||
members.accessors.set(name, {}); | ||
members.accessors.get(name).set = prop; | ||
} | ||
} else { | ||
@@ -275,15 +280,28 @@ walkProperties(checker, prop, members); | ||
} else { | ||
if (ts4.isInterfaceDeclaration(node) && node.heritageClauses) { | ||
for (const clause of node.heritageClauses) { | ||
for (const type of clause.types) { | ||
if (ts4.isIdentifier(type.expression)) { | ||
members.heritage.set(type.expression.escapedText, type); | ||
if (!ignoredIdentifiers.has(type.expression.escapedText)) { | ||
if (type.typeArguments) { | ||
walkSignatures(checker, type, members, ignoredIdentifiers); | ||
} else { | ||
const declarations = getDeclarations(checker, type.expression); | ||
if (declarations) { | ||
for (const declaration of declarations) { | ||
walkSignatures(checker, declaration, members, ignoredIdentifiers); | ||
if (ts4.isInterfaceDeclaration(node)) { | ||
for (const prop of node.members) { | ||
if (ts4.isPropertySignature(prop)) { | ||
const name = ts4.isIdentifier(prop.name) ? prop.name.escapedText : ts4.isStringLiteral(prop.name) ? prop.name.text : null; | ||
if (name) | ||
members.props.set(name, { signature: prop }); | ||
} else if (ts4.isMethodSignature(prop)) { | ||
const name = ts4.isIdentifier(prop.name) ? prop.name.escapedText : ts4.isStringLiteral(prop.name) ? prop.name.text : null; | ||
if (name) | ||
members.methods.set(name, { signature: prop }); | ||
} | ||
} | ||
if (node.heritageClauses) { | ||
for (const clause of node.heritageClauses) { | ||
for (const type of clause.types) { | ||
if (ts4.isIdentifier(type.expression)) { | ||
members.heritage.set(type.expression.escapedText, type); | ||
if (!ignoredIdentifiers.has(type.expression.escapedText)) { | ||
if (type.typeArguments) { | ||
walkSignatures(checker, type, members, ignoredIdentifiers); | ||
} else { | ||
const declarations = getDeclarations(checker, type.expression); | ||
if (declarations) { | ||
for (const declaration of declarations) { | ||
walkSignatures(checker, declaration, members, ignoredIdentifiers); | ||
} | ||
} | ||
@@ -418,16 +436,2 @@ } | ||
const meta = /* @__PURE__ */ new Map(); | ||
let vars; | ||
const setup = getValueNode( | ||
checker, | ||
getPropertyAssignmentValue(checker, declarationRoot, "setup") | ||
); | ||
if (setup && (ts4.isMethodDeclaration(setup) || ts4.isArrowFunction(setup)) && setup.body && ts4.isBlock(setup.body)) { | ||
let findSetCSSVars2 = function(node) { | ||
if (ts4.isCallExpression(node) && ts4.isPropertyAccessExpression(node.expression) && ts4.isIdentifier(node.expression.expression) && node.expression.expression.escapedText === "host" && ts4.isIdentifier(node.expression.name) && node.expression.name.escapedText === "setCSSVars" && node.arguments[0]) { | ||
vars = getValueNode(checker, node.arguments[0]); | ||
} | ||
ts4.forEachChild(node, findSetCSSVars2); | ||
}; | ||
ts4.forEachChild(setup.body, findSetCSSVars2); | ||
} | ||
if (parentDocTags == null ? void 0 : parentDocTags.length) { | ||
@@ -444,3 +448,3 @@ const cssvars = buildMetaFromDocTags( | ||
if (typeRoot) { | ||
const props = vars ? walkProperties(checker, vars) : null, members = walkSignatures(checker, typeRoot); | ||
const members = walkSignatures(checker, typeRoot); | ||
for (const [name, prop] of members.props) { | ||
@@ -450,4 +454,6 @@ const signature = prop.signature; | ||
continue; | ||
const valueNode = (props == null ? void 0 : props.props.has(name)) ? getValueNode(checker, props.props.get(name).value) : null, docs = getDocs(checker, signature.name), doctags = getDocTags(signature), type = buildTypeMeta(checker, signature.type, prop.type); | ||
let internal, required, deprecated, $default, optional = !!signature.questionToken, readonly = !!((_a = signature.modifiers) == null ? void 0 : _a.some((mod) => mod.kind === ts4.SyntaxKind.ReadonlyKeyword)) || !!valueNode && (ts4.isMethodDeclaration(valueNode) || ts4.isArrowFunction(valueNode)); | ||
const docs = getDocs(checker, signature.name), doctags = getDocTags(signature), type = buildTypeMeta(checker, signature.type, prop.type); | ||
let internal, required, deprecated, $default, optional = !!signature.questionToken, readonly = !!((_a = signature.modifiers) == null ? void 0 : _a.some( | ||
(mod) => mod.kind === ts4.SyntaxKind.ReadonlyKeyword | ||
)); | ||
if (doctags) { | ||
@@ -466,5 +472,2 @@ if (hasDocTag(doctags, "internal")) | ||
} | ||
if (!$default && valueNode) { | ||
$default = valueNode.getText(); | ||
} | ||
meta.set(name, { | ||
@@ -471,0 +474,0 @@ [TS_NODE]: signature, |
@@ -5,3 +5,3 @@ { | ||
"license": "MIT", | ||
"version": "0.25.5", | ||
"version": "0.25.6", | ||
"type": "module", | ||
@@ -8,0 +8,0 @@ "module": "./dist/index.js", |
Sorry, the diff of this file is not supported yet
7048
256420