Rush StackShopBlogEvents
Skip to main content

Home > @microsoft/api-extractor-model > Excerpt

Excerpt class

The Excerpt class is used by ApiDeclaredItem to represent a TypeScript code fragment that may be annotated with hyperlinks to declared types (and in the future, source code locations).

Signature:

export declare class Excerpt 

Remarks

API Extractor's .api.json file format stores excerpts compactly as a start/end indexes into an array of tokens. Every ApiDeclaredItem has a "main excerpt" corresponding to the full list of tokens. The declaration may also have have "captured" excerpts that correspond to subranges of tokens.

For example, if the main excerpt is:

function parse(s: string): Vector | undefined;

...then this entire signature is the "main excerpt", whereas the function's return type Vector | undefined is a captured excerpt. The Vector token might be a hyperlink to that API item.

An excerpt may be empty (i.e. a token range containing zero tokens). For example, if a function's return value is not explicitly declared, then the returnTypeExcerpt will be empty. By contrast, a class constructor cannot have a return value, so ApiConstructor has no returnTypeExcerpt property at all.

Constructors

Constructor

Modifiers

Description

(constructor)(tokens, tokenRange)

Constructs a new instance of the Excerpt class

Properties

Property

Modifiers

Type

Description

isEmpty

readonly

boolean

Returns true if the excerpt is an empty range.

spannedTokens

readonly

ReadonlyArray<ExcerptToken>

The tokens spanned by this excerpt. It is the range of the tokens array as specified by the tokenRange property.

text

readonly

string

The excerpted text, formed by concatenating the text of the spannedTokens strings.

tokenRange

readonly

Readonly<IExcerptTokenRange>

Specifies the excerpt's range within the tokens array.

tokens

readonly

ReadonlyArray<ExcerptToken>

The complete list of tokens for the source code fragment that this excerpt is based upon. If this object is the main excerpt, then it will span all of the tokens; otherwise, it will correspond to a range within the array.