utils/node_modules/@microsoft/api-extractor/lib/collector/DeclarationMetadata.d.ts

41 lines
2.0 KiB
TypeScript
Raw Normal View History

2024-02-07 01:33:07 -05:00
import type * as tsdoc from '@microsoft/tsdoc';
import type { AstDeclaration } from '../analyzer/AstDeclaration';
/**
* Stores the Collector's additional analysis for a specific `AstDeclaration` signature. This object is assigned to
* `AstDeclaration.declarationMetadata` but consumers must always obtain it by calling
* `Collector.fetchDeclarationMetadata()`.
*
* Note that ancillary declarations share their `ApiItemMetadata` with the main declaration,
* whereas a separate `DeclarationMetadata` object is created for each declaration.
*/
export declare abstract class DeclarationMetadata {
/**
* The ParserContext from when the TSDoc comment was parsed from the source code.
* If the source code did not contain a doc comment, then this will be undefined.
*
* Note that if an ancillary declaration has a doc comment, it is tracked here, whereas
* `ApiItemMetadata.tsdocComment` corresponds to documentation for the main declaration.
*/
abstract readonly tsdocParserContext: tsdoc.ParserContext | undefined;
/**
* If true, then this declaration is treated as part of another declaration.
*/
abstract readonly isAncillary: boolean;
/**
* A list of other declarations that are treated as being part of this declaration. For example, a property
* getter/setter pair will be treated as a single API item, with the setter being treated as ancillary to the getter.
*
* If the `ancillaryDeclarations` array is non-empty, then `isAncillary` will be false for this declaration,
* and `isAncillary` will be true for all the array items.
*/
abstract readonly ancillaryDeclarations: ReadonlyArray<AstDeclaration>;
}
/**
* Used internally by the `Collector` to build up `DeclarationMetadata`.
*/
export declare class InternalDeclarationMetadata extends DeclarationMetadata {
tsdocParserContext: tsdoc.ParserContext | undefined;
isAncillary: boolean;
ancillaryDeclarations: AstDeclaration[];
}
//# sourceMappingURL=DeclarationMetadata.d.ts.map