UNPKG

3.69 kBTypeScriptView Raw
1import { DocNode, DocNodeKind, IDocNodeParameters, IDocNodeParsedParameters } from './DocNode';
2import { DocMemberIdentifier } from './DocMemberIdentifier';
3import { DocMemberSymbol } from './DocMemberSymbol';
4import { DocMemberSelector } from './DocMemberSelector';
5import { TokenSequence } from '../parser/TokenSequence';
6/**
7 * Constructor parameters for {@link DocMemberReference}.
8 */
9export interface IDocMemberReferenceParameters extends IDocNodeParameters {
10 hasDot: boolean;
11 memberIdentifier?: DocMemberIdentifier;
12 memberSymbol?: DocMemberSymbol;
13 selector?: DocMemberSelector;
14}
15/**
16 * Constructor parameters for {@link DocMemberReference}.
17 */
18export interface IDocMemberReferenceParsedParameters extends IDocNodeParsedParameters {
19 dotExcerpt?: TokenSequence;
20 spacingAfterDotExcerpt?: TokenSequence;
21 leftParenthesisExcerpt?: TokenSequence;
22 spacingAfterLeftParenthesisExcerpt?: TokenSequence;
23 memberIdentifier?: DocMemberIdentifier;
24 memberSymbol?: DocMemberSymbol;
25 spacingAfterMemberExcerpt?: TokenSequence;
26 colonExcerpt?: TokenSequence;
27 spacingAfterColonExcerpt?: TokenSequence;
28 selector?: DocMemberSelector;
29 spacingAfterSelectorExcerpt?: TokenSequence;
30 rightParenthesisExcerpt?: TokenSequence;
31 spacingAfterRightParenthesisExcerpt?: TokenSequence;
32}
33/**
34 * A {@link DocDeclarationReference | declaration reference} includes a chain of
35 * member references represented using `DocMemberReference` nodes.
36 *
37 * @remarks
38 * For example, `example-library#ui.controls.Button.(render:static)` is a
39 * declaration reference that contains three member references:
40 * `ui`, `.controls`, and `.Button`, and `.(render:static)`.
41 */
42export declare class DocMemberReference extends DocNode {
43 private readonly _hasDot;
44 private readonly _dotExcerpt;
45 private readonly _spacingAfterDotExcerpt;
46 private readonly _leftParenthesisExcerpt;
47 private readonly _spacingAfterLeftParenthesisExcerpt;
48 private readonly _memberIdentifier;
49 private readonly _memberSymbol;
50 private readonly _spacingAfterMemberExcerpt;
51 private readonly _colonExcerpt;
52 private readonly _spacingAfterColonExcerpt;
53 private readonly _selector;
54 private readonly _spacingAfterSelectorExcerpt;
55 private readonly _rightParenthesisExcerpt;
56 private readonly _spacingAfterRightParenthesisExcerpt;
57 /**
58 * Don't call this directly. Instead use {@link TSDocParser}
59 * @internal
60 */
61 constructor(parameters: IDocMemberReferenceParameters | IDocMemberReferenceParsedParameters);
62 /** @override */
63 get kind(): DocNodeKind | string;
64 /**
65 * True if this member reference is preceded by a dot (".") token.
66 * It should be false only for the first member in the chain.
67 */
68 get hasDot(): boolean;
69 /**
70 * The identifier for the referenced member.
71 * @remarks
72 * Either `memberIdentifier` or `memberSymbol` may be specified, but not both.
73 */
74 get memberIdentifier(): DocMemberIdentifier | undefined;
75 /**
76 * The ECMAScript 6 symbol expression, which may be used instead of an identifier
77 * to indicate the referenced member.
78 * @remarks
79 * Either `memberIdentifier` or `memberSymbol` may be specified, but not both.
80 */
81 get memberSymbol(): DocMemberSymbol | undefined;
82 /**
83 * A TSDoc selector, which may be optionally when the identifier or symbol is insufficient
84 * to unambiguously determine the referenced declaration.
85 */
86 get selector(): DocMemberSelector | undefined;
87 /** @override */
88 protected onGetChildNodes(): ReadonlyArray<DocNode | undefined>;
89}
90//# sourceMappingURL=DocMemberReference.d.ts.map
\No newline at end of file