/** * TypeScript 语法树的操作工具 * * 语法树 Spec: https://ts-morph.com/ */ import { MethodDeclaration, ShorthandPropertyAssignment, PropertyAssignment, ClassDeclaration, SourceFile, ObjectLiteralExpression } from 'ts-morph'; import { TagName } from '../models/component-info'; import { ComponentReference } from '../models/component-reference'; import { strongParseSanSourceFileOptions } from '../compilers/renderer-options'; /** * import {Component as OtherName} from 'san'; * 获取到 “OtherName” */ export declare function getComponentClassIdentifier(sourceFile: SourceFile, sanReferenceInfo: strongParseSanSourceFileOptions['sanReferenceInfo']): string | undefined; export declare function isChildClassOf(clazz: ClassDeclaration, parentClass: string): boolean; export declare function getPropertyStringValue(clazz: ClassDeclaration, memberName: string, defaultValue: T): T; export declare function getPropertyStringValue(clazz: ClassDeclaration, memberName: string): T | undefined; export declare function getPropertyBooleanValue(clazz: ClassDeclaration, memberName: string, defaultValue: boolean): boolean; export declare function getPropertyStringArrayValue(clazz: ClassDeclaration, memberName: string): T | undefined; export declare function getChildComponents(clazz: ClassDeclaration, defaultClassDeclaration: ClassDeclaration | undefined, getComponentClassFromObjectLiteral: (rawObjectExpr: ObjectLiteralExpression) => ClassDeclaration): Map; export declare function getObjectLiteralPropertyKeys(clazz: ClassDeclaration, propertyName: string): string[]; export declare function getPropertyAssignmentName(prop: PropertyAssignment | ShorthandPropertyAssignment | MethodDeclaration): string;