UNPKG

@microsoft/api-extractor

Version:

Validatation, documentation, and auditing for the exported API of a TypeScript package

37 lines (36 loc) 1.35 kB
import * as ts from 'typescript'; import { IApiItemOptions } from './ApiItem'; import ApiItemContainer from './ApiItemContainer'; /** * This class is part of the ApiItem abstract syntax tree. It represents a class, * interface, or type literal expression. */ export default class ApiStructuredType extends ApiItemContainer { implements?: string; extends?: string; /** * An array of type parameters for generic classes * Example: Foo<T, S> => ['T', 'S'] */ typeParameters: string[]; /** * The data type of the ApiItem.declarationSymbol. This is not the exported alias, * but rather the original that has complete member and inheritance information. */ protected type: ts.Type; private _classLikeDeclaration; private _processedMemberNames; private _setterNames; constructor(options: IApiItemOptions); /** * @virtual */ visitTypeReferencesForApiItem(): void; /** * Returns a line of text such as "class MyClass extends MyBaseClass", excluding the * curly braces and body. The name "MyClass" will be the public name seend by external * callers, not the declared name of the class; @see ApiItem.name documentation for details. */ getDeclarationLine(): string; private _processMember(memberSymbol, memberDeclaration); }