@supernovaio/cli
Version:
Supernova.io Command Line Interface
46 lines • 2.93 kB
TypeScript
import type { SymbolDisplayPart } from "typescript";
import * as ts from "typescript";
import { ComponentDoc, ComponentNameResolver, JSDoc, Method, MethodParameter, ParserOptions, PropItemType, Props, ResolvedType, StringIndexedObject } from "./types.js";
export declare const defaultOptions: ts.CompilerOptions;
export declare class Parser {
private readonly checker;
private readonly propFilter;
private readonly savePropValueAsString;
private readonly shouldExtractLiteralValuesFromEnum;
private readonly shouldExtractValuesFromUnion;
private readonly shouldIncludeExpression;
private readonly shouldIncludePropTagMap;
private readonly shouldRemoveUndefinedFromOptional;
private readonly shouldSortUnions;
constructor(program: ts.Program, opts: ParserOptions);
extractDefaultPropsFromComponent(symbol: ts.Symbol, source: ts.SourceFile): {};
extractMembersFromType(type: ts.Type): ts.Symbol[];
extractPropsFromTypeIfStatefulComponent(type: ts.Type): null | ts.Symbol;
extractPropsFromTypeIfStatelessComponent(type: ts.Type): null | ts.Symbol;
findDocComment(symbol: ts.Symbol): JSDoc;
getCallSignature(symbol: ts.Symbol): ts.Signature;
getComponentInfo(exp: ts.Symbol, source: ts.SourceFile, componentNameResolver?: ComponentNameResolver, customComponentTypes?: ParserOptions["customComponentTypes"]): ComponentDoc | null;
getResolvedType({ propType, skipUndefinedInUnion, visitedTypes, }: {
propType: ts.Type;
skipUndefinedInUnion?: boolean;
visitedTypes?: Set<string>;
}): ResolvedType;
getDocgenType(propType: ts.Type, isRequired: boolean): PropItemType;
getFullJsDocComment(symbol: ts.Symbol): JSDoc;
getFunctionStatement(statement: ts.Statement): ts.ArrowFunction | ts.FunctionDeclaration | ts.FunctionExpression | undefined;
getLiteralValueFromImportSpecifier(property: ts.ImportSpecifier): boolean | null | number | string | undefined;
getLiteralValueFromPropertyAssignment(property: ts.BindingElement | ts.PropertyAssignment): boolean | null | number | string | undefined;
getMethodsInfo(type: ts.Type): Method[];
getModifiers(member: ts.Symbol): string[];
getParameterInfo(callSignature: ts.Signature): MethodParameter[];
getPropMap(properties: ts.NodeArray<ts.BindingElement | ts.PropertyAssignment>): StringIndexedObject<boolean | null | number | string>;
getPropsInfo(propsObj: ts.Symbol, defaultProps?: StringIndexedObject<string>): Props;
getReturnDescription(symbol: ts.Symbol): SymbolDisplayPart[] | undefined;
isTaggedPublic(symbol: ts.Symbol): boolean;
parseExportSymbol(exp: ts.Symbol, sourceFile: ts.SourceFile): ComponentDoc[];
private getComponentFromExpression;
private getInfoFromUnionType;
private getValuesFromUnionType;
}
export declare function getDefaultExportForFile(source: ts.SourceFile): string;
//# sourceMappingURL=parser.d.ts.map