UNPKG

@jsdocs-io/extractor

Version:

The API extractor for npm packages powering jsdocs.io

22 lines (21 loc) 837 B
import { apparentType } from "./apparent-type.js"; import { docs } from "./docs.js"; import { formatSignature } from "./format-signature.js"; import { id } from "./id.js"; import { sourceFilePath } from "./source-file-path.js"; export async function extractExpression(containerName, exportName, declaration) { return { kind: "variable", id: id(containerName, "+variable", exportName), name: exportName, docs: docs(declaration), file: sourceFilePath(declaration), line: declaration.getStartLineNumber(), signature: await expressionSignature(exportName, declaration), }; } async function expressionSignature(name, declaration) { const kind = "const"; const type = apparentType(declaration); return await formatSignature("variable", `${kind} ${name}: ${type}`); }