This commit is contained in:
2024-02-07 01:33:07 -05:00
commit c1af19d441
4088 changed files with 1260170 additions and 0 deletions

View File

@ -0,0 +1,5 @@
import { TSDocConfiguration } from '../configuration/TSDocConfiguration';
export declare class BuiltInDocNodes {
static register(configuration: TSDocConfiguration): void;
}
//# sourceMappingURL=BuiltInDocNodes.d.ts.map

View File

@ -0,0 +1 @@
{"version":3,"file":"BuiltInDocNodes.d.ts","sourceRoot":"","sources":["../../src/nodes/BuiltInDocNodes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAKzE,qBAAa,eAAe;WACZ,QAAQ,CAAC,aAAa,EAAE,kBAAkB,GAAG,IAAI;CAmDhE"}

View File

@ -0,0 +1,57 @@
import { DocNodeKind } from './DocNode';
import * as nodes from '..';
var BuiltInDocNodes = /** @class */ (function () {
function BuiltInDocNodes() {
}
BuiltInDocNodes.register = function (configuration) {
var docNodeManager = configuration.docNodeManager;
docNodeManager.registerDocNodes('@microsoft/tsdoc', [
{ docNodeKind: DocNodeKind.Block, constructor: nodes.DocBlock },
{ docNodeKind: DocNodeKind.BlockTag, constructor: nodes.DocBlockTag },
{ docNodeKind: DocNodeKind.CodeSpan, constructor: nodes.DocCodeSpan },
{ docNodeKind: DocNodeKind.Comment, constructor: nodes.DocComment },
{ docNodeKind: DocNodeKind.DeclarationReference, constructor: nodes.DocDeclarationReference },
{ docNodeKind: DocNodeKind.ErrorText, constructor: nodes.DocErrorText },
{ docNodeKind: DocNodeKind.EscapedText, constructor: nodes.DocEscapedText },
{ docNodeKind: DocNodeKind.Excerpt, constructor: nodes.DocExcerpt },
{ docNodeKind: DocNodeKind.FencedCode, constructor: nodes.DocFencedCode },
{ docNodeKind: DocNodeKind.HtmlAttribute, constructor: nodes.DocHtmlAttribute },
{ docNodeKind: DocNodeKind.HtmlEndTag, constructor: nodes.DocHtmlEndTag },
{ docNodeKind: DocNodeKind.HtmlStartTag, constructor: nodes.DocHtmlStartTag },
{ docNodeKind: DocNodeKind.InheritDocTag, constructor: nodes.DocInheritDocTag },
{ docNodeKind: DocNodeKind.InlineTag, constructor: nodes.DocInlineTag },
{ docNodeKind: DocNodeKind.LinkTag, constructor: nodes.DocLinkTag },
{ docNodeKind: DocNodeKind.MemberIdentifier, constructor: nodes.DocMemberIdentifier },
{ docNodeKind: DocNodeKind.MemberReference, constructor: nodes.DocMemberReference },
{ docNodeKind: DocNodeKind.MemberSelector, constructor: nodes.DocMemberSelector },
{ docNodeKind: DocNodeKind.MemberSymbol, constructor: nodes.DocMemberSymbol },
{ docNodeKind: DocNodeKind.Paragraph, constructor: nodes.DocParagraph },
{ docNodeKind: DocNodeKind.ParamBlock, constructor: nodes.DocParamBlock },
{ docNodeKind: DocNodeKind.ParamCollection, constructor: nodes.DocParamCollection },
{ docNodeKind: DocNodeKind.PlainText, constructor: nodes.DocPlainText },
{ docNodeKind: DocNodeKind.Section, constructor: nodes.DocSection },
{ docNodeKind: DocNodeKind.SoftBreak, constructor: nodes.DocSoftBreak }
]);
docNodeManager.registerAllowableChildren(DocNodeKind.Section, [
DocNodeKind.FencedCode,
DocNodeKind.Paragraph,
DocNodeKind.HtmlStartTag,
DocNodeKind.HtmlEndTag
]);
docNodeManager.registerAllowableChildren(DocNodeKind.Paragraph, [
DocNodeKind.BlockTag,
DocNodeKind.CodeSpan,
DocNodeKind.ErrorText,
DocNodeKind.EscapedText,
DocNodeKind.HtmlStartTag,
DocNodeKind.HtmlEndTag,
DocNodeKind.InlineTag,
DocNodeKind.LinkTag,
DocNodeKind.PlainText,
DocNodeKind.SoftBreak
]);
};
return BuiltInDocNodes;
}());
export { BuiltInDocNodes };
//# sourceMappingURL=BuiltInDocNodes.js.map

File diff suppressed because one or more lines are too long

41
node_modules/@microsoft/tsdoc/lib/nodes/DocBlock.d.ts generated vendored Normal file
View File

@ -0,0 +1,41 @@
import { DocNodeKind, DocNode, IDocNodeParameters, IDocNodeParsedParameters } from './DocNode';
import { DocSection } from './DocSection';
import { DocBlockTag } from './DocBlockTag';
/**
* Constructor parameters for {@link DocBlock}.
*/
export interface IDocBlockParameters extends IDocNodeParameters {
blockTag: DocBlockTag;
}
/**
* Constructor parameters for {@link DocBlock}.
*/
export interface IDocBlockParsedParameters extends IDocNodeParsedParameters {
blockTag: DocBlockTag;
}
/**
* Represents a section that is introduced by a TSDoc block tag.
* For example, an `@example` block.
*/
export declare class DocBlock extends DocNode {
private readonly _blockTag;
private readonly _content;
/**
* Don't call this directly. Instead use {@link TSDocParser}
* @internal
*/
constructor(parameters: IDocBlockParameters | IDocBlockParsedParameters);
/** @override */
get kind(): DocNodeKind | string;
/**
* The TSDoc tag that introduces this section.
*/
get blockTag(): DocBlockTag;
/**
* The TSDoc tag that introduces this section.
*/
get content(): DocSection;
/** @override */
protected onGetChildNodes(): ReadonlyArray<DocNode | undefined>;
}
//# sourceMappingURL=DocBlock.d.ts.map

View File

@ -0,0 +1 @@
{"version":3,"file":"DocBlock.d.ts","sourceRoot":"","sources":["../../src/nodes/DocBlock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AAC/F,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C;;GAEG;AACH,MAAM,WAAW,mBAAoB,SAAQ,kBAAkB;IAC7D,QAAQ,EAAE,WAAW,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,yBAA0B,SAAQ,wBAAwB;IACzE,QAAQ,EAAE,WAAW,CAAC;CACvB;AAED;;;GAGG;AACH,qBAAa,QAAS,SAAQ,OAAO;IACnC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAc;IACxC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAa;IAEtC;;;OAGG;gBACgB,UAAU,EAAE,mBAAmB,GAAG,yBAAyB;IAM9E,gBAAgB;IAChB,IAAW,IAAI,IAAI,WAAW,GAAG,MAAM,CAEtC;IAED;;OAEG;IACH,IAAW,QAAQ,IAAI,WAAW,CAEjC;IAED;;OAEG;IACH,IAAW,OAAO,IAAI,UAAU,CAE/B;IAED,gBAAgB;IAChB,SAAS,CAAC,eAAe,IAAI,aAAa,CAAC,OAAO,GAAG,SAAS,CAAC;CAGhE"}

67
node_modules/@microsoft/tsdoc/lib/nodes/DocBlock.js generated vendored Normal file
View File

@ -0,0 +1,67 @@
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
import { DocNodeKind, DocNode } from './DocNode';
import { DocSection } from './DocSection';
/**
* Represents a section that is introduced by a TSDoc block tag.
* For example, an `@example` block.
*/
var DocBlock = /** @class */ (function (_super) {
__extends(DocBlock, _super);
/**
* Don't call this directly. Instead use {@link TSDocParser}
* @internal
*/
function DocBlock(parameters) {
var _this = _super.call(this, parameters) || this;
_this._blockTag = parameters.blockTag;
_this._content = new DocSection({ configuration: _this.configuration });
return _this;
}
Object.defineProperty(DocBlock.prototype, "kind", {
/** @override */
get: function () {
return DocNodeKind.Block;
},
enumerable: false,
configurable: true
});
Object.defineProperty(DocBlock.prototype, "blockTag", {
/**
* The TSDoc tag that introduces this section.
*/
get: function () {
return this._blockTag;
},
enumerable: false,
configurable: true
});
Object.defineProperty(DocBlock.prototype, "content", {
/**
* The TSDoc tag that introduces this section.
*/
get: function () {
return this._content;
},
enumerable: false,
configurable: true
});
/** @override */
DocBlock.prototype.onGetChildNodes = function () {
return [this.blockTag, this._content];
};
return DocBlock;
}(DocNode));
export { DocBlock };
//# sourceMappingURL=DocBlock.js.map

View File

@ -0,0 +1 @@
{"version":3,"file":"DocBlock.js","sourceRoot":"","sources":["../../src/nodes/DocBlock.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,OAAO,EAAE,WAAW,EAAE,OAAO,EAAgD,MAAM,WAAW,CAAC;AAC/F,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAiB1C;;;GAGG;AACH;IAA8B,4BAAO;IAInC;;;OAGG;IACH,kBAAmB,UAA2D;QAA9E,YACE,kBAAM,UAAU,CAAC,SAGlB;QAFC,KAAI,CAAC,SAAS,GAAG,UAAU,CAAC,QAAQ,CAAC;QACrC,KAAI,CAAC,QAAQ,GAAG,IAAI,UAAU,CAAC,EAAE,aAAa,EAAE,KAAI,CAAC,aAAa,EAAE,CAAC,CAAC;;IACxE,CAAC;IAGD,sBAAW,0BAAI;QADf,gBAAgB;aAChB;YACE,OAAO,WAAW,CAAC,KAAK,CAAC;QAC3B,CAAC;;;OAAA;IAKD,sBAAW,8BAAQ;QAHnB;;WAEG;aACH;YACE,OAAO,IAAI,CAAC,SAAS,CAAC;QACxB,CAAC;;;OAAA;IAKD,sBAAW,6BAAO;QAHlB;;WAEG;aACH;YACE,OAAO,IAAI,CAAC,QAAQ,CAAC;QACvB,CAAC;;;OAAA;IAED,gBAAgB;IACN,kCAAe,GAAzB;QACE,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACxC,CAAC;IACH,eAAC;AAAD,CAAC,AArCD,CAA8B,OAAO,GAqCpC","sourcesContent":["import { DocNodeKind, DocNode, IDocNodeParameters, IDocNodeParsedParameters } from './DocNode';\r\nimport { DocSection } from './DocSection';\r\nimport { DocBlockTag } from './DocBlockTag';\r\n\r\n/**\r\n * Constructor parameters for {@link DocBlock}.\r\n */\r\nexport interface IDocBlockParameters extends IDocNodeParameters {\r\n blockTag: DocBlockTag;\r\n}\r\n\r\n/**\r\n * Constructor parameters for {@link DocBlock}.\r\n */\r\nexport interface IDocBlockParsedParameters extends IDocNodeParsedParameters {\r\n blockTag: DocBlockTag;\r\n}\r\n\r\n/**\r\n * Represents a section that is introduced by a TSDoc block tag.\r\n * For example, an `@example` block.\r\n */\r\nexport class DocBlock extends DocNode {\r\n private readonly _blockTag: DocBlockTag;\r\n private readonly _content: DocSection;\r\n\r\n /**\r\n * Don't call this directly. Instead use {@link TSDocParser}\r\n * @internal\r\n */\r\n public constructor(parameters: IDocBlockParameters | IDocBlockParsedParameters) {\r\n super(parameters);\r\n this._blockTag = parameters.blockTag;\r\n this._content = new DocSection({ configuration: this.configuration });\r\n }\r\n\r\n /** @override */\r\n public get kind(): DocNodeKind | string {\r\n return DocNodeKind.Block;\r\n }\r\n\r\n /**\r\n * The TSDoc tag that introduces this section.\r\n */\r\n public get blockTag(): DocBlockTag {\r\n return this._blockTag;\r\n }\r\n\r\n /**\r\n * The TSDoc tag that introduces this section.\r\n */\r\n public get content(): DocSection {\r\n return this._content;\r\n }\r\n\r\n /** @override */\r\n protected onGetChildNodes(): ReadonlyArray<DocNode | undefined> {\r\n return [this.blockTag, this._content];\r\n }\r\n}\r\n"]}

View File

@ -0,0 +1,44 @@
import { DocNodeKind, DocNode, IDocNodeParameters, IDocNodeParsedParameters } from './DocNode';
import { TokenSequence } from '../parser/TokenSequence';
/**
* Constructor parameters for {@link DocBlockTag}.
*/
export interface IDocBlockTagParameters extends IDocNodeParameters {
tagName: string;
}
/**
* Constructor parameters for {@link DocBlockTag}.
*/
export interface IDocBlockTagParsedParameters extends IDocNodeParsedParameters {
tagName: string;
tagNameExcerpt: TokenSequence;
}
/**
* Represents a TSDoc block tag such as `@param` or `@public`.
*/
export declare class DocBlockTag extends DocNode {
private readonly _tagName;
private readonly _tagNameWithUpperCase;
private readonly _tagNameExcerpt;
/**
* Don't call this directly. Instead use {@link TSDocParser}
* @internal
*/
constructor(parameters: IDocBlockTagParameters | IDocBlockTagParsedParameters);
/** @override */
get kind(): DocNodeKind | string;
/**
* The TSDoc tag name. TSDoc tag names start with an at-sign (`@`) followed
* by ASCII letters using "camelCase" capitalization.
*/
get tagName(): string;
/**
* The TSDoc tag name in all capitals, which is used for performing
* case-insensitive comparisons or lookups.
*/
get tagNameWithUpperCase(): string;
/** @override */
protected onGetChildNodes(): ReadonlyArray<DocNode | undefined>;
getTokenSequence(): TokenSequence;
}
//# sourceMappingURL=DocBlockTag.d.ts.map

View File

@ -0,0 +1 @@
{"version":3,"file":"DocBlockTag.d.ts","sourceRoot":"","sources":["../../src/nodes/DocBlockTag.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AAE/F,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAGxD;;GAEG;AACH,MAAM,WAAW,sBAAuB,SAAQ,kBAAkB;IAChE,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,4BAA6B,SAAQ,wBAAwB;IAC5E,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,aAAa,CAAC;CAC/B;AAED;;GAEG;AACH,qBAAa,WAAY,SAAQ,OAAO;IACtC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAS;IAC/C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAyB;IAEzD;;;OAGG;gBACgB,UAAU,EAAE,sBAAsB,GAAG,4BAA4B;IAgBpF,gBAAgB;IAChB,IAAW,IAAI,IAAI,WAAW,GAAG,MAAM,CAEtC;IAED;;;OAGG;IACH,IAAW,OAAO,IAAI,MAAM,CAE3B;IAED;;;OAGG;IACH,IAAW,oBAAoB,IAAI,MAAM,CAExC;IAED,gBAAgB;IAChB,SAAS,CAAC,eAAe,IAAI,aAAa,CAAC,OAAO,GAAG,SAAS,CAAC;IAIxD,gBAAgB,IAAI,aAAa;CAQzC"}

83
node_modules/@microsoft/tsdoc/lib/nodes/DocBlockTag.js generated vendored Normal file
View File

@ -0,0 +1,83 @@
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
import { DocNodeKind, DocNode } from './DocNode';
import { StringChecks } from '../parser/StringChecks';
import { DocExcerpt, ExcerptKind } from './DocExcerpt';
/**
* Represents a TSDoc block tag such as `@param` or `@public`.
*/
var DocBlockTag = /** @class */ (function (_super) {
__extends(DocBlockTag, _super);
/**
* Don't call this directly. Instead use {@link TSDocParser}
* @internal
*/
function DocBlockTag(parameters) {
var _this = _super.call(this, parameters) || this;
StringChecks.validateTSDocTagName(parameters.tagName);
_this._tagName = parameters.tagName;
_this._tagNameWithUpperCase = parameters.tagName.toUpperCase();
if (DocNode.isParsedParameters(parameters)) {
_this._tagNameExcerpt = new DocExcerpt({
configuration: _this.configuration,
excerptKind: ExcerptKind.BlockTag,
content: parameters.tagNameExcerpt
});
}
return _this;
}
Object.defineProperty(DocBlockTag.prototype, "kind", {
/** @override */
get: function () {
return DocNodeKind.BlockTag;
},
enumerable: false,
configurable: true
});
Object.defineProperty(DocBlockTag.prototype, "tagName", {
/**
* The TSDoc tag name. TSDoc tag names start with an at-sign (`@`) followed
* by ASCII letters using "camelCase" capitalization.
*/
get: function () {
return this._tagName;
},
enumerable: false,
configurable: true
});
Object.defineProperty(DocBlockTag.prototype, "tagNameWithUpperCase", {
/**
* The TSDoc tag name in all capitals, which is used for performing
* case-insensitive comparisons or lookups.
*/
get: function () {
return this._tagNameWithUpperCase;
},
enumerable: false,
configurable: true
});
/** @override */
DocBlockTag.prototype.onGetChildNodes = function () {
return [this._tagNameExcerpt];
};
DocBlockTag.prototype.getTokenSequence = function () {
if (!this._tagNameExcerpt) {
throw new Error('DocBlockTag.getTokenSequence() failed because this object did not originate from a parsed input');
}
return this._tagNameExcerpt.content;
};
return DocBlockTag;
}(DocNode));
export { DocBlockTag };
//# sourceMappingURL=DocBlockTag.js.map

View File

@ -0,0 +1 @@
{"version":3,"file":"DocBlockTag.js","sourceRoot":"","sources":["../../src/nodes/DocBlockTag.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,OAAO,EAAE,WAAW,EAAE,OAAO,EAAgD,MAAM,WAAW,CAAC;AAC/F,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAiBvD;;GAEG;AACH;IAAiC,+BAAO;IAKtC;;;OAGG;IACH,qBAAmB,UAAiE;QAApF,YACE,kBAAM,UAAU,CAAC,SAalB;QAXC,YAAY,CAAC,oBAAoB,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACtD,KAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC;QACnC,KAAI,CAAC,qBAAqB,GAAG,UAAU,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;QAE9D,IAAI,OAAO,CAAC,kBAAkB,CAAC,UAAU,CAAC,EAAE;YAC1C,KAAI,CAAC,eAAe,GAAG,IAAI,UAAU,CAAC;gBACpC,aAAa,EAAE,KAAI,CAAC,aAAa;gBACjC,WAAW,EAAE,WAAW,CAAC,QAAQ;gBACjC,OAAO,EAAE,UAAU,CAAC,cAAc;aACnC,CAAC,CAAC;SACJ;;IACH,CAAC;IAGD,sBAAW,6BAAI;QADf,gBAAgB;aAChB;YACE,OAAO,WAAW,CAAC,QAAQ,CAAC;QAC9B,CAAC;;;OAAA;IAMD,sBAAW,gCAAO;QAJlB;;;WAGG;aACH;YACE,OAAO,IAAI,CAAC,QAAQ,CAAC;QACvB,CAAC;;;OAAA;IAMD,sBAAW,6CAAoB;QAJ/B;;;WAGG;aACH;YACE,OAAO,IAAI,CAAC,qBAAqB,CAAC;QACpC,CAAC;;;OAAA;IAED,gBAAgB;IACN,qCAAe,GAAzB;QACE,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAChC,CAAC;IAEM,sCAAgB,GAAvB;QACE,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;YACzB,MAAM,IAAI,KAAK,CACb,iGAAiG,CAClG,CAAC;SACH;QACD,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC;IACtC,CAAC;IACH,kBAAC;AAAD,CAAC,AA3DD,CAAiC,OAAO,GA2DvC","sourcesContent":["import { DocNodeKind, DocNode, IDocNodeParameters, IDocNodeParsedParameters } from './DocNode';\r\nimport { StringChecks } from '../parser/StringChecks';\r\nimport { TokenSequence } from '../parser/TokenSequence';\r\nimport { DocExcerpt, ExcerptKind } from './DocExcerpt';\r\n\r\n/**\r\n * Constructor parameters for {@link DocBlockTag}.\r\n */\r\nexport interface IDocBlockTagParameters extends IDocNodeParameters {\r\n tagName: string;\r\n}\r\n\r\n/**\r\n * Constructor parameters for {@link DocBlockTag}.\r\n */\r\nexport interface IDocBlockTagParsedParameters extends IDocNodeParsedParameters {\r\n tagName: string;\r\n tagNameExcerpt: TokenSequence;\r\n}\r\n\r\n/**\r\n * Represents a TSDoc block tag such as `@param` or `@public`.\r\n */\r\nexport class DocBlockTag extends DocNode {\r\n private readonly _tagName: string;\r\n private readonly _tagNameWithUpperCase: string;\r\n private readonly _tagNameExcerpt: DocExcerpt | undefined;\r\n\r\n /**\r\n * Don't call this directly. Instead use {@link TSDocParser}\r\n * @internal\r\n */\r\n public constructor(parameters: IDocBlockTagParameters | IDocBlockTagParsedParameters) {\r\n super(parameters);\r\n\r\n StringChecks.validateTSDocTagName(parameters.tagName);\r\n this._tagName = parameters.tagName;\r\n this._tagNameWithUpperCase = parameters.tagName.toUpperCase();\r\n\r\n if (DocNode.isParsedParameters(parameters)) {\r\n this._tagNameExcerpt = new DocExcerpt({\r\n configuration: this.configuration,\r\n excerptKind: ExcerptKind.BlockTag,\r\n content: parameters.tagNameExcerpt\r\n });\r\n }\r\n }\r\n\r\n /** @override */\r\n public get kind(): DocNodeKind | string {\r\n return DocNodeKind.BlockTag;\r\n }\r\n\r\n /**\r\n * The TSDoc tag name. TSDoc tag names start with an at-sign (`@`) followed\r\n * by ASCII letters using \"camelCase\" capitalization.\r\n */\r\n public get tagName(): string {\r\n return this._tagName;\r\n }\r\n\r\n /**\r\n * The TSDoc tag name in all capitals, which is used for performing\r\n * case-insensitive comparisons or lookups.\r\n */\r\n public get tagNameWithUpperCase(): string {\r\n return this._tagNameWithUpperCase;\r\n }\r\n\r\n /** @override */\r\n protected onGetChildNodes(): ReadonlyArray<DocNode | undefined> {\r\n return [this._tagNameExcerpt];\r\n }\r\n\r\n public getTokenSequence(): TokenSequence {\r\n if (!this._tagNameExcerpt) {\r\n throw new Error(\r\n 'DocBlockTag.getTokenSequence() failed because this object did not originate from a parsed input'\r\n );\r\n }\r\n return this._tagNameExcerpt.content;\r\n }\r\n}\r\n"]}

View File

@ -0,0 +1,40 @@
import { DocNodeKind, IDocNodeParameters, DocNode, IDocNodeParsedParameters } from './DocNode';
import { TokenSequence } from '../parser/TokenSequence';
/**
* Constructor parameters for {@link DocCodeSpan}.
*/
export interface IDocCodeSpanParameters extends IDocNodeParameters {
code: string;
}
/**
* Constructor parameters for {@link DocCodeSpan}.
*/
export interface IDocCodeSpanParsedParameters extends IDocNodeParsedParameters {
openingDelimiterExcerpt: TokenSequence;
codeExcerpt: TokenSequence;
closingDelimiterExcerpt: TokenSequence;
}
/**
* Represents CommonMark-style code span, i.e. code surrounded by
* backtick characters.
*/
export declare class DocCodeSpan extends DocNode {
private readonly _openingDelimiterExcerpt;
private _code;
private readonly _codeExcerpt;
private readonly _closingDelimiterExcerpt;
/**
* Don't call this directly. Instead use {@link TSDocParser}
* @internal
*/
constructor(parameters: IDocCodeSpanParameters | IDocCodeSpanParsedParameters);
/** @override */
get kind(): DocNodeKind | string;
/**
* The text that should be rendered as code, excluding the backtick delimiters.
*/
get code(): string;
/** @override */
protected onGetChildNodes(): ReadonlyArray<DocNode | undefined>;
}
//# sourceMappingURL=DocCodeSpan.d.ts.map

View File

@ -0,0 +1 @@
{"version":3,"file":"DocCodeSpan.d.ts","sourceRoot":"","sources":["../../src/nodes/DocCodeSpan.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AAC/F,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAGxD;;GAEG;AACH,MAAM,WAAW,sBAAuB,SAAQ,kBAAkB;IAChE,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,4BAA6B,SAAQ,wBAAwB;IAC5E,uBAAuB,EAAE,aAAa,CAAC;IAEvC,WAAW,EAAE,aAAa,CAAC;IAE3B,uBAAuB,EAAE,aAAa,CAAC;CACxC;AAED;;;GAGG;AACH,qBAAa,WAAY,SAAQ,OAAO;IAEtC,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAyB;IAGlE,OAAO,CAAC,KAAK,CAAqB;IAClC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAyB;IAGtD,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAyB;IAElE;;;OAGG;gBACgB,UAAU,EAAE,sBAAsB,GAAG,4BAA4B;IAwBpF,gBAAgB;IAChB,IAAW,IAAI,IAAI,WAAW,GAAG,MAAM,CAEtC;IAED;;OAEG;IACH,IAAW,IAAI,IAAI,MAAM,CAKxB;IAED,gBAAgB;IAChB,SAAS,CAAC,eAAe,IAAI,aAAa,CAAC,OAAO,GAAG,SAAS,CAAC;CAGhE"}

78
node_modules/@microsoft/tsdoc/lib/nodes/DocCodeSpan.js generated vendored Normal file
View File

@ -0,0 +1,78 @@
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
import { DocNodeKind, DocNode } from './DocNode';
import { DocExcerpt, ExcerptKind } from './DocExcerpt';
/**
* Represents CommonMark-style code span, i.e. code surrounded by
* backtick characters.
*/
var DocCodeSpan = /** @class */ (function (_super) {
__extends(DocCodeSpan, _super);
/**
* Don't call this directly. Instead use {@link TSDocParser}
* @internal
*/
function DocCodeSpan(parameters) {
var _this = _super.call(this, parameters) || this;
if (DocNode.isParsedParameters(parameters)) {
_this._openingDelimiterExcerpt = new DocExcerpt({
configuration: _this.configuration,
excerptKind: ExcerptKind.CodeSpan_OpeningDelimiter,
content: parameters.openingDelimiterExcerpt
});
_this._codeExcerpt = new DocExcerpt({
configuration: _this.configuration,
excerptKind: ExcerptKind.CodeSpan_Code,
content: parameters.codeExcerpt
});
_this._closingDelimiterExcerpt = new DocExcerpt({
configuration: _this.configuration,
excerptKind: ExcerptKind.CodeSpan_ClosingDelimiter,
content: parameters.closingDelimiterExcerpt
});
}
else {
_this._code = parameters.code;
}
return _this;
}
Object.defineProperty(DocCodeSpan.prototype, "kind", {
/** @override */
get: function () {
return DocNodeKind.CodeSpan;
},
enumerable: false,
configurable: true
});
Object.defineProperty(DocCodeSpan.prototype, "code", {
/**
* The text that should be rendered as code, excluding the backtick delimiters.
*/
get: function () {
if (this._code === undefined) {
this._code = this._codeExcerpt.content.toString();
}
return this._code;
},
enumerable: false,
configurable: true
});
/** @override */
DocCodeSpan.prototype.onGetChildNodes = function () {
return [this._openingDelimiterExcerpt, this._codeExcerpt, this._closingDelimiterExcerpt];
};
return DocCodeSpan;
}(DocNode));
export { DocCodeSpan };
//# sourceMappingURL=DocCodeSpan.js.map

View File

@ -0,0 +1 @@
{"version":3,"file":"DocCodeSpan.js","sourceRoot":"","sources":["../../src/nodes/DocCodeSpan.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,OAAO,EAAE,WAAW,EAAsB,OAAO,EAA4B,MAAM,WAAW,CAAC;AAE/F,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAoBvD;;;GAGG;AACH;IAAiC,+BAAO;IAWtC;;;OAGG;IACH,qBAAmB,UAAiE;QAApF,YACE,kBAAM,UAAU,CAAC,SAqBlB;QAnBC,IAAI,OAAO,CAAC,kBAAkB,CAAC,UAAU,CAAC,EAAE;YAC1C,KAAI,CAAC,wBAAwB,GAAG,IAAI,UAAU,CAAC;gBAC7C,aAAa,EAAE,KAAI,CAAC,aAAa;gBACjC,WAAW,EAAE,WAAW,CAAC,yBAAyB;gBAClD,OAAO,EAAE,UAAU,CAAC,uBAAuB;aAC5C,CAAC,CAAC;YACH,KAAI,CAAC,YAAY,GAAG,IAAI,UAAU,CAAC;gBACjC,aAAa,EAAE,KAAI,CAAC,aAAa;gBACjC,WAAW,EAAE,WAAW,CAAC,aAAa;gBACtC,OAAO,EAAE,UAAU,CAAC,WAAW;aAChC,CAAC,CAAC;YACH,KAAI,CAAC,wBAAwB,GAAG,IAAI,UAAU,CAAC;gBAC7C,aAAa,EAAE,KAAI,CAAC,aAAa;gBACjC,WAAW,EAAE,WAAW,CAAC,yBAAyB;gBAClD,OAAO,EAAE,UAAU,CAAC,uBAAuB;aAC5C,CAAC,CAAC;SACJ;aAAM;YACL,KAAI,CAAC,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC;SAC9B;;IACH,CAAC;IAGD,sBAAW,6BAAI;QADf,gBAAgB;aAChB;YACE,OAAO,WAAW,CAAC,QAAQ,CAAC;QAC9B,CAAC;;;OAAA;IAKD,sBAAW,6BAAI;QAHf;;WAEG;aACH;YACE,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE;gBAC5B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,YAAa,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;aACpD;YACD,OAAO,IAAI,CAAC,KAAK,CAAC;QACpB,CAAC;;;OAAA;IAED,gBAAgB;IACN,qCAAe,GAAzB;QACE,OAAO,CAAC,IAAI,CAAC,wBAAwB,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,wBAAwB,CAAC,CAAC;IAC3F,CAAC;IACH,kBAAC;AAAD,CAAC,AA1DD,CAAiC,OAAO,GA0DvC","sourcesContent":["import { DocNodeKind, IDocNodeParameters, DocNode, IDocNodeParsedParameters } from './DocNode';\r\nimport { TokenSequence } from '../parser/TokenSequence';\r\nimport { DocExcerpt, ExcerptKind } from './DocExcerpt';\r\n\r\n/**\r\n * Constructor parameters for {@link DocCodeSpan}.\r\n */\r\nexport interface IDocCodeSpanParameters extends IDocNodeParameters {\r\n code: string;\r\n}\r\n\r\n/**\r\n * Constructor parameters for {@link DocCodeSpan}.\r\n */\r\nexport interface IDocCodeSpanParsedParameters extends IDocNodeParsedParameters {\r\n openingDelimiterExcerpt: TokenSequence;\r\n\r\n codeExcerpt: TokenSequence;\r\n\r\n closingDelimiterExcerpt: TokenSequence;\r\n}\r\n\r\n/**\r\n * Represents CommonMark-style code span, i.e. code surrounded by\r\n * backtick characters.\r\n */\r\nexport class DocCodeSpan extends DocNode {\r\n // The opening ` delimiter\r\n private readonly _openingDelimiterExcerpt: DocExcerpt | undefined;\r\n\r\n // The code content\r\n private _code: string | undefined;\r\n private readonly _codeExcerpt: DocExcerpt | undefined;\r\n\r\n // The closing ` delimiter\r\n private readonly _closingDelimiterExcerpt: DocExcerpt | undefined;\r\n\r\n /**\r\n * Don't call this directly. Instead use {@link TSDocParser}\r\n * @internal\r\n */\r\n public constructor(parameters: IDocCodeSpanParameters | IDocCodeSpanParsedParameters) {\r\n super(parameters);\r\n\r\n if (DocNode.isParsedParameters(parameters)) {\r\n this._openingDelimiterExcerpt = new DocExcerpt({\r\n configuration: this.configuration,\r\n excerptKind: ExcerptKind.CodeSpan_OpeningDelimiter,\r\n content: parameters.openingDelimiterExcerpt\r\n });\r\n this._codeExcerpt = new DocExcerpt({\r\n configuration: this.configuration,\r\n excerptKind: ExcerptKind.CodeSpan_Code,\r\n content: parameters.codeExcerpt\r\n });\r\n this._closingDelimiterExcerpt = new DocExcerpt({\r\n configuration: this.configuration,\r\n excerptKind: ExcerptKind.CodeSpan_ClosingDelimiter,\r\n content: parameters.closingDelimiterExcerpt\r\n });\r\n } else {\r\n this._code = parameters.code;\r\n }\r\n }\r\n\r\n /** @override */\r\n public get kind(): DocNodeKind | string {\r\n return DocNodeKind.CodeSpan;\r\n }\r\n\r\n /**\r\n * The text that should be rendered as code, excluding the backtick delimiters.\r\n */\r\n public get code(): string {\r\n if (this._code === undefined) {\r\n this._code = this._codeExcerpt!.content.toString();\r\n }\r\n return this._code;\r\n }\r\n\r\n /** @override */\r\n protected onGetChildNodes(): ReadonlyArray<DocNode | undefined> {\r\n return [this._openingDelimiterExcerpt, this._codeExcerpt, this._closingDelimiterExcerpt];\r\n }\r\n}\r\n"]}

120
node_modules/@microsoft/tsdoc/lib/nodes/DocComment.d.ts generated vendored Normal file
View File

@ -0,0 +1,120 @@
import { DocNode, DocNodeKind, IDocNodeParameters } from './DocNode';
import { DocSection } from './DocSection';
import { StandardModifierTagSet } from '../details/StandardModifierTagSet';
import { DocBlock } from './DocBlock';
import { DocInheritDocTag } from './DocInheritDocTag';
import { DocParamCollection } from './DocParamCollection';
/**
* Constructor parameters for {@link DocComment}.
*/
export interface IDocCommentParameters extends IDocNodeParameters {
}
/**
* Represents an entire documentation comment conforming to the TSDoc structure.
* This is the root of the DocNode tree.
*/
export declare class DocComment extends DocNode {
/**
* The main documentation for an API item is separated into a brief "summary" section,
* optionally followed by an `@remarks` block containing additional details.
*
* @remarks
* The summary section should be brief. On a documentation web site, it will be shown
* on a page that lists summaries for many different API items. On a detail page for
* a single item, the summary will be shown followed by the remarks section (if any).
*/
summarySection: DocSection;
/**
* The main documentation for an API item is separated into a brief "summary" section
* optionally followed by an `@remarks` block containing additional details.
*
* @remarks
* Unlike the summary, the remarks block may contain lengthy documentation content.
* The remarks should not restate information from the summary, since the summary section
* will always be displayed wherever the remarks section appears. Other sections
* (e.g. an `@example` block) will be shown after the remarks section.
*/
remarksBlock: DocBlock | undefined;
/**
* The `@privateRemarks` tag starts a block of additional commentary that is not meant
* for an external audience. A documentation tool must omit this content from an
* API reference web site. It should also be omitted when generating a normalized
* *.d.ts file intended for third-party developers.
*
* @remarks
* A similar effect could be accomplished by enclosing content inside CommonMark
* `<!-- -->` comments, or by moving the content into a separate `//` TypeScript comment.
* However, the `@privateRemarks` tag is a more formal convention.
*/
privateRemarks: DocBlock | undefined;
/**
* If present, this block indicates that an API item is no loner supported and may be
* removed in a future release. The `@deprecated` tag must be followed by a sentence
* describing the recommended alternative. Deprecation recursively applies to members
* of a container. For example, if a class is deprecated, then so are all of its members.
*/
deprecatedBlock: DocBlock | undefined;
/**
* The collection of parsed `@param` blocks for this doc comment.
*/
readonly params: DocParamCollection;
/**
* The collection of parsed `@typeParam` blocks for this doc comment.
*/
readonly typeParams: DocParamCollection;
/**
* The `@returns` block for this doc comment, or undefined if there is not one.
*/
returnsBlock: DocBlock | undefined;
/**
* If this doc comment contains an `@inheritDoc` tag, it will be extracted and associated
* with the DocComment.
*/
inheritDocTag: DocInheritDocTag | undefined;
/**
* The modifier tags for this DocComment.
*/
readonly modifierTagSet: StandardModifierTagSet;
private _seeBlocks;
private _customBlocks;
/**
* Don't call this directly. Instead use {@link TSDocParser}
* @internal
*/
constructor(parameters: IDocCommentParameters);
/** @override */
get kind(): DocNodeKind | string;
/**
* The collection of all `@see` DockBlockTag nodes belonging to this doc comment.
*/
get seeBlocks(): ReadonlyArray<DocBlock>;
/**
* The collection of all DocBlock nodes belonging to this doc comment.
*/
get customBlocks(): ReadonlyArray<DocBlock>;
/**
* Append an item to the seeBlocks collection.
* @internal
*/
_appendSeeBlock(block: DocBlock): void;
/**
* Append an item to the customBlocks collection.
*/
appendCustomBlock(block: DocBlock): void;
/** @override */
protected onGetChildNodes(): ReadonlyArray<DocNode | undefined>;
/**
* Generates a doc comment corresponding to the `DocComment` tree. The output is in a normalized form,
* and may ignore formatting/spacing from the original input.
*
* @remarks
* After parsing a string, and possibly modifying the result, `emitAsTsdoc()` can be used to render the result
* as a doc comment in a normalized format. It can also be used to emit a `DocComment` tree that was constructed
* manually.
*
* This method is provided as convenience for simple use cases. To customize the output, or if you need
* to render into a `StringBuilder`, use the {@link TSDocEmitter} class instead.
*/
emitAsTsdoc(): string;
}
//# sourceMappingURL=DocComment.d.ts.map

View File

@ -0,0 +1 @@
{"version":3,"file":"DocComment.d.ts","sourceRoot":"","sources":["../../src/nodes/DocComment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAGtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D;;GAEG;AACH,MAAM,WAAW,qBAAsB,SAAQ,kBAAkB;CAAG;AAEpE;;;GAGG;AACH,qBAAa,UAAW,SAAQ,OAAO;IACrC;;;;;;;;OAQG;IACI,cAAc,EAAE,UAAU,CAAC;IAElC;;;;;;;;;OASG;IACI,YAAY,EAAE,QAAQ,GAAG,SAAS,CAAC;IAE1C;;;;;;;;;;OAUG;IACI,cAAc,EAAE,QAAQ,GAAG,SAAS,CAAC;IAE5C;;;;;OAKG;IACI,eAAe,EAAE,QAAQ,GAAG,SAAS,CAAC;IAE7C;;OAEG;IACH,SAAgB,MAAM,EAAE,kBAAkB,CAAC;IAE3C;;OAEG;IACH,SAAgB,UAAU,EAAE,kBAAkB,CAAC;IAE/C;;OAEG;IACI,YAAY,EAAE,QAAQ,GAAG,SAAS,CAAC;IAE1C;;;OAGG;IACI,aAAa,EAAE,gBAAgB,GAAG,SAAS,CAAC;IAEnD;;OAEG;IACH,SAAgB,cAAc,EAAE,sBAAsB,CAAC;IAEvD,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,aAAa,CAAa;IAElC;;;OAGG;gBACgB,UAAU,EAAE,qBAAqB;IAiBpD,gBAAgB;IAChB,IAAW,IAAI,IAAI,WAAW,GAAG,MAAM,CAEtC;IAED;;OAEG;IACH,IAAW,SAAS,IAAI,aAAa,CAAC,QAAQ,CAAC,CAE9C;IAED;;OAEG;IACH,IAAW,YAAY,IAAI,aAAa,CAAC,QAAQ,CAAC,CAEjD;IAED;;;OAGG;IACI,eAAe,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI;IAI7C;;OAEG;IACI,iBAAiB,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI;IAI/C,gBAAgB;IAChB,SAAS,CAAC,eAAe,IAAI,aAAa,CAAC,OAAO,GAAG,SAAS,CAAC;IAgB/D;;;;;;;;;;;OAWG;IACI,WAAW,IAAI,MAAM;CAM7B"}

127
node_modules/@microsoft/tsdoc/lib/nodes/DocComment.js generated vendored Normal file
View File

@ -0,0 +1,127 @@
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
var __spreadArrays = (this && this.__spreadArrays) || function () {
for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
for (var r = Array(s), k = 0, i = 0; i < il; i++)
for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
r[k] = a[j];
return r;
};
import { DocNode, DocNodeKind } from './DocNode';
import { DocSection } from './DocSection';
import { StandardModifierTagSet } from '../details/StandardModifierTagSet';
import { StringBuilder } from '../emitters/StringBuilder';
import { TSDocEmitter } from '../emitters/TSDocEmitter';
import { DocParamCollection } from './DocParamCollection';
/**
* Represents an entire documentation comment conforming to the TSDoc structure.
* This is the root of the DocNode tree.
*/
var DocComment = /** @class */ (function (_super) {
__extends(DocComment, _super);
/**
* Don't call this directly. Instead use {@link TSDocParser}
* @internal
*/
function DocComment(parameters) {
var _this = _super.call(this, parameters) || this;
_this.summarySection = new DocSection({ configuration: _this.configuration });
_this.remarksBlock = undefined;
_this.privateRemarks = undefined;
_this.deprecatedBlock = undefined;
_this.params = new DocParamCollection({ configuration: _this.configuration });
_this.typeParams = new DocParamCollection({ configuration: _this.configuration });
_this.returnsBlock = undefined;
_this.modifierTagSet = new StandardModifierTagSet();
_this._seeBlocks = [];
_this._customBlocks = [];
return _this;
}
Object.defineProperty(DocComment.prototype, "kind", {
/** @override */
get: function () {
return DocNodeKind.Comment;
},
enumerable: false,
configurable: true
});
Object.defineProperty(DocComment.prototype, "seeBlocks", {
/**
* The collection of all `@see` DockBlockTag nodes belonging to this doc comment.
*/
get: function () {
return this._seeBlocks;
},
enumerable: false,
configurable: true
});
Object.defineProperty(DocComment.prototype, "customBlocks", {
/**
* The collection of all DocBlock nodes belonging to this doc comment.
*/
get: function () {
return this._customBlocks;
},
enumerable: false,
configurable: true
});
/**
* Append an item to the seeBlocks collection.
* @internal
*/
DocComment.prototype._appendSeeBlock = function (block) {
this._seeBlocks.push(block);
};
/**
* Append an item to the customBlocks collection.
*/
DocComment.prototype.appendCustomBlock = function (block) {
this._customBlocks.push(block);
};
/** @override */
DocComment.prototype.onGetChildNodes = function () {
return __spreadArrays([
this.summarySection,
this.remarksBlock,
this.privateRemarks,
this.deprecatedBlock,
this.params.count > 0 ? this.params : undefined,
this.typeParams.count > 0 ? this.typeParams : undefined,
this.returnsBlock
], this.customBlocks, this.seeBlocks, [
this.inheritDocTag
], this.modifierTagSet.nodes);
};
/**
* Generates a doc comment corresponding to the `DocComment` tree. The output is in a normalized form,
* and may ignore formatting/spacing from the original input.
*
* @remarks
* After parsing a string, and possibly modifying the result, `emitAsTsdoc()` can be used to render the result
* as a doc comment in a normalized format. It can also be used to emit a `DocComment` tree that was constructed
* manually.
*
* This method is provided as convenience for simple use cases. To customize the output, or if you need
* to render into a `StringBuilder`, use the {@link TSDocEmitter} class instead.
*/
DocComment.prototype.emitAsTsdoc = function () {
var stringBuilder = new StringBuilder();
var emitter = new TSDocEmitter();
emitter.renderComment(stringBuilder, this);
return stringBuilder.toString();
};
return DocComment;
}(DocNode));
export { DocComment };
//# sourceMappingURL=DocComment.js.map

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,73 @@
import { DocNode, DocNodeKind, IDocNodeParameters, IDocNodeParsedParameters } from './DocNode';
import { DocMemberReference } from './DocMemberReference';
import { TokenSequence } from '../parser/TokenSequence';
/**
* Constructor parameters for {@link DocDeclarationReference}.
*/
export interface IDocDeclarationReferenceParameters extends IDocNodeParameters {
packageName?: string;
importPath?: string;
memberReferences?: DocMemberReference[];
}
/**
* Constructor parameters for {@link DocDeclarationReference}.
*/
export interface IDocDeclarationReferenceParsedParameters extends IDocNodeParsedParameters {
packageNameExcerpt?: TokenSequence;
importPathExcerpt?: TokenSequence;
importHashExcerpt?: TokenSequence;
spacingAfterImportHashExcerpt?: TokenSequence;
memberReferences?: DocMemberReference[];
}
/**
* Represents a declaration reference.
*
* @remarks
* Declaration references are TSDoc expressions used by tags such as `{@link}`
* or `{@inheritDoc}` that need to refer to another declaration.
*/
export declare class DocDeclarationReference extends DocNode {
private _packageName;
private readonly _packageNameExcerpt;
private _importPath;
private readonly _importPathExcerpt;
private readonly _importHashExcerpt;
private readonly _spacingAfterImportHashExcerpt;
private readonly _memberReferences;
/**
* Don't call this directly. Instead use {@link TSDocParser}
* @internal
*/
constructor(parameters: IDocDeclarationReferenceParameters | IDocDeclarationReferenceParsedParameters);
/** @override */
get kind(): DocNodeKind | string;
/**
* The optional package name, which may optionally include an NPM scope.
*
* Example: `"@scope/my-package"`
*/
get packageName(): string | undefined;
/**
* The optional import path. If a package name is provided, then if an import path is provided,
* the path must start with a "/" delimiter; otherwise paths are resolved relative to the source file
* containing the reference.
*
* Example: `"/path1/path2"`
* Example: `"./path1/path2"`
* Example: `"../path2/path2"`
*/
get importPath(): string | undefined;
/**
* The chain of member references that indicate the declaration being referenced.
* If this list is empty, then either the packageName or importPath must be provided,
* because the reference refers to a module.
*/
get memberReferences(): ReadonlyArray<DocMemberReference>;
/**
* Generates the TSDoc representation of this declaration reference.
*/
emitAsTsdoc(): string;
/** @override */
protected onGetChildNodes(): ReadonlyArray<DocNode | undefined>;
}
//# sourceMappingURL=DocDeclarationReference.d.ts.map

View File

@ -0,0 +1 @@
{"version":3,"file":"DocDeclarationReference.d.ts","sourceRoot":"","sources":["../../src/nodes/DocDeclarationReference.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AAC/F,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAKxD;;GAEG;AACH,MAAM,WAAW,kCAAmC,SAAQ,kBAAkB;IAC5E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,kBAAkB,EAAE,CAAC;CACzC;AAED;;GAEG;AACH,MAAM,WAAW,wCAAyC,SAAQ,wBAAwB;IACxF,kBAAkB,CAAC,EAAE,aAAa,CAAC;IACnC,iBAAiB,CAAC,EAAE,aAAa,CAAC;IAClC,iBAAiB,CAAC,EAAE,aAAa,CAAC;IAClC,6BAA6B,CAAC,EAAE,aAAa,CAAC;IAC9C,gBAAgB,CAAC,EAAE,kBAAkB,EAAE,CAAC;CACzC;AAED;;;;;;GAMG;AACH,qBAAa,uBAAwB,SAAQ,OAAO;IAClD,OAAO,CAAC,YAAY,CAAqB;IACzC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAyB;IAE7D,OAAO,CAAC,WAAW,CAAqB;IACxC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAyB;IAE5D,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAyB;IAC5D,OAAO,CAAC,QAAQ,CAAC,8BAA8B,CAAyB;IAExE,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAuB;IAEzD;;;OAGG;gBAED,UAAU,EAAE,kCAAkC,GAAG,wCAAwC;IA4C3F,gBAAgB;IAChB,IAAW,IAAI,IAAI,WAAW,GAAG,MAAM,CAEtC;IAED;;;;OAIG;IACH,IAAW,WAAW,IAAI,MAAM,GAAG,SAAS,CAO3C;IAED;;;;;;;;OAQG;IACH,IAAW,UAAU,IAAI,MAAM,GAAG,SAAS,CAO1C;IAED;;;;OAIG;IACH,IAAW,gBAAgB,IAAI,aAAa,CAAC,kBAAkB,CAAC,CAE/D;IAED;;OAEG;IACI,WAAW,IAAI,MAAM;IAO5B,gBAAgB;IAChB,SAAS,CAAC,eAAe,IAAI,aAAa,CAAC,OAAO,GAAG,SAAS,CAAC;CAShE"}

View File

@ -0,0 +1,160 @@
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
var __spreadArrays = (this && this.__spreadArrays) || function () {
for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
for (var r = Array(s), k = 0, i = 0; i < il; i++)
for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
r[k] = a[j];
return r;
};
import { DocNode, DocNodeKind } from './DocNode';
import { DocExcerpt, ExcerptKind } from './DocExcerpt';
import { StringBuilder } from '../emitters/StringBuilder';
import { TSDocEmitter } from '../emitters/TSDocEmitter';
/**
* Represents a declaration reference.
*
* @remarks
* Declaration references are TSDoc expressions used by tags such as `{@link}`
* or `{@inheritDoc}` that need to refer to another declaration.
*/
var DocDeclarationReference = /** @class */ (function (_super) {
__extends(DocDeclarationReference, _super);
/**
* Don't call this directly. Instead use {@link TSDocParser}
* @internal
*/
function DocDeclarationReference(parameters) {
var _a;
var _this = _super.call(this, parameters) || this;
if (DocNode.isParsedParameters(parameters)) {
if (parameters.packageNameExcerpt) {
_this._packageNameExcerpt = new DocExcerpt({
configuration: _this.configuration,
excerptKind: ExcerptKind.DeclarationReference_PackageName,
content: parameters.packageNameExcerpt
});
}
if (parameters.importPathExcerpt) {
_this._importPathExcerpt = new DocExcerpt({
configuration: _this.configuration,
excerptKind: ExcerptKind.DeclarationReference_ImportPath,
content: parameters.importPathExcerpt
});
}
if (parameters.importHashExcerpt) {
_this._importHashExcerpt = new DocExcerpt({
configuration: _this.configuration,
excerptKind: ExcerptKind.DeclarationReference_ImportHash,
content: parameters.importHashExcerpt
});
}
if (parameters.spacingAfterImportHashExcerpt) {
_this._spacingAfterImportHashExcerpt = new DocExcerpt({
configuration: _this.configuration,
excerptKind: ExcerptKind.Spacing,
content: parameters.spacingAfterImportHashExcerpt
});
}
}
else {
_this._packageName = parameters.packageName;
_this._importPath = parameters.importPath;
}
_this._memberReferences = [];
if (parameters.memberReferences) {
(_a = _this._memberReferences).push.apply(_a, parameters.memberReferences);
}
return _this;
}
Object.defineProperty(DocDeclarationReference.prototype, "kind", {
/** @override */
get: function () {
return DocNodeKind.DeclarationReference;
},
enumerable: false,
configurable: true
});
Object.defineProperty(DocDeclarationReference.prototype, "packageName", {
/**
* The optional package name, which may optionally include an NPM scope.
*
* Example: `"@scope/my-package"`
*/
get: function () {
if (this._packageName === undefined) {
if (this._packageNameExcerpt !== undefined) {
this._packageName = this._packageNameExcerpt.content.toString();
}
}
return this._packageName;
},
enumerable: false,
configurable: true
});
Object.defineProperty(DocDeclarationReference.prototype, "importPath", {
/**
* The optional import path. If a package name is provided, then if an import path is provided,
* the path must start with a "/" delimiter; otherwise paths are resolved relative to the source file
* containing the reference.
*
* Example: `"/path1/path2"`
* Example: `"./path1/path2"`
* Example: `"../path2/path2"`
*/
get: function () {
if (this._importPath === undefined) {
if (this._importPathExcerpt !== undefined) {
this._importPath = this._importPathExcerpt.content.toString();
}
}
return this._importPath;
},
enumerable: false,
configurable: true
});
Object.defineProperty(DocDeclarationReference.prototype, "memberReferences", {
/**
* The chain of member references that indicate the declaration being referenced.
* If this list is empty, then either the packageName or importPath must be provided,
* because the reference refers to a module.
*/
get: function () {
return this._memberReferences;
},
enumerable: false,
configurable: true
});
/**
* Generates the TSDoc representation of this declaration reference.
*/
DocDeclarationReference.prototype.emitAsTsdoc = function () {
var stringBuilder = new StringBuilder();
var emitter = new TSDocEmitter();
emitter.renderDeclarationReference(stringBuilder, this);
return stringBuilder.toString();
};
/** @override */
DocDeclarationReference.prototype.onGetChildNodes = function () {
return __spreadArrays([
this._packageNameExcerpt,
this._importPathExcerpt,
this._importHashExcerpt,
this._spacingAfterImportHashExcerpt
], this._memberReferences);
};
return DocDeclarationReference;
}(DocNode));
export { DocDeclarationReference };
//# sourceMappingURL=DocDeclarationReference.js.map

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,57 @@
import { DocNodeKind, DocNode, IDocNodeParsedParameters } from './DocNode';
import { TokenSequence } from '../parser/TokenSequence';
import { TSDocMessageId } from '../parser/TSDocMessageId';
/**
* Constructor parameters for {@link DocErrorText}.
*/
export interface IDocErrorTextParsedParameters extends IDocNodeParsedParameters {
textExcerpt: TokenSequence;
messageId: TSDocMessageId;
errorMessage: string;
errorLocation: TokenSequence;
}
/**
* Represents a span of text that contained invalid markup.
* The characters should be rendered as plain text.
*/
export declare class DocErrorText extends DocNode {
private _text;
private readonly _textExcerpt;
private readonly _messageId;
private readonly _errorMessage;
private readonly _errorLocation;
/**
* Don't call this directly. Instead use {@link TSDocParser}
* @internal
*/
constructor(parameters: IDocErrorTextParsedParameters);
/** @override */
get kind(): DocNodeKind | string;
/**
* The characters that should be rendered as plain text because they
* could not be parsed successfully.
*/
get text(): string;
get textExcerpt(): TokenSequence | undefined;
/**
* The TSDoc error message identifier.
*/
get messageId(): TSDocMessageId;
/**
* A description of why the character could not be parsed.
*/
get errorMessage(): string;
/**
* The range of characters that caused the error. In general these may be
* somewhat farther ahead in the input stream from the DocErrorText node itself.
*
* @remarks
* For example, for the malformed HTML tag `<a href="123" @ /a>`, the DocErrorText node
* will correspond to the `<` character that looked like an HTML tag, whereas the
* error location might be the `@` character that caused the trouble.
*/
get errorLocation(): TokenSequence;
/** @override */
protected onGetChildNodes(): ReadonlyArray<DocNode | undefined>;
}
//# sourceMappingURL=DocErrorText.d.ts.map

View File

@ -0,0 +1 @@
{"version":3,"file":"DocErrorText.d.ts","sourceRoot":"","sources":["../../src/nodes/DocErrorText.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D;;GAEG;AACH,MAAM,WAAW,6BAA8B,SAAQ,wBAAwB;IAC7E,WAAW,EAAE,aAAa,CAAC;IAE3B,SAAS,EAAE,cAAc,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,aAAa,CAAC;CAC9B;AAED;;;GAGG;AACH,qBAAa,YAAa,SAAQ,OAAO;IACvC,OAAO,CAAC,KAAK,CAAqB;IAClC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAa;IAE1C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAiB;IAC5C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAgB;IAE/C;;;OAGG;gBACgB,UAAU,EAAE,6BAA6B;IAc5D,gBAAgB;IAChB,IAAW,IAAI,IAAI,WAAW,GAAG,MAAM,CAEtC;IAED;;;OAGG;IACH,IAAW,IAAI,IAAI,MAAM,CAKxB;IAED,IAAW,WAAW,IAAI,aAAa,GAAG,SAAS,CAMlD;IAED;;OAEG;IACH,IAAW,SAAS,IAAI,cAAc,CAErC;IAED;;OAEG;IACH,IAAW,YAAY,IAAI,MAAM,CAEhC;IAED;;;;;;;;OAQG;IACH,IAAW,aAAa,IAAI,aAAa,CAExC;IAED,gBAAgB;IAChB,SAAS,CAAC,eAAe,IAAI,aAAa,CAAC,OAAO,GAAG,SAAS,CAAC;CAGhE"}

115
node_modules/@microsoft/tsdoc/lib/nodes/DocErrorText.js generated vendored Normal file
View File

@ -0,0 +1,115 @@
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
import { DocNodeKind, DocNode } from './DocNode';
import { DocExcerpt, ExcerptKind } from './DocExcerpt';
/**
* Represents a span of text that contained invalid markup.
* The characters should be rendered as plain text.
*/
var DocErrorText = /** @class */ (function (_super) {
__extends(DocErrorText, _super);
/**
* Don't call this directly. Instead use {@link TSDocParser}
* @internal
*/
function DocErrorText(parameters) {
var _this = _super.call(this, parameters) || this;
_this._textExcerpt = new DocExcerpt({
configuration: _this.configuration,
excerptKind: ExcerptKind.ErrorText,
content: parameters.textExcerpt
});
_this._messageId = parameters.messageId;
_this._errorMessage = parameters.errorMessage;
_this._errorLocation = parameters.errorLocation;
return _this;
}
Object.defineProperty(DocErrorText.prototype, "kind", {
/** @override */
get: function () {
return DocNodeKind.ErrorText;
},
enumerable: false,
configurable: true
});
Object.defineProperty(DocErrorText.prototype, "text", {
/**
* The characters that should be rendered as plain text because they
* could not be parsed successfully.
*/
get: function () {
if (this._text === undefined) {
this._text = this._textExcerpt.content.toString();
}
return this._text;
},
enumerable: false,
configurable: true
});
Object.defineProperty(DocErrorText.prototype, "textExcerpt", {
get: function () {
if (this._textExcerpt) {
return this._textExcerpt.content;
}
else {
return undefined;
}
},
enumerable: false,
configurable: true
});
Object.defineProperty(DocErrorText.prototype, "messageId", {
/**
* The TSDoc error message identifier.
*/
get: function () {
return this._messageId;
},
enumerable: false,
configurable: true
});
Object.defineProperty(DocErrorText.prototype, "errorMessage", {
/**
* A description of why the character could not be parsed.
*/
get: function () {
return this._errorMessage;
},
enumerable: false,
configurable: true
});
Object.defineProperty(DocErrorText.prototype, "errorLocation", {
/**
* The range of characters that caused the error. In general these may be
* somewhat farther ahead in the input stream from the DocErrorText node itself.
*
* @remarks
* For example, for the malformed HTML tag `<a href="123" @ /a>`, the DocErrorText node
* will correspond to the `<` character that looked like an HTML tag, whereas the
* error location might be the `@` character that caused the trouble.
*/
get: function () {
return this._errorLocation;
},
enumerable: false,
configurable: true
});
/** @override */
DocErrorText.prototype.onGetChildNodes = function () {
return [this._textExcerpt];
};
return DocErrorText;
}(DocNode));
export { DocErrorText };
//# sourceMappingURL=DocErrorText.js.map

View File

@ -0,0 +1 @@
{"version":3,"file":"DocErrorText.js","sourceRoot":"","sources":["../../src/nodes/DocErrorText.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,OAAO,EAAE,WAAW,EAAE,OAAO,EAA4B,MAAM,WAAW,CAAC;AAE3E,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAcvD;;;GAGG;AACH;IAAkC,gCAAO;IAQvC;;;OAGG;IACH,sBAAmB,UAAyC;QAA5D,YACE,kBAAM,UAAU,CAAC,SAWlB;QATC,KAAI,CAAC,YAAY,GAAG,IAAI,UAAU,CAAC;YACjC,aAAa,EAAE,KAAI,CAAC,aAAa;YACjC,WAAW,EAAE,WAAW,CAAC,SAAS;YAClC,OAAO,EAAE,UAAU,CAAC,WAAW;SAChC,CAAC,CAAC;QAEH,KAAI,CAAC,UAAU,GAAG,UAAU,CAAC,SAAS,CAAC;QACvC,KAAI,CAAC,aAAa,GAAG,UAAU,CAAC,YAAY,CAAC;QAC7C,KAAI,CAAC,cAAc,GAAG,UAAU,CAAC,aAAa,CAAC;;IACjD,CAAC;IAGD,sBAAW,8BAAI;QADf,gBAAgB;aAChB;YACE,OAAO,WAAW,CAAC,SAAS,CAAC;QAC/B,CAAC;;;OAAA;IAMD,sBAAW,8BAAI;QAJf;;;WAGG;aACH;YACE,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE;gBAC5B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;aACnD;YACD,OAAO,IAAI,CAAC,KAAK,CAAC;QACpB,CAAC;;;OAAA;IAED,sBAAW,qCAAW;aAAtB;YACE,IAAI,IAAI,CAAC,YAAY,EAAE;gBACrB,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC;aAClC;iBAAM;gBACL,OAAO,SAAS,CAAC;aAClB;QACH,CAAC;;;OAAA;IAKD,sBAAW,mCAAS;QAHpB;;WAEG;aACH;YACE,OAAO,IAAI,CAAC,UAAU,CAAC;QACzB,CAAC;;;OAAA;IAKD,sBAAW,sCAAY;QAHvB;;WAEG;aACH;YACE,OAAO,IAAI,CAAC,aAAa,CAAC;QAC5B,CAAC;;;OAAA;IAWD,sBAAW,uCAAa;QATxB;;;;;;;;WAQG;aACH;YACE,OAAO,IAAI,CAAC,cAAc,CAAC;QAC7B,CAAC;;;OAAA;IAED,gBAAgB;IACN,sCAAe,GAAzB;QACE,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC7B,CAAC;IACH,mBAAC;AAAD,CAAC,AAjFD,CAAkC,OAAO,GAiFxC","sourcesContent":["import { DocNodeKind, DocNode, IDocNodeParsedParameters } from './DocNode';\r\nimport { TokenSequence } from '../parser/TokenSequence';\r\nimport { DocExcerpt, ExcerptKind } from './DocExcerpt';\r\nimport { TSDocMessageId } from '../parser/TSDocMessageId';\r\n\r\n/**\r\n * Constructor parameters for {@link DocErrorText}.\r\n */\r\nexport interface IDocErrorTextParsedParameters extends IDocNodeParsedParameters {\r\n textExcerpt: TokenSequence;\r\n\r\n messageId: TSDocMessageId;\r\n errorMessage: string;\r\n errorLocation: TokenSequence;\r\n}\r\n\r\n/**\r\n * Represents a span of text that contained invalid markup.\r\n * The characters should be rendered as plain text.\r\n */\r\nexport class DocErrorText extends DocNode {\r\n private _text: string | undefined;\r\n private readonly _textExcerpt: DocExcerpt;\r\n\r\n private readonly _messageId: TSDocMessageId;\r\n private readonly _errorMessage: string;\r\n private readonly _errorLocation: TokenSequence;\r\n\r\n /**\r\n * Don't call this directly. Instead use {@link TSDocParser}\r\n * @internal\r\n */\r\n public constructor(parameters: IDocErrorTextParsedParameters) {\r\n super(parameters);\r\n\r\n this._textExcerpt = new DocExcerpt({\r\n configuration: this.configuration,\r\n excerptKind: ExcerptKind.ErrorText,\r\n content: parameters.textExcerpt\r\n });\r\n\r\n this._messageId = parameters.messageId;\r\n this._errorMessage = parameters.errorMessage;\r\n this._errorLocation = parameters.errorLocation;\r\n }\r\n\r\n /** @override */\r\n public get kind(): DocNodeKind | string {\r\n return DocNodeKind.ErrorText;\r\n }\r\n\r\n /**\r\n * The characters that should be rendered as plain text because they\r\n * could not be parsed successfully.\r\n */\r\n public get text(): string {\r\n if (this._text === undefined) {\r\n this._text = this._textExcerpt.content.toString();\r\n }\r\n return this._text;\r\n }\r\n\r\n public get textExcerpt(): TokenSequence | undefined {\r\n if (this._textExcerpt) {\r\n return this._textExcerpt.content;\r\n } else {\r\n return undefined;\r\n }\r\n }\r\n\r\n /**\r\n * The TSDoc error message identifier.\r\n */\r\n public get messageId(): TSDocMessageId {\r\n return this._messageId;\r\n }\r\n\r\n /**\r\n * A description of why the character could not be parsed.\r\n */\r\n public get errorMessage(): string {\r\n return this._errorMessage;\r\n }\r\n\r\n /**\r\n * The range of characters that caused the error. In general these may be\r\n * somewhat farther ahead in the input stream from the DocErrorText node itself.\r\n *\r\n * @remarks\r\n * For example, for the malformed HTML tag `<a href=\"123\" @ /a>`, the DocErrorText node\r\n * will correspond to the `<` character that looked like an HTML tag, whereas the\r\n * error location might be the `@` character that caused the trouble.\r\n */\r\n public get errorLocation(): TokenSequence {\r\n return this._errorLocation;\r\n }\r\n\r\n /** @override */\r\n protected onGetChildNodes(): ReadonlyArray<DocNode | undefined> {\r\n return [this._textExcerpt];\r\n }\r\n}\r\n"]}

View File

@ -0,0 +1,54 @@
import { DocNodeKind, IDocNodeParsedParameters, DocNode } from './DocNode';
import { TokenSequence } from '../parser/TokenSequence';
/**
* Constructor parameters for {@link DocEscapedText}.
*/
export interface IDocEscapedTextParsedParameters extends IDocNodeParsedParameters {
escapeStyle: EscapeStyle;
encodedTextExcerpt: TokenSequence;
decodedText: string;
}
/**
* The style of escaping to be used with DocEscapedText.
*/
export declare enum EscapeStyle {
/**
* Use a backslash symbol to escape the character.
*/
CommonMarkBackslash = 0
}
/**
* Represents a text character that should be escaped as a TSDoc symbol.
* @remarks
* Note that renders will normally apply appropriate escaping when rendering
* DocPlainText in a format such as HTML or TSDoc. The DocEscapedText node
* forces a specific escaping that may not be the default.
*/
export declare class DocEscapedText extends DocNode {
private readonly _escapeStyle;
private _encodedText;
private readonly _encodedTextExcerpt;
private readonly _decodedText;
/**
* Don't call this directly. Instead use {@link TSDocParser}
* @internal
*/
constructor(parameters: IDocEscapedTextParsedParameters);
/** @override */
get kind(): DocNodeKind | string;
/**
* The style of escaping to be performed.
*/
get escapeStyle(): EscapeStyle;
/**
* The text sequence including escapes.
*/
get encodedText(): string;
/**
* The text without escaping.
*/
get decodedText(): string;
/** @override */
protected onGetChildNodes(): ReadonlyArray<DocNode | undefined>;
}
//# sourceMappingURL=DocEscapedText.d.ts.map

View File

@ -0,0 +1 @@
{"version":3,"file":"DocEscapedText.d.ts","sourceRoot":"","sources":["../../src/nodes/DocEscapedText.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,wBAAwB,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAE3E,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAExD;;GAEG;AACH,MAAM,WAAW,+BAAgC,SAAQ,wBAAwB;IAC/E,WAAW,EAAE,WAAW,CAAC;IACzB,kBAAkB,EAAE,aAAa,CAAC;IAClC,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,oBAAY,WAAW;IACrB;;OAEG;IACH,mBAAmB,IAAA;CACpB;AAED;;;;;;GAMG;AACH,qBAAa,cAAe,SAAQ,OAAO;IACzC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAc;IAE3C,OAAO,CAAC,YAAY,CAAqB;IACzC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAa;IAEjD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IAEtC;;;OAGG;gBACgB,UAAU,EAAE,+BAA+B;IAc9D,gBAAgB;IAChB,IAAW,IAAI,IAAI,WAAW,GAAG,MAAM,CAEtC;IAED;;OAEG;IACH,IAAW,WAAW,IAAI,WAAW,CAEpC;IAED;;OAEG;IACH,IAAW,WAAW,IAAI,MAAM,CAK/B;IAED;;OAEG;IACH,IAAW,WAAW,IAAI,MAAM,CAE/B;IAED,gBAAgB;IAChB,SAAS,CAAC,eAAe,IAAI,aAAa,CAAC,OAAO,GAAG,SAAS,CAAC;CAGhE"}

View File

@ -0,0 +1,98 @@
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
import { DocNodeKind, DocNode } from './DocNode';
import { DocExcerpt, ExcerptKind } from './DocExcerpt';
/**
* The style of escaping to be used with DocEscapedText.
*/
export var EscapeStyle;
(function (EscapeStyle) {
/**
* Use a backslash symbol to escape the character.
*/
EscapeStyle[EscapeStyle["CommonMarkBackslash"] = 0] = "CommonMarkBackslash";
})(EscapeStyle || (EscapeStyle = {}));
/**
* Represents a text character that should be escaped as a TSDoc symbol.
* @remarks
* Note that renders will normally apply appropriate escaping when rendering
* DocPlainText in a format such as HTML or TSDoc. The DocEscapedText node
* forces a specific escaping that may not be the default.
*/
var DocEscapedText = /** @class */ (function (_super) {
__extends(DocEscapedText, _super);
/**
* Don't call this directly. Instead use {@link TSDocParser}
* @internal
*/
function DocEscapedText(parameters) {
var _this = _super.call(this, parameters) || this;
_this._escapeStyle = parameters.escapeStyle;
_this._encodedTextExcerpt = new DocExcerpt({
configuration: _this.configuration,
excerptKind: ExcerptKind.EscapedText,
content: parameters.encodedTextExcerpt
});
_this._decodedText = parameters.decodedText;
return _this;
}
Object.defineProperty(DocEscapedText.prototype, "kind", {
/** @override */
get: function () {
return DocNodeKind.EscapedText;
},
enumerable: false,
configurable: true
});
Object.defineProperty(DocEscapedText.prototype, "escapeStyle", {
/**
* The style of escaping to be performed.
*/
get: function () {
return this._escapeStyle;
},
enumerable: false,
configurable: true
});
Object.defineProperty(DocEscapedText.prototype, "encodedText", {
/**
* The text sequence including escapes.
*/
get: function () {
if (this._encodedText === undefined) {
this._encodedText = this._encodedTextExcerpt.content.toString();
}
return this._encodedText;
},
enumerable: false,
configurable: true
});
Object.defineProperty(DocEscapedText.prototype, "decodedText", {
/**
* The text without escaping.
*/
get: function () {
return this._decodedText;
},
enumerable: false,
configurable: true
});
/** @override */
DocEscapedText.prototype.onGetChildNodes = function () {
return [this._encodedTextExcerpt];
};
return DocEscapedText;
}(DocNode));
export { DocEscapedText };
//# sourceMappingURL=DocEscapedText.js.map

View File

@ -0,0 +1 @@
{"version":3,"file":"DocEscapedText.js","sourceRoot":"","sources":["../../src/nodes/DocEscapedText.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,OAAO,EAAE,WAAW,EAA4B,OAAO,EAAE,MAAM,WAAW,CAAC;AAC3E,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAYvD;;GAEG;AACH,MAAM,CAAN,IAAY,WAKX;AALD,WAAY,WAAW;IACrB;;OAEG;IACH,2EAAmB,CAAA;AACrB,CAAC,EALW,WAAW,KAAX,WAAW,QAKtB;AAED;;;;;;GAMG;AACH;IAAoC,kCAAO;IAQzC;;;OAGG;IACH,wBAAmB,UAA2C;QAA9D,YACE,kBAAM,UAAU,CAAC,SAWlB;QATC,KAAI,CAAC,YAAY,GAAG,UAAU,CAAC,WAAW,CAAC;QAE3C,KAAI,CAAC,mBAAmB,GAAG,IAAI,UAAU,CAAC;YACxC,aAAa,EAAE,KAAI,CAAC,aAAa;YACjC,WAAW,EAAE,WAAW,CAAC,WAAW;YACpC,OAAO,EAAE,UAAU,CAAC,kBAAkB;SACvC,CAAC,CAAC;QAEH,KAAI,CAAC,YAAY,GAAG,UAAU,CAAC,WAAW,CAAC;;IAC7C,CAAC;IAGD,sBAAW,gCAAI;QADf,gBAAgB;aAChB;YACE,OAAO,WAAW,CAAC,WAAW,CAAC;QACjC,CAAC;;;OAAA;IAKD,sBAAW,uCAAW;QAHtB;;WAEG;aACH;YACE,OAAO,IAAI,CAAC,YAAY,CAAC;QAC3B,CAAC;;;OAAA;IAKD,sBAAW,uCAAW;QAHtB;;WAEG;aACH;YACE,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,EAAE;gBACnC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;aACjE;YACD,OAAO,IAAI,CAAC,YAAY,CAAC;QAC3B,CAAC;;;OAAA;IAKD,sBAAW,uCAAW;QAHtB;;WAEG;aACH;YACE,OAAO,IAAI,CAAC,YAAY,CAAC;QAC3B,CAAC;;;OAAA;IAED,gBAAgB;IACN,wCAAe,GAAzB;QACE,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IACpC,CAAC;IACH,qBAAC;AAAD,CAAC,AA3DD,CAAoC,OAAO,GA2D1C","sourcesContent":["import { DocNodeKind, IDocNodeParsedParameters, DocNode } from './DocNode';\r\nimport { DocExcerpt, ExcerptKind } from './DocExcerpt';\r\nimport { TokenSequence } from '../parser/TokenSequence';\r\n\r\n/**\r\n * Constructor parameters for {@link DocEscapedText}.\r\n */\r\nexport interface IDocEscapedTextParsedParameters extends IDocNodeParsedParameters {\r\n escapeStyle: EscapeStyle;\r\n encodedTextExcerpt: TokenSequence;\r\n decodedText: string;\r\n}\r\n\r\n/**\r\n * The style of escaping to be used with DocEscapedText.\r\n */\r\nexport enum EscapeStyle {\r\n /**\r\n * Use a backslash symbol to escape the character.\r\n */\r\n CommonMarkBackslash\r\n}\r\n\r\n/**\r\n * Represents a text character that should be escaped as a TSDoc symbol.\r\n * @remarks\r\n * Note that renders will normally apply appropriate escaping when rendering\r\n * DocPlainText in a format such as HTML or TSDoc. The DocEscapedText node\r\n * forces a specific escaping that may not be the default.\r\n */\r\nexport class DocEscapedText extends DocNode {\r\n private readonly _escapeStyle: EscapeStyle;\r\n\r\n private _encodedText: string | undefined;\r\n private readonly _encodedTextExcerpt: DocExcerpt;\r\n\r\n private readonly _decodedText: string;\r\n\r\n /**\r\n * Don't call this directly. Instead use {@link TSDocParser}\r\n * @internal\r\n */\r\n public constructor(parameters: IDocEscapedTextParsedParameters) {\r\n super(parameters);\r\n\r\n this._escapeStyle = parameters.escapeStyle;\r\n\r\n this._encodedTextExcerpt = new DocExcerpt({\r\n configuration: this.configuration,\r\n excerptKind: ExcerptKind.EscapedText,\r\n content: parameters.encodedTextExcerpt\r\n });\r\n\r\n this._decodedText = parameters.decodedText;\r\n }\r\n\r\n /** @override */\r\n public get kind(): DocNodeKind | string {\r\n return DocNodeKind.EscapedText;\r\n }\r\n\r\n /**\r\n * The style of escaping to be performed.\r\n */\r\n public get escapeStyle(): EscapeStyle {\r\n return this._escapeStyle;\r\n }\r\n\r\n /**\r\n * The text sequence including escapes.\r\n */\r\n public get encodedText(): string {\r\n if (this._encodedText === undefined) {\r\n this._encodedText = this._encodedTextExcerpt.content.toString();\r\n }\r\n return this._encodedText;\r\n }\r\n\r\n /**\r\n * The text without escaping.\r\n */\r\n public get decodedText(): string {\r\n return this._decodedText;\r\n }\r\n\r\n /** @override */\r\n protected onGetChildNodes(): ReadonlyArray<DocNode | undefined> {\r\n return [this._encodedTextExcerpt];\r\n }\r\n}\r\n"]}

105
node_modules/@microsoft/tsdoc/lib/nodes/DocExcerpt.d.ts generated vendored Normal file
View File

@ -0,0 +1,105 @@
import { DocNode, IDocNodeParameters, DocNodeKind } from './DocNode';
import { TokenSequence } from '../parser/TokenSequence';
/**
* Indicates the type of {@link DocExcerpt}.
*/
export declare enum ExcerptKind {
Spacing = "Spacing",
BlockTag = "BlockTag",
CodeSpan_OpeningDelimiter = "CodeSpan_OpeningDelimiter",
CodeSpan_Code = "CodeSpan_Code",
CodeSpan_ClosingDelimiter = "CodeSpan_ClosingDelimiter",
DeclarationReference_PackageName = "DeclarationReference_PackageName",
DeclarationReference_ImportPath = "DeclarationReference_ImportPath",
DeclarationReference_ImportHash = "DeclarationReference_ImportHash",
/**
* Input characters that were reported as an error and do not appear to be part of a valid expression.
* A syntax highlighter might display them with an error color (e.g. red).
*/
ErrorText = "ErrorText",
/**
* Input characters that do not conform to the TSDoc specification, but were recognized by the parser, for example
* as a known JSDoc pattern. A syntax highlighter should not display them with an error color (e.g. red)
* because the error reporting may be suppressed for "lax" parsing of legacy source code.
*/
NonstandardText = "NonstandardText",
EscapedText = "EscapedText",
FencedCode_OpeningFence = "FencedCode_OpeningFence",
FencedCode_Language = "FencedCode_Language",
FencedCode_Code = "FencedCode_Code",
FencedCode_ClosingFence = "FencedCode_ClosingFence",
HtmlAttribute_Name = "HtmlAttribute_Name",
HtmlAttribute_Equals = "HtmlAttribute_Equals",
HtmlAttribute_Value = "HtmlAttribute_Value",
HtmlEndTag_OpeningDelimiter = "HtmlEndTag_OpeningDelimiter",
HtmlEndTag_Name = "HtmlEndTag_Name",
HtmlEndTag_ClosingDelimiter = "HtmlEndTag_ClosingDelimiter",
HtmlStartTag_OpeningDelimiter = "HtmlStartTag_OpeningDelimiter",
HtmlStartTag_Name = "HtmlStartTag_Name",
HtmlStartTag_ClosingDelimiter = "HtmlStartTag_ClosingDelimiter",
InlineTag_OpeningDelimiter = "InlineTag_OpeningDelimiter",
InlineTag_TagName = "InlineTag_TagName",
InlineTag_TagContent = "InlineTag_TagContent",
InlineTag_ClosingDelimiter = "InlineTag_ClosingDelimiter",
LinkTag_UrlDestination = "LinkTag_UrlDestination",
LinkTag_Pipe = "LinkTag_Pipe",
LinkTag_LinkText = "LinkTag_LinkText",
MemberIdentifier_LeftQuote = "MemberIdentifier_LeftQuote",
MemberIdentifier_Identifier = "MemberIdentifier_Identifier",
MemberIdentifier_RightQuote = "MemberIdentifier_RightQuote",
MemberReference_Dot = "MemberReference_Dot",
MemberReference_LeftParenthesis = "MemberReference_LeftParenthesis",
MemberReference_Colon = "MemberReference_Colon",
MemberReference_RightParenthesis = "MemberReference_RightParenthesis",
MemberSelector = "MemberSelector",
DocMemberSymbol_LeftBracket = "DocMemberSymbol_LeftBracket",
DocMemberSymbol_RightBracket = "DocMemberSymbol_RightBracket",
ParamBlock_ParameterName = "ParamBlock_ParameterName",
ParamBlock_Hyphen = "ParamBlock_Hyphen",
PlainText = "PlainText",
SoftBreak = "SoftBreak"
}
/**
* Constructor parameters for {@link DocExcerpt}.
*/
export interface IDocExcerptParameters extends IDocNodeParameters {
excerptKind: ExcerptKind;
content: TokenSequence;
}
/**
* Represents a parsed token sequence.
*
* @remarks
* When a `DocNode` is created by parsing a doc comment, it will have `DocExcerpt` child nodes corresponding to
* the parsed syntax elements such as names, keywords, punctuation, and spaces. These excerpts indicate the original
* coordinates of the syntax element, and thus can be used for syntax highlighting and precise error reporting.
* They could also be used to rewrite specific words in a source file (e.g. renaming a parameter) without disturbing
* any other characters in the file.
*
* Every parsed character will correspond to at most one DocExcerpt object. In other words, excerpts never overlap.
* A given excerpt can span multiple comment lines, and it may contain gaps, for example to skip the `*` character
* that starts a new TSDoc comment line.
*/
export declare class DocExcerpt extends DocNode {
private readonly _excerptKind;
private readonly _content;
/**
* Don't call this directly. Instead use {@link TSDocParser}
* @internal
*/
constructor(parameters: IDocExcerptParameters);
/** @override */
get kind(): DocNodeKind | string;
/**
* Indicates the kind of DocExcerpt.
*/
get excerptKind(): ExcerptKind;
/**
* The input token sequence corresponding to this excerpt.
* @remarks
* Note that a token sequence can span multiple input lines and may contain gaps, for example to skip the `*`
* character that starts a new TSDoc comment line.
*/
get content(): TokenSequence;
}
//# sourceMappingURL=DocExcerpt.d.ts.map

View File

@ -0,0 +1 @@
{"version":3,"file":"DocExcerpt.d.ts","sourceRoot":"","sources":["../../src/nodes/DocExcerpt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAKxD;;GAEG;AACH,oBAAY,WAAW;IACrB,OAAO,YAAY;IAEnB,QAAQ,aAAa;IAErB,yBAAyB,8BAA8B;IACvD,aAAa,kBAAkB;IAC/B,yBAAyB,8BAA8B;IAEvD,gCAAgC,qCAAqC;IACrE,+BAA+B,oCAAoC;IACnE,+BAA+B,oCAAoC;IAEnE;;;OAGG;IACH,SAAS,cAAc;IAEvB;;;;OAIG;IACH,eAAe,oBAAoB;IAEnC,WAAW,gBAAgB;IAE3B,uBAAuB,4BAA4B;IACnD,mBAAmB,wBAAwB;IAC3C,eAAe,oBAAoB;IACnC,uBAAuB,4BAA4B;IAEnD,kBAAkB,uBAAuB;IACzC,oBAAoB,yBAAyB;IAC7C,mBAAmB,wBAAwB;IAE3C,2BAA2B,gCAAgC;IAC3D,eAAe,oBAAoB;IACnC,2BAA2B,gCAAgC;IAE3D,6BAA6B,kCAAkC;IAC/D,iBAAiB,sBAAsB;IACvC,6BAA6B,kCAAkC;IAE/D,0BAA0B,+BAA+B;IACzD,iBAAiB,sBAAsB;IACvC,oBAAoB,yBAAyB;IAC7C,0BAA0B,+BAA+B;IAEzD,sBAAsB,2BAA2B;IACjD,YAAY,iBAAiB;IAC7B,gBAAgB,qBAAqB;IAErC,0BAA0B,+BAA+B;IACzD,2BAA2B,gCAAgC;IAC3D,2BAA2B,gCAAgC;IAE3D,mBAAmB,wBAAwB;IAC3C,+BAA+B,oCAAoC;IACnE,qBAAqB,0BAA0B;IAC/C,gCAAgC,qCAAqC;IAErE,cAAc,mBAAmB;IAEjC,2BAA2B,gCAAgC;IAC3D,4BAA4B,iCAAiC;IAE7D,wBAAwB,6BAA6B;IACrD,iBAAiB,sBAAsB;IAEvC,SAAS,cAAc;IAEvB,SAAS,cAAc;CACxB;AAID;;GAEG;AACH,MAAM,WAAW,qBAAsB,SAAQ,kBAAkB;IAC/D,WAAW,EAAE,WAAW,CAAC;IACzB,OAAO,EAAE,aAAa,CAAC;CACxB;AAED;;;;;;;;;;;;;GAaG;AACH,qBAAa,UAAW,SAAQ,OAAO;IACrC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAc;IAC3C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAgB;IAEzC;;;OAGG;gBACgB,UAAU,EAAE,qBAAqB;IAoBpD,gBAAgB;IAChB,IAAW,IAAI,IAAI,WAAW,GAAG,MAAM,CAEtC;IAED;;OAEG;IACH,IAAW,WAAW,IAAI,WAAW,CAEpC;IAED;;;;;OAKG;IACH,IAAW,OAAO,IAAI,aAAa,CAElC;CACF"}

150
node_modules/@microsoft/tsdoc/lib/nodes/DocExcerpt.js generated vendored Normal file
View File

@ -0,0 +1,150 @@
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
import { DocNode, DocNodeKind } from './DocNode';
import { TokenKind } from '../parser/Token';
/* eslint-disable @typescript-eslint/naming-convention */
/**
* Indicates the type of {@link DocExcerpt}.
*/
export var ExcerptKind;
(function (ExcerptKind) {
ExcerptKind["Spacing"] = "Spacing";
ExcerptKind["BlockTag"] = "BlockTag";
ExcerptKind["CodeSpan_OpeningDelimiter"] = "CodeSpan_OpeningDelimiter";
ExcerptKind["CodeSpan_Code"] = "CodeSpan_Code";
ExcerptKind["CodeSpan_ClosingDelimiter"] = "CodeSpan_ClosingDelimiter";
ExcerptKind["DeclarationReference_PackageName"] = "DeclarationReference_PackageName";
ExcerptKind["DeclarationReference_ImportPath"] = "DeclarationReference_ImportPath";
ExcerptKind["DeclarationReference_ImportHash"] = "DeclarationReference_ImportHash";
/**
* Input characters that were reported as an error and do not appear to be part of a valid expression.
* A syntax highlighter might display them with an error color (e.g. red).
*/
ExcerptKind["ErrorText"] = "ErrorText";
/**
* Input characters that do not conform to the TSDoc specification, but were recognized by the parser, for example
* as a known JSDoc pattern. A syntax highlighter should not display them with an error color (e.g. red)
* because the error reporting may be suppressed for "lax" parsing of legacy source code.
*/
ExcerptKind["NonstandardText"] = "NonstandardText";
ExcerptKind["EscapedText"] = "EscapedText";
ExcerptKind["FencedCode_OpeningFence"] = "FencedCode_OpeningFence";
ExcerptKind["FencedCode_Language"] = "FencedCode_Language";
ExcerptKind["FencedCode_Code"] = "FencedCode_Code";
ExcerptKind["FencedCode_ClosingFence"] = "FencedCode_ClosingFence";
ExcerptKind["HtmlAttribute_Name"] = "HtmlAttribute_Name";
ExcerptKind["HtmlAttribute_Equals"] = "HtmlAttribute_Equals";
ExcerptKind["HtmlAttribute_Value"] = "HtmlAttribute_Value";
ExcerptKind["HtmlEndTag_OpeningDelimiter"] = "HtmlEndTag_OpeningDelimiter";
ExcerptKind["HtmlEndTag_Name"] = "HtmlEndTag_Name";
ExcerptKind["HtmlEndTag_ClosingDelimiter"] = "HtmlEndTag_ClosingDelimiter";
ExcerptKind["HtmlStartTag_OpeningDelimiter"] = "HtmlStartTag_OpeningDelimiter";
ExcerptKind["HtmlStartTag_Name"] = "HtmlStartTag_Name";
ExcerptKind["HtmlStartTag_ClosingDelimiter"] = "HtmlStartTag_ClosingDelimiter";
ExcerptKind["InlineTag_OpeningDelimiter"] = "InlineTag_OpeningDelimiter";
ExcerptKind["InlineTag_TagName"] = "InlineTag_TagName";
ExcerptKind["InlineTag_TagContent"] = "InlineTag_TagContent";
ExcerptKind["InlineTag_ClosingDelimiter"] = "InlineTag_ClosingDelimiter";
ExcerptKind["LinkTag_UrlDestination"] = "LinkTag_UrlDestination";
ExcerptKind["LinkTag_Pipe"] = "LinkTag_Pipe";
ExcerptKind["LinkTag_LinkText"] = "LinkTag_LinkText";
ExcerptKind["MemberIdentifier_LeftQuote"] = "MemberIdentifier_LeftQuote";
ExcerptKind["MemberIdentifier_Identifier"] = "MemberIdentifier_Identifier";
ExcerptKind["MemberIdentifier_RightQuote"] = "MemberIdentifier_RightQuote";
ExcerptKind["MemberReference_Dot"] = "MemberReference_Dot";
ExcerptKind["MemberReference_LeftParenthesis"] = "MemberReference_LeftParenthesis";
ExcerptKind["MemberReference_Colon"] = "MemberReference_Colon";
ExcerptKind["MemberReference_RightParenthesis"] = "MemberReference_RightParenthesis";
ExcerptKind["MemberSelector"] = "MemberSelector";
ExcerptKind["DocMemberSymbol_LeftBracket"] = "DocMemberSymbol_LeftBracket";
ExcerptKind["DocMemberSymbol_RightBracket"] = "DocMemberSymbol_RightBracket";
ExcerptKind["ParamBlock_ParameterName"] = "ParamBlock_ParameterName";
ExcerptKind["ParamBlock_Hyphen"] = "ParamBlock_Hyphen";
ExcerptKind["PlainText"] = "PlainText";
ExcerptKind["SoftBreak"] = "SoftBreak";
})(ExcerptKind || (ExcerptKind = {}));
/**
* Represents a parsed token sequence.
*
* @remarks
* When a `DocNode` is created by parsing a doc comment, it will have `DocExcerpt` child nodes corresponding to
* the parsed syntax elements such as names, keywords, punctuation, and spaces. These excerpts indicate the original
* coordinates of the syntax element, and thus can be used for syntax highlighting and precise error reporting.
* They could also be used to rewrite specific words in a source file (e.g. renaming a parameter) without disturbing
* any other characters in the file.
*
* Every parsed character will correspond to at most one DocExcerpt object. In other words, excerpts never overlap.
* A given excerpt can span multiple comment lines, and it may contain gaps, for example to skip the `*` character
* that starts a new TSDoc comment line.
*/
var DocExcerpt = /** @class */ (function (_super) {
__extends(DocExcerpt, _super);
/**
* Don't call this directly. Instead use {@link TSDocParser}
* @internal
*/
function DocExcerpt(parameters) {
var _this = _super.call(this, parameters) || this;
if (parameters.excerptKind === ExcerptKind.Spacing) {
for (var _i = 0, _a = parameters.content.tokens; _i < _a.length; _i++) {
var token = _a[_i];
switch (token.kind) {
case TokenKind.Spacing:
case TokenKind.Newline:
case TokenKind.EndOfInput:
break;
default:
throw new Error("The excerptKind=Spacing but the range contains a non-whitespace token");
}
}
}
_this._excerptKind = parameters.excerptKind;
_this._content = parameters.content;
return _this;
}
Object.defineProperty(DocExcerpt.prototype, "kind", {
/** @override */
get: function () {
return DocNodeKind.Excerpt;
},
enumerable: false,
configurable: true
});
Object.defineProperty(DocExcerpt.prototype, "excerptKind", {
/**
* Indicates the kind of DocExcerpt.
*/
get: function () {
return this._excerptKind;
},
enumerable: false,
configurable: true
});
Object.defineProperty(DocExcerpt.prototype, "content", {
/**
* The input token sequence corresponding to this excerpt.
* @remarks
* Note that a token sequence can span multiple input lines and may contain gaps, for example to skip the `*`
* character that starts a new TSDoc comment line.
*/
get: function () {
return this._content;
},
enumerable: false,
configurable: true
});
return DocExcerpt;
}(DocNode));
export { DocExcerpt };
//# sourceMappingURL=DocExcerpt.js.map

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,69 @@
import { DocNodeKind, IDocNodeParameters, DocNode, IDocNodeParsedParameters } from './DocNode';
import { TokenSequence } from '../parser/TokenSequence';
/**
* Constructor parameters for {@link DocFencedCode}.
*/
export interface IDocFencedCodeParameters extends IDocNodeParameters {
language: string;
code: string;
}
/**
* Constructor parameters for {@link DocFencedCode}.
*/
export interface IDocFencedCodeParsedParameters extends IDocNodeParsedParameters {
openingFenceExcerpt: TokenSequence;
spacingAfterOpeningFenceExcerpt?: TokenSequence;
languageExcerpt?: TokenSequence;
spacingAfterLanguageExcerpt?: TokenSequence;
codeExcerpt: TokenSequence;
spacingBeforeClosingFenceExcerpt?: TokenSequence;
closingFenceExcerpt: TokenSequence;
spacingAfterClosingFenceExcerpt?: TokenSequence;
}
/**
* Represents CommonMark-style code fence, i.e. a block of program code that
* starts and ends with a line comprised of three backticks. The opening delimiter
* can also specify a language for a syntax highlighter.
*/
export declare class DocFencedCode extends DocNode {
private readonly _openingFenceExcerpt;
private readonly _spacingAfterOpeningFenceExcerpt;
private _language;
private readonly _languageExcerpt;
private readonly _spacingAfterLanguageExcerpt;
private _code;
private readonly _codeExcerpt;
private readonly _spacingBeforeClosingFenceExcerpt;
private readonly _closingFenceExcerpt;
private readonly _spacingAfterClosingFenceExcerpt;
/**
* Don't call this directly. Instead use {@link TSDocParser}
* @internal
*/
constructor(parameters: IDocFencedCodeParameters | IDocFencedCodeParsedParameters);
/** @override */
get kind(): DocNodeKind | string;
/**
* A name that can optionally be included after the opening code fence delimiter,
* on the same line as the three backticks. This name indicates the programming language
* for the code, which a syntax highlighter may use to style the code block.
*
* @remarks
* The TSDoc standard requires that the language "ts" should be interpreted to mean TypeScript.
* Other languages names may be supported, but this is implementation dependent.
*
* CommonMark refers to this field as the "info string".
*
* @privateRemarks
* Examples of language strings supported by GitHub flavored markdown:
* https://raw.githubusercontent.com/github/linguist/master/lib/linguist/languages.yml
*/
get language(): string | 'ts' | '';
/**
* The text that should be rendered as code.
*/
get code(): string;
/** @override */
protected onGetChildNodes(): ReadonlyArray<DocNode | undefined>;
}
//# sourceMappingURL=DocFencedCode.d.ts.map

View File

@ -0,0 +1 @@
{"version":3,"file":"DocFencedCode.d.ts","sourceRoot":"","sources":["../../src/nodes/DocFencedCode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AAC/F,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAGxD;;GAEG;AACH,MAAM,WAAW,wBAAyB,SAAQ,kBAAkB;IAClE,QAAQ,EAAE,MAAM,CAAC;IAEjB,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,8BAA+B,SAAQ,wBAAwB;IAC9E,mBAAmB,EAAE,aAAa,CAAC;IACnC,+BAA+B,CAAC,EAAE,aAAa,CAAC;IAEhD,eAAe,CAAC,EAAE,aAAa,CAAC;IAChC,2BAA2B,CAAC,EAAE,aAAa,CAAC;IAE5C,WAAW,EAAE,aAAa,CAAC;IAE3B,gCAAgC,CAAC,EAAE,aAAa,CAAC;IACjD,mBAAmB,EAAE,aAAa,CAAC;IACnC,+BAA+B,CAAC,EAAE,aAAa,CAAC;CACjD;AAED;;;;GAIG;AACH,qBAAa,aAAc,SAAQ,OAAO;IAExC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAyB;IAE9D,OAAO,CAAC,QAAQ,CAAC,gCAAgC,CAAyB;IAG1E,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAyB;IAE1D,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CAAyB;IAGtE,OAAO,CAAC,KAAK,CAAqB;IAClC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAyB;IAGtD,OAAO,CAAC,QAAQ,CAAC,iCAAiC,CAAyB;IAE3E,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAyB;IAE9D,OAAO,CAAC,QAAQ,CAAC,gCAAgC,CAAyB;IAE1E;;;OAGG;gBACgB,UAAU,EAAE,wBAAwB,GAAG,8BAA8B;IA+DxF,gBAAgB;IAChB,IAAW,IAAI,IAAI,WAAW,GAAG,MAAM,CAEtC;IAED;;;;;;;;;;;;;;OAcG;IACH,IAAW,QAAQ,IAAI,MAAM,GAAG,IAAI,GAAG,EAAE,CASxC;IAED;;OAEG;IACH,IAAW,IAAI,IAAI,MAAM,CAOxB;IAED,gBAAgB;IAChB,SAAS,CAAC,eAAe,IAAI,aAAa,CAAC,OAAO,GAAG,SAAS,CAAC;CAehE"}

View File

@ -0,0 +1,156 @@
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
import { DocNodeKind, DocNode } from './DocNode';
import { DocExcerpt, ExcerptKind } from './DocExcerpt';
/**
* Represents CommonMark-style code fence, i.e. a block of program code that
* starts and ends with a line comprised of three backticks. The opening delimiter
* can also specify a language for a syntax highlighter.
*/
var DocFencedCode = /** @class */ (function (_super) {
__extends(DocFencedCode, _super);
/**
* Don't call this directly. Instead use {@link TSDocParser}
* @internal
*/
function DocFencedCode(parameters) {
var _this = _super.call(this, parameters) || this;
if (DocNode.isParsedParameters(parameters)) {
_this._openingFenceExcerpt = new DocExcerpt({
configuration: _this.configuration,
excerptKind: ExcerptKind.FencedCode_OpeningFence,
content: parameters.openingFenceExcerpt
});
if (parameters.spacingAfterOpeningFenceExcerpt) {
_this._spacingAfterOpeningFenceExcerpt = new DocExcerpt({
configuration: _this.configuration,
excerptKind: ExcerptKind.Spacing,
content: parameters.spacingAfterOpeningFenceExcerpt
});
}
if (parameters.languageExcerpt) {
_this._languageExcerpt = new DocExcerpt({
configuration: _this.configuration,
excerptKind: ExcerptKind.FencedCode_Language,
content: parameters.languageExcerpt
});
}
if (parameters.spacingAfterLanguageExcerpt) {
_this._spacingAfterLanguageExcerpt = new DocExcerpt({
configuration: _this.configuration,
excerptKind: ExcerptKind.Spacing,
content: parameters.spacingAfterLanguageExcerpt
});
}
_this._codeExcerpt = new DocExcerpt({
configuration: _this.configuration,
excerptKind: ExcerptKind.FencedCode_Code,
content: parameters.codeExcerpt
});
if (parameters.spacingBeforeClosingFenceExcerpt) {
_this._spacingBeforeClosingFenceExcerpt = new DocExcerpt({
configuration: _this.configuration,
excerptKind: ExcerptKind.Spacing,
content: parameters.spacingBeforeClosingFenceExcerpt
});
}
_this._closingFenceExcerpt = new DocExcerpt({
configuration: _this.configuration,
excerptKind: ExcerptKind.FencedCode_ClosingFence,
content: parameters.closingFenceExcerpt
});
if (parameters.spacingAfterClosingFenceExcerpt) {
_this._spacingAfterClosingFenceExcerpt = new DocExcerpt({
configuration: _this.configuration,
excerptKind: ExcerptKind.Spacing,
content: parameters.spacingAfterClosingFenceExcerpt
});
}
}
else {
_this._code = parameters.code;
_this._language = parameters.language;
}
return _this;
}
Object.defineProperty(DocFencedCode.prototype, "kind", {
/** @override */
get: function () {
return DocNodeKind.FencedCode;
},
enumerable: false,
configurable: true
});
Object.defineProperty(DocFencedCode.prototype, "language", {
/**
* A name that can optionally be included after the opening code fence delimiter,
* on the same line as the three backticks. This name indicates the programming language
* for the code, which a syntax highlighter may use to style the code block.
*
* @remarks
* The TSDoc standard requires that the language "ts" should be interpreted to mean TypeScript.
* Other languages names may be supported, but this is implementation dependent.
*
* CommonMark refers to this field as the "info string".
*
* @privateRemarks
* Examples of language strings supported by GitHub flavored markdown:
* https://raw.githubusercontent.com/github/linguist/master/lib/linguist/languages.yml
*/
get: function () {
if (this._language === undefined) {
if (this._languageExcerpt !== undefined) {
this._language = this._languageExcerpt.content.toString();
}
else {
this._language = '';
}
}
return this._language;
},
enumerable: false,
configurable: true
});
Object.defineProperty(DocFencedCode.prototype, "code", {
/**
* The text that should be rendered as code.
*/
get: function () {
if (this._code === undefined) {
if (this._codeExcerpt !== undefined) {
this._code = this._codeExcerpt.content.toString();
}
}
return this._code;
},
enumerable: false,
configurable: true
});
/** @override */
DocFencedCode.prototype.onGetChildNodes = function () {
return [
this._openingFenceExcerpt,
this._spacingAfterOpeningFenceExcerpt,
this._languageExcerpt,
this._spacingAfterLanguageExcerpt,
this._codeExcerpt,
this._spacingBeforeClosingFenceExcerpt,
this._closingFenceExcerpt,
this._spacingAfterClosingFenceExcerpt
];
};
return DocFencedCode;
}(DocNode));
export { DocFencedCode };
//# sourceMappingURL=DocFencedCode.js.map

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,74 @@
import { DocNode, DocNodeKind, IDocNodeParameters, IDocNodeParsedParameters } from './DocNode';
import { TokenSequence } from '../parser/TokenSequence';
/**
* Constructor parameters for {@link DocHtmlAttribute}.
*/
export interface IDocHtmlAttributeParameters extends IDocNodeParameters {
name: string;
spacingAfterName?: string;
spacingAfterEquals?: string;
value: string;
spacingAfterValue?: string;
}
/**
* Constructor parameters for {@link DocHtmlAttribute}.
*/
export interface IDocHtmlAttributeParsedParameters extends IDocNodeParsedParameters {
nameExcerpt: TokenSequence;
spacingAfterNameExcerpt?: TokenSequence;
equalsExcerpt: TokenSequence;
spacingAfterEqualsExcerpt?: TokenSequence;
valueExcerpt: TokenSequence;
spacingAfterValueExcerpt?: TokenSequence;
}
/**
* Represents an HTML attribute inside a DocHtmlStartTag or DocHtmlEndTag.
*
* Example: `href="#"` inside `<a href="#" />`
*/
export declare class DocHtmlAttribute extends DocNode {
private _name;
private readonly _nameExcerpt;
private _spacingAfterName;
private readonly _spacingAfterNameExcerpt;
private readonly _equalsExcerpt;
private _spacingAfterEquals;
private readonly _spacingAfterEqualsExcerpt;
private _value;
private readonly _valueExcerpt;
private _spacingAfterValue;
private readonly _spacingAfterValueExcerpt;
/**
* Don't call this directly. Instead use {@link TSDocParser}
* @internal
*/
constructor(parameters: IDocHtmlAttributeParameters | IDocHtmlAttributeParsedParameters);
/** @override */
get kind(): DocNodeKind | string;
/**
* The HTML attribute name.
*/
get name(): string;
/**
* Explicit whitespace that a renderer should insert after the HTML attribute name.
* If undefined, then the renderer can use a formatting rule to generate appropriate spacing.
*/
get spacingAfterName(): string | undefined;
/**
* Explicit whitespace that a renderer should insert after the "=".
* If undefined, then the renderer can use a formatting rule to generate appropriate spacing.
*/
get spacingAfterEquals(): string | undefined;
/**
* The HTML attribute value.
*/
get value(): string;
/**
* Explicit whitespace that a renderer should insert after the HTML attribute name.
* If undefined, then the renderer can use a formatting rule to generate appropriate spacing.
*/
get spacingAfterValue(): string | undefined;
/** @override */
protected onGetChildNodes(): ReadonlyArray<DocNode | undefined>;
}
//# sourceMappingURL=DocHtmlAttribute.d.ts.map

View File

@ -0,0 +1 @@
{"version":3,"file":"DocHtmlAttribute.d.ts","sourceRoot":"","sources":["../../src/nodes/DocHtmlAttribute.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AAC/F,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAGxD;;GAEG;AACH,MAAM,WAAW,2BAA4B,SAAQ,kBAAkB;IACrE,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,iCAAkC,SAAQ,wBAAwB;IACjF,WAAW,EAAE,aAAa,CAAC;IAC3B,uBAAuB,CAAC,EAAE,aAAa,CAAC;IAExC,aAAa,EAAE,aAAa,CAAC;IAC7B,yBAAyB,CAAC,EAAE,aAAa,CAAC;IAE1C,YAAY,EAAE,aAAa,CAAC;IAC5B,wBAAwB,CAAC,EAAE,aAAa,CAAC;CAC1C;AAED;;;;GAIG;AACH,qBAAa,gBAAiB,SAAQ,OAAO;IAE3C,OAAO,CAAC,KAAK,CAAqB;IAClC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAyB;IAEtD,OAAO,CAAC,iBAAiB,CAAqB;IAC9C,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAyB;IAGlE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAyB;IAExD,OAAO,CAAC,mBAAmB,CAAqB;IAChD,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CAAyB;IAGpE,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAyB;IAEvD,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAyB;IAEnE;;;OAGG;gBACgB,UAAU,EAAE,2BAA2B,GAAG,iCAAiC;IAqD9F,gBAAgB;IAChB,IAAW,IAAI,IAAI,WAAW,GAAG,MAAM,CAEtC;IAED;;OAEG;IACH,IAAW,IAAI,IAAI,MAAM,CAKxB;IAED;;;OAGG;IACH,IAAW,gBAAgB,IAAI,MAAM,GAAG,SAAS,CAOhD;IAED;;;OAGG;IACH,IAAW,kBAAkB,IAAI,MAAM,GAAG,SAAS,CAOlD;IAED;;OAEG;IACH,IAAW,KAAK,IAAI,MAAM,CAKzB;IAED;;;OAGG;IACH,IAAW,iBAAiB,IAAI,MAAM,GAAG,SAAS,CAOjD;IAED,gBAAgB;IAChB,SAAS,CAAC,eAAe,IAAI,aAAa,CAAC,OAAO,GAAG,SAAS,CAAC;CAUhE"}

View File

@ -0,0 +1,172 @@
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
import { DocNode, DocNodeKind } from './DocNode';
import { DocExcerpt, ExcerptKind } from './DocExcerpt';
/**
* Represents an HTML attribute inside a DocHtmlStartTag or DocHtmlEndTag.
*
* Example: `href="#"` inside `<a href="#" />`
*/
var DocHtmlAttribute = /** @class */ (function (_super) {
__extends(DocHtmlAttribute, _super);
/**
* Don't call this directly. Instead use {@link TSDocParser}
* @internal
*/
function DocHtmlAttribute(parameters) {
var _this = _super.call(this, parameters) || this;
if (DocNode.isParsedParameters(parameters)) {
_this._nameExcerpt = new DocExcerpt({
configuration: _this.configuration,
excerptKind: ExcerptKind.HtmlAttribute_Name,
content: parameters.nameExcerpt
});
if (parameters.spacingAfterNameExcerpt) {
_this._spacingAfterNameExcerpt = new DocExcerpt({
configuration: _this.configuration,
excerptKind: ExcerptKind.Spacing,
content: parameters.spacingAfterNameExcerpt
});
}
_this._equalsExcerpt = new DocExcerpt({
configuration: _this.configuration,
excerptKind: ExcerptKind.HtmlAttribute_Equals,
content: parameters.equalsExcerpt
});
if (parameters.spacingAfterEqualsExcerpt) {
_this._spacingAfterEqualsExcerpt = new DocExcerpt({
configuration: _this.configuration,
excerptKind: ExcerptKind.Spacing,
content: parameters.spacingAfterEqualsExcerpt
});
}
_this._valueExcerpt = new DocExcerpt({
configuration: _this.configuration,
excerptKind: ExcerptKind.HtmlAttribute_Value,
content: parameters.valueExcerpt
});
if (parameters.spacingAfterValueExcerpt) {
_this._spacingAfterValueExcerpt = new DocExcerpt({
configuration: _this.configuration,
excerptKind: ExcerptKind.Spacing,
content: parameters.spacingAfterValueExcerpt
});
}
}
else {
_this._name = parameters.name;
_this._spacingAfterName = parameters.spacingAfterName;
_this._spacingAfterEquals = parameters.spacingAfterEquals;
_this._value = parameters.value;
_this._spacingAfterValue = parameters.spacingAfterValue;
}
return _this;
}
Object.defineProperty(DocHtmlAttribute.prototype, "kind", {
/** @override */
get: function () {
return DocNodeKind.HtmlAttribute;
},
enumerable: false,
configurable: true
});
Object.defineProperty(DocHtmlAttribute.prototype, "name", {
/**
* The HTML attribute name.
*/
get: function () {
if (this._name === undefined) {
this._name = this._nameExcerpt.content.toString();
}
return this._name;
},
enumerable: false,
configurable: true
});
Object.defineProperty(DocHtmlAttribute.prototype, "spacingAfterName", {
/**
* Explicit whitespace that a renderer should insert after the HTML attribute name.
* If undefined, then the renderer can use a formatting rule to generate appropriate spacing.
*/
get: function () {
if (this._spacingAfterName === undefined) {
if (this._spacingAfterNameExcerpt !== undefined) {
this._spacingAfterName = this._spacingAfterNameExcerpt.content.toString();
}
}
return this._spacingAfterName;
},
enumerable: false,
configurable: true
});
Object.defineProperty(DocHtmlAttribute.prototype, "spacingAfterEquals", {
/**
* Explicit whitespace that a renderer should insert after the "=".
* If undefined, then the renderer can use a formatting rule to generate appropriate spacing.
*/
get: function () {
if (this._spacingAfterEquals === undefined) {
if (this._spacingAfterEqualsExcerpt !== undefined) {
this._spacingAfterEquals = this._spacingAfterEqualsExcerpt.content.toString();
}
}
return this._spacingAfterEquals;
},
enumerable: false,
configurable: true
});
Object.defineProperty(DocHtmlAttribute.prototype, "value", {
/**
* The HTML attribute value.
*/
get: function () {
if (this._value === undefined) {
this._value = this._valueExcerpt.content.toString();
}
return this._value;
},
enumerable: false,
configurable: true
});
Object.defineProperty(DocHtmlAttribute.prototype, "spacingAfterValue", {
/**
* Explicit whitespace that a renderer should insert after the HTML attribute name.
* If undefined, then the renderer can use a formatting rule to generate appropriate spacing.
*/
get: function () {
if (this._spacingAfterValue === undefined) {
if (this._spacingAfterValueExcerpt !== undefined) {
this._spacingAfterValue = this._spacingAfterValueExcerpt.content.toString();
}
}
return this._spacingAfterValue;
},
enumerable: false,
configurable: true
});
/** @override */
DocHtmlAttribute.prototype.onGetChildNodes = function () {
return [
this._nameExcerpt,
this._spacingAfterNameExcerpt,
this._equalsExcerpt,
this._spacingAfterEqualsExcerpt,
this._valueExcerpt,
this._spacingAfterValueExcerpt
];
};
return DocHtmlAttribute;
}(DocNode));
export { DocHtmlAttribute };
//# sourceMappingURL=DocHtmlAttribute.js.map

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,45 @@
import { DocNode, DocNodeKind, IDocNodeParameters, IDocNodeParsedParameters } from './DocNode';
import { TokenSequence } from '../parser/TokenSequence';
/**
* Constructor parameters for {@link DocHtmlEndTag}.
*/
export interface IDocHtmlEndTagParameters extends IDocNodeParameters {
name: string;
}
/**
* Constructor parameters for {@link DocHtmlEndTag}.
*/
export interface IDocHtmlEndTagParsedParameters extends IDocNodeParsedParameters {
openingDelimiterExcerpt: TokenSequence;
nameExcerpt: TokenSequence;
spacingAfterNameExcerpt?: TokenSequence;
closingDelimiterExcerpt: TokenSequence;
}
/**
* Represents an HTML end tag. Example: `</a>`
*/
export declare class DocHtmlEndTag extends DocNode {
private readonly _openingDelimiterExcerpt;
private _name;
private readonly _nameExcerpt;
private readonly _spacingAfterNameExcerpt;
private readonly _closingDelimiterExcerpt;
/**
* Don't call this directly. Instead use {@link TSDocParser}
* @internal
*/
constructor(parameters: IDocHtmlEndTagParameters | IDocHtmlEndTagParsedParameters);
/** @override */
get kind(): DocNodeKind | string;
/**
* The HTML element name.
*/
get name(): string;
/**
* Generates the HTML for this tag.
*/
emitAsHtml(): string;
/** @override */
protected onGetChildNodes(): ReadonlyArray<DocNode | undefined>;
}
//# sourceMappingURL=DocHtmlEndTag.d.ts.map

View File

@ -0,0 +1 @@
{"version":3,"file":"DocHtmlEndTag.d.ts","sourceRoot":"","sources":["../../src/nodes/DocHtmlEndTag.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AAC/F,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAKxD;;GAEG;AACH,MAAM,WAAW,wBAAyB,SAAQ,kBAAkB;IAClE,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,8BAA+B,SAAQ,wBAAwB;IAC9E,uBAAuB,EAAE,aAAa,CAAC;IAEvC,WAAW,EAAE,aAAa,CAAC;IAC3B,uBAAuB,CAAC,EAAE,aAAa,CAAC;IAExC,uBAAuB,EAAE,aAAa,CAAC;CACxC;AAED;;GAEG;AACH,qBAAa,aAAc,SAAQ,OAAO;IAExC,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAyB;IAGlE,OAAO,CAAC,KAAK,CAAqB;IAClC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAyB;IACtD,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAyB;IAGlE,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAyB;IAElE;;;OAGG;gBACgB,UAAU,EAAE,wBAAwB,GAAG,8BAA8B;IAiCxF,gBAAgB;IAChB,IAAW,IAAI,IAAI,WAAW,GAAG,MAAM,CAEtC;IAED;;OAEG;IACH,IAAW,IAAI,IAAI,MAAM,CAKxB;IAED;;OAEG;IACI,UAAU,IAAI,MAAM;IAQ3B,gBAAgB;IAChB,SAAS,CAAC,eAAe,IAAI,aAAa,CAAC,OAAO,GAAG,SAAS,CAAC;CAQhE"}

View File

@ -0,0 +1,101 @@
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
import { DocNode, DocNodeKind } from './DocNode';
import { DocExcerpt, ExcerptKind } from './DocExcerpt';
import { StringBuilder } from '../emitters/StringBuilder';
import { TSDocEmitter } from '../emitters/TSDocEmitter';
/**
* Represents an HTML end tag. Example: `</a>`
*/
var DocHtmlEndTag = /** @class */ (function (_super) {
__extends(DocHtmlEndTag, _super);
/**
* Don't call this directly. Instead use {@link TSDocParser}
* @internal
*/
function DocHtmlEndTag(parameters) {
var _this = _super.call(this, parameters) || this;
if (DocNode.isParsedParameters(parameters)) {
_this._openingDelimiterExcerpt = new DocExcerpt({
configuration: _this.configuration,
excerptKind: ExcerptKind.HtmlEndTag_OpeningDelimiter,
content: parameters.openingDelimiterExcerpt
});
_this._nameExcerpt = new DocExcerpt({
configuration: _this.configuration,
excerptKind: ExcerptKind.HtmlEndTag_Name,
content: parameters.nameExcerpt
});
if (parameters.spacingAfterNameExcerpt) {
_this._spacingAfterNameExcerpt = new DocExcerpt({
configuration: _this.configuration,
excerptKind: ExcerptKind.Spacing,
content: parameters.spacingAfterNameExcerpt
});
}
_this._closingDelimiterExcerpt = new DocExcerpt({
configuration: _this.configuration,
excerptKind: ExcerptKind.HtmlEndTag_ClosingDelimiter,
content: parameters.closingDelimiterExcerpt
});
}
else {
_this._name = parameters.name;
}
return _this;
}
Object.defineProperty(DocHtmlEndTag.prototype, "kind", {
/** @override */
get: function () {
return DocNodeKind.HtmlEndTag;
},
enumerable: false,
configurable: true
});
Object.defineProperty(DocHtmlEndTag.prototype, "name", {
/**
* The HTML element name.
*/
get: function () {
if (this._name === undefined) {
this._name = this._nameExcerpt.content.toString();
}
return this._name;
},
enumerable: false,
configurable: true
});
/**
* Generates the HTML for this tag.
*/
DocHtmlEndTag.prototype.emitAsHtml = function () {
// NOTE: Here we're assuming that the TSDoc representation for a tag is also a valid HTML expression.
var stringBuilder = new StringBuilder();
var emitter = new TSDocEmitter();
emitter.renderHtmlTag(stringBuilder, this);
return stringBuilder.toString();
};
/** @override */
DocHtmlEndTag.prototype.onGetChildNodes = function () {
return [
this._openingDelimiterExcerpt,
this._nameExcerpt,
this._spacingAfterNameExcerpt,
this._closingDelimiterExcerpt
];
};
return DocHtmlEndTag;
}(DocNode));
export { DocHtmlEndTag };
//# sourceMappingURL=DocHtmlEndTag.js.map

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,69 @@
import { DocNode, DocNodeKind, IDocNodeParameters, IDocNodeParsedParameters } from './DocNode';
import { DocHtmlAttribute } from './DocHtmlAttribute';
import { TokenSequence } from '../parser/TokenSequence';
/**
* Constructor parameters for {@link DocHtmlStartTag}.
*/
export interface IDocHtmlStartTagParameters extends IDocNodeParameters {
name: string;
spacingAfterName?: string;
htmlAttributes?: DocHtmlAttribute[];
selfClosingTag?: boolean;
}
/**
* Constructor parameters for {@link DocHtmlStartTag}.
*/
export interface IDocHtmlStartTagParsedParameters extends IDocNodeParsedParameters {
openingDelimiterExcerpt: TokenSequence;
nameExcerpt: TokenSequence;
spacingAfterNameExcerpt?: TokenSequence;
htmlAttributes: DocHtmlAttribute[];
selfClosingTag: boolean;
closingDelimiterExcerpt: TokenSequence;
}
/**
* Represents an HTML start tag, which may or may not be self-closing.
*
* Example: `<a href="#" />`
*/
export declare class DocHtmlStartTag extends DocNode {
private readonly _openingDelimiterExcerpt;
private _name;
private readonly _nameExcerpt;
private _spacingAfterName;
private readonly _spacingAfterNameExcerpt;
private readonly _htmlAttributes;
private readonly _selfClosingTag;
private readonly _closingDelimiterExcerpt;
/**
* Don't call this directly. Instead use {@link TSDocParser}
* @internal
*/
constructor(parameters: IDocHtmlStartTagParameters | IDocHtmlStartTagParsedParameters);
/** @override */
get kind(): DocNodeKind | string;
/**
* The HTML element name.
*/
get name(): string;
/**
* The HTML attributes belonging to this HTML element.
*/
get htmlAttributes(): ReadonlyArray<DocHtmlAttribute>;
/**
* If true, then the HTML tag ends with `/>` instead of `>`.
*/
get selfClosingTag(): boolean;
/**
* Explicit whitespace that a renderer should insert after the HTML element name.
* If undefined, then the renderer can use a formatting rule to generate appropriate spacing.
*/
get spacingAfterName(): string | undefined;
/**
* Generates the HTML for this tag.
*/
emitAsHtml(): string;
/** @override */
protected onGetChildNodes(): ReadonlyArray<DocNode | undefined>;
}
//# sourceMappingURL=DocHtmlStartTag.d.ts.map

View File

@ -0,0 +1 @@
{"version":3,"file":"DocHtmlStartTag.d.ts","sourceRoot":"","sources":["../../src/nodes/DocHtmlStartTag.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AAC/F,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAKxD;;GAEG;AACH,MAAM,WAAW,0BAA2B,SAAQ,kBAAkB;IACpE,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,cAAc,CAAC,EAAE,gBAAgB,EAAE,CAAC;IACpC,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,gCAAiC,SAAQ,wBAAwB;IAChF,uBAAuB,EAAE,aAAa,CAAC;IAEvC,WAAW,EAAE,aAAa,CAAC;IAC3B,uBAAuB,CAAC,EAAE,aAAa,CAAC;IAExC,cAAc,EAAE,gBAAgB,EAAE,CAAC;IACnC,cAAc,EAAE,OAAO,CAAC;IAExB,uBAAuB,EAAE,aAAa,CAAC;CACxC;AAED;;;;GAIG;AACH,qBAAa,eAAgB,SAAQ,OAAO;IAE1C,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAyB;IAGlE,OAAO,CAAC,KAAK,CAAqB;IAClC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAyB;IAEtD,OAAO,CAAC,iBAAiB,CAAqB;IAC9C,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAyB;IAElE,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAqB;IAErD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAU;IAG1C,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAyB;IAElE;;;OAGG;gBACgB,UAAU,EAAE,0BAA0B,GAAG,gCAAgC;IAyC5F,gBAAgB;IAChB,IAAW,IAAI,IAAI,WAAW,GAAG,MAAM,CAEtC;IAED;;OAEG;IACH,IAAW,IAAI,IAAI,MAAM,CAKxB;IAED;;OAEG;IACH,IAAW,cAAc,IAAI,aAAa,CAAC,gBAAgB,CAAC,CAE3D;IAED;;OAEG;IACH,IAAW,cAAc,IAAI,OAAO,CAEnC;IAED;;;OAGG;IACH,IAAW,gBAAgB,IAAI,MAAM,GAAG,SAAS,CAQhD;IAED;;OAEG;IACI,UAAU,IAAI,MAAM;IAQ3B,gBAAgB;IAChB,SAAS,CAAC,eAAe,IAAI,aAAa,CAAC,OAAO,GAAG,SAAS,CAAC;CAShE"}

View File

@ -0,0 +1,154 @@
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
var __spreadArrays = (this && this.__spreadArrays) || function () {
for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
for (var r = Array(s), k = 0, i = 0; i < il; i++)
for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
r[k] = a[j];
return r;
};
import { DocNode, DocNodeKind } from './DocNode';
import { DocExcerpt, ExcerptKind } from './DocExcerpt';
import { StringBuilder } from '../emitters/StringBuilder';
import { TSDocEmitter } from '../emitters/TSDocEmitter';
/**
* Represents an HTML start tag, which may or may not be self-closing.
*
* Example: `<a href="#" />`
*/
var DocHtmlStartTag = /** @class */ (function (_super) {
__extends(DocHtmlStartTag, _super);
/**
* Don't call this directly. Instead use {@link TSDocParser}
* @internal
*/
function DocHtmlStartTag(parameters) {
var _a;
var _this = _super.call(this, parameters) || this;
if (DocNode.isParsedParameters(parameters)) {
_this._openingDelimiterExcerpt = new DocExcerpt({
configuration: _this.configuration,
excerptKind: ExcerptKind.HtmlStartTag_OpeningDelimiter,
content: parameters.openingDelimiterExcerpt
});
_this._nameExcerpt = new DocExcerpt({
configuration: _this.configuration,
excerptKind: ExcerptKind.HtmlStartTag_Name,
content: parameters.nameExcerpt
});
if (parameters.spacingAfterNameExcerpt) {
_this._spacingAfterNameExcerpt = new DocExcerpt({
configuration: _this.configuration,
excerptKind: ExcerptKind.Spacing,
content: parameters.spacingAfterNameExcerpt
});
}
_this._closingDelimiterExcerpt = new DocExcerpt({
configuration: _this.configuration,
excerptKind: ExcerptKind.HtmlStartTag_ClosingDelimiter,
content: parameters.closingDelimiterExcerpt
});
}
else {
_this._name = parameters.name;
_this._spacingAfterName = parameters.spacingAfterName;
}
_this._htmlAttributes = [];
if (parameters.htmlAttributes) {
(_a = _this._htmlAttributes).push.apply(_a, parameters.htmlAttributes);
}
_this._selfClosingTag = !!parameters.selfClosingTag;
return _this;
}
Object.defineProperty(DocHtmlStartTag.prototype, "kind", {
/** @override */
get: function () {
return DocNodeKind.HtmlStartTag;
},
enumerable: false,
configurable: true
});
Object.defineProperty(DocHtmlStartTag.prototype, "name", {
/**
* The HTML element name.
*/
get: function () {
if (this._name === undefined) {
this._name = this._nameExcerpt.content.toString();
}
return this._name;
},
enumerable: false,
configurable: true
});
Object.defineProperty(DocHtmlStartTag.prototype, "htmlAttributes", {
/**
* The HTML attributes belonging to this HTML element.
*/
get: function () {
return this._htmlAttributes;
},
enumerable: false,
configurable: true
});
Object.defineProperty(DocHtmlStartTag.prototype, "selfClosingTag", {
/**
* If true, then the HTML tag ends with `/>` instead of `>`.
*/
get: function () {
return this._selfClosingTag;
},
enumerable: false,
configurable: true
});
Object.defineProperty(DocHtmlStartTag.prototype, "spacingAfterName", {
/**
* Explicit whitespace that a renderer should insert after the HTML element name.
* If undefined, then the renderer can use a formatting rule to generate appropriate spacing.
*/
get: function () {
if (this._spacingAfterName === undefined) {
if (this._spacingAfterNameExcerpt !== undefined) {
this._spacingAfterName = this._spacingAfterNameExcerpt.content.toString();
}
}
return this._spacingAfterName;
},
enumerable: false,
configurable: true
});
/**
* Generates the HTML for this tag.
*/
DocHtmlStartTag.prototype.emitAsHtml = function () {
// NOTE: Here we're assuming that the TSDoc representation for a tag is also a valid HTML expression.
var stringBuilder = new StringBuilder();
var emitter = new TSDocEmitter();
emitter.renderHtmlTag(stringBuilder, this);
return stringBuilder.toString();
};
/** @override */
DocHtmlStartTag.prototype.onGetChildNodes = function () {
return __spreadArrays([
this._openingDelimiterExcerpt,
this._nameExcerpt,
this._spacingAfterNameExcerpt
], this._htmlAttributes, [
this._closingDelimiterExcerpt
]);
};
return DocHtmlStartTag;
}(DocNode));
export { DocHtmlStartTag };
//# sourceMappingURL=DocHtmlStartTag.js.map

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,36 @@
import { DocNodeKind, DocNode } from './DocNode';
import { DocDeclarationReference } from './DocDeclarationReference';
import { DocInlineTagBase, IDocInlineTagBaseParsedParameters, IDocInlineTagBaseParameters } from './DocInlineTagBase';
/**
* Constructor parameters for {@link DocInheritDocTag}.
*/
export interface IDocInheritDocTagParameters extends IDocInlineTagBaseParameters {
declarationReference?: DocDeclarationReference;
}
/**
* Constructor parameters for {@link DocInheritDocTag}.
*/
export interface IDocInheritDocTagParsedParameters extends IDocInlineTagBaseParsedParameters {
declarationReference?: DocDeclarationReference;
}
/**
* Represents an `{@inheritDoc}` tag.
*/
export declare class DocInheritDocTag extends DocInlineTagBase {
private readonly _declarationReference;
/**
* Don't call this directly. Instead use {@link TSDocParser}
* @internal
*/
constructor(parameters: IDocInheritDocTagParameters | IDocInheritDocTagParsedParameters);
/** @override */
get kind(): DocNodeKind | string;
/**
* The declaration that the documentation will be inherited from.
* If omitted, the documentation will be inherited from the parent class.
*/
get declarationReference(): DocDeclarationReference | undefined;
/** @override */
protected getChildNodesForContent(): ReadonlyArray<DocNode | undefined>;
}
//# sourceMappingURL=DocInheritDocTag.d.ts.map

View File

@ -0,0 +1 @@
{"version":3,"file":"DocInheritDocTag.d.ts","sourceRoot":"","sources":["../../src/nodes/DocInheritDocTag.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EACL,gBAAgB,EAChB,iCAAiC,EACjC,2BAA2B,EAC5B,MAAM,oBAAoB,CAAC;AAE5B;;GAEG;AACH,MAAM,WAAW,2BAA4B,SAAQ,2BAA2B;IAC9E,oBAAoB,CAAC,EAAE,uBAAuB,CAAC;CAChD;AAED;;GAEG;AACH,MAAM,WAAW,iCAAkC,SAAQ,iCAAiC;IAC1F,oBAAoB,CAAC,EAAE,uBAAuB,CAAC;CAChD;AAED;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,gBAAgB;IACpD,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAsC;IAE5E;;;OAGG;gBACgB,UAAU,EAAE,2BAA2B,GAAG,iCAAiC;IAU9F,gBAAgB;IAChB,IAAW,IAAI,IAAI,WAAW,GAAG,MAAM,CAEtC;IAED;;;OAGG;IACH,IAAW,oBAAoB,IAAI,uBAAuB,GAAG,SAAS,CAErE;IAED,gBAAgB;IAChB,SAAS,CAAC,uBAAuB,IAAI,aAAa,CAAC,OAAO,GAAG,SAAS,CAAC;CAIxE"}

View File

@ -0,0 +1,60 @@
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
import { DocNodeKind } from './DocNode';
import { DocInlineTagBase } from './DocInlineTagBase';
/**
* Represents an `{@inheritDoc}` tag.
*/
var DocInheritDocTag = /** @class */ (function (_super) {
__extends(DocInheritDocTag, _super);
/**
* Don't call this directly. Instead use {@link TSDocParser}
* @internal
*/
function DocInheritDocTag(parameters) {
var _this = _super.call(this, parameters) || this;
if (_this.tagNameWithUpperCase !== '@INHERITDOC') {
throw new Error('DocInheritDocTag requires the tag name to be "{@inheritDoc}"');
}
_this._declarationReference = parameters.declarationReference;
return _this;
}
Object.defineProperty(DocInheritDocTag.prototype, "kind", {
/** @override */
get: function () {
return DocNodeKind.InheritDocTag;
},
enumerable: false,
configurable: true
});
Object.defineProperty(DocInheritDocTag.prototype, "declarationReference", {
/**
* The declaration that the documentation will be inherited from.
* If omitted, the documentation will be inherited from the parent class.
*/
get: function () {
return this._declarationReference;
},
enumerable: false,
configurable: true
});
/** @override */
DocInheritDocTag.prototype.getChildNodesForContent = function () {
// abstract
return [this._declarationReference];
};
return DocInheritDocTag;
}(DocInlineTagBase));
export { DocInheritDocTag };
//# sourceMappingURL=DocInheritDocTag.js.map

View File

@ -0,0 +1 @@
{"version":3,"file":"DocInheritDocTag.js","sourceRoot":"","sources":["../../src/nodes/DocInheritDocTag.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,OAAO,EAAE,WAAW,EAAW,MAAM,WAAW,CAAC;AAEjD,OAAO,EACL,gBAAgB,EAGjB,MAAM,oBAAoB,CAAC;AAgB5B;;GAEG;AACH;IAAsC,oCAAgB;IAGpD;;;OAGG;IACH,0BAAmB,UAA2E;QAA9F,YACE,kBAAM,UAAU,CAAC,SAOlB;QALC,IAAI,KAAI,CAAC,oBAAoB,KAAK,aAAa,EAAE;YAC/C,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;SACjF;QAED,KAAI,CAAC,qBAAqB,GAAG,UAAU,CAAC,oBAAoB,CAAC;;IAC/D,CAAC;IAGD,sBAAW,kCAAI;QADf,gBAAgB;aAChB;YACE,OAAO,WAAW,CAAC,aAAa,CAAC;QACnC,CAAC;;;OAAA;IAMD,sBAAW,kDAAoB;QAJ/B;;;WAGG;aACH;YACE,OAAO,IAAI,CAAC,qBAAqB,CAAC;QACpC,CAAC;;;OAAA;IAED,gBAAgB;IACN,kDAAuB,GAAjC;QACE,WAAW;QACX,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IACtC,CAAC;IACH,uBAAC;AAAD,CAAC,AAnCD,CAAsC,gBAAgB,GAmCrD","sourcesContent":["import { DocNodeKind, DocNode } from './DocNode';\r\nimport { DocDeclarationReference } from './DocDeclarationReference';\r\nimport {\r\n DocInlineTagBase,\r\n IDocInlineTagBaseParsedParameters,\r\n IDocInlineTagBaseParameters\r\n} from './DocInlineTagBase';\r\n\r\n/**\r\n * Constructor parameters for {@link DocInheritDocTag}.\r\n */\r\nexport interface IDocInheritDocTagParameters extends IDocInlineTagBaseParameters {\r\n declarationReference?: DocDeclarationReference;\r\n}\r\n\r\n/**\r\n * Constructor parameters for {@link DocInheritDocTag}.\r\n */\r\nexport interface IDocInheritDocTagParsedParameters extends IDocInlineTagBaseParsedParameters {\r\n declarationReference?: DocDeclarationReference;\r\n}\r\n\r\n/**\r\n * Represents an `{@inheritDoc}` tag.\r\n */\r\nexport class DocInheritDocTag extends DocInlineTagBase {\r\n private readonly _declarationReference: DocDeclarationReference | undefined;\r\n\r\n /**\r\n * Don't call this directly. Instead use {@link TSDocParser}\r\n * @internal\r\n */\r\n public constructor(parameters: IDocInheritDocTagParameters | IDocInheritDocTagParsedParameters) {\r\n super(parameters);\r\n\r\n if (this.tagNameWithUpperCase !== '@INHERITDOC') {\r\n throw new Error('DocInheritDocTag requires the tag name to be \"{@inheritDoc}\"');\r\n }\r\n\r\n this._declarationReference = parameters.declarationReference;\r\n }\r\n\r\n /** @override */\r\n public get kind(): DocNodeKind | string {\r\n return DocNodeKind.InheritDocTag;\r\n }\r\n\r\n /**\r\n * The declaration that the documentation will be inherited from.\r\n * If omitted, the documentation will be inherited from the parent class.\r\n */\r\n public get declarationReference(): DocDeclarationReference | undefined {\r\n return this._declarationReference;\r\n }\r\n\r\n /** @override */\r\n protected getChildNodesForContent(): ReadonlyArray<DocNode | undefined> {\r\n // abstract\r\n return [this._declarationReference];\r\n }\r\n}\r\n"]}

View File

@ -0,0 +1,46 @@
import { DocNodeKind, DocNode } from './DocNode';
import { TokenSequence } from '../parser/TokenSequence';
import { IDocInlineTagBaseParameters, IDocInlineTagBaseParsedParameters, DocInlineTagBase } from './DocInlineTagBase';
/**
* Constructor parameters for {@link DocInlineTag}.
*/
export interface IDocInlineTagParameters extends IDocInlineTagBaseParameters {
tagContent: string;
}
/**
* Constructor parameters for {@link DocInlineTag}.
*/
export interface IDocInlineTagParsedParameters extends IDocInlineTagBaseParsedParameters {
tagContentExcerpt?: TokenSequence;
}
/**
* Represents a generic TSDoc inline tag, including custom tags.
*
* @remarks
* NOTE: Certain tags such as `{@link}` and `{@inheritDoc}` have specialized structures and parser rules,
* and thus are represented using {@link DocLinkTag} or {@link DocInheritDocTag} instead. However, if the
* specialized parser rule encounters a syntax error, but the outer framing is correct, then the parser constructs
* a generic `DocInlineTag` instead of `DocErrorText`. This means, for example, that it is possible sometimes for
* `DocInlineTag.tagName` to be `"@link"`.
*/
export declare class DocInlineTag extends DocInlineTagBase {
private _tagContent;
private readonly _tagContentExcerpt;
/**
* Don't call this directly. Instead use {@link TSDocParser}
* @internal
*/
constructor(parameters: IDocInlineTagParameters | IDocInlineTagParsedParameters);
/** @override */
get kind(): DocNodeKind | string;
/**
* The tag content.
* @remarks
* For example, if the tag is `{@myTag x=12.34 y=56.78 }` then the tag content
* would be `x=12.34 y=56.78 `, including the trailing space but not the leading space.
*/
get tagContent(): string;
/** @override */
protected getChildNodesForContent(): ReadonlyArray<DocNode | undefined>;
}
//# sourceMappingURL=DocInlineTag.d.ts.map

View File

@ -0,0 +1 @@
{"version":3,"file":"DocInlineTag.d.ts","sourceRoot":"","sources":["../../src/nodes/DocInlineTag.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EACL,2BAA2B,EAC3B,iCAAiC,EACjC,gBAAgB,EACjB,MAAM,oBAAoB,CAAC;AAE5B;;GAEG;AACH,MAAM,WAAW,uBAAwB,SAAQ,2BAA2B;IAC1E,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,6BAA8B,SAAQ,iCAAiC;IACtF,iBAAiB,CAAC,EAAE,aAAa,CAAC;CACnC;AAED;;;;;;;;;GASG;AACH,qBAAa,YAAa,SAAQ,gBAAgB;IAChD,OAAO,CAAC,WAAW,CAAqB;IACxC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAyB;IAE5D;;;OAGG;gBACgB,UAAU,EAAE,uBAAuB,GAAG,6BAA6B;IAgBtF,gBAAgB;IAChB,IAAW,IAAI,IAAI,WAAW,GAAG,MAAM,CAEtC;IAED;;;;;OAKG;IACH,IAAW,UAAU,IAAI,MAAM,CAS9B;IAED,gBAAgB;IAChB,SAAS,CAAC,uBAAuB,IAAI,aAAa,CAAC,OAAO,GAAG,SAAS,CAAC;CAIxE"}

View File

@ -0,0 +1,86 @@
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
import { DocNodeKind, DocNode } from './DocNode';
import { DocExcerpt, ExcerptKind } from './DocExcerpt';
import { DocInlineTagBase } from './DocInlineTagBase';
/**
* Represents a generic TSDoc inline tag, including custom tags.
*
* @remarks
* NOTE: Certain tags such as `{@link}` and `{@inheritDoc}` have specialized structures and parser rules,
* and thus are represented using {@link DocLinkTag} or {@link DocInheritDocTag} instead. However, if the
* specialized parser rule encounters a syntax error, but the outer framing is correct, then the parser constructs
* a generic `DocInlineTag` instead of `DocErrorText`. This means, for example, that it is possible sometimes for
* `DocInlineTag.tagName` to be `"@link"`.
*/
var DocInlineTag = /** @class */ (function (_super) {
__extends(DocInlineTag, _super);
/**
* Don't call this directly. Instead use {@link TSDocParser}
* @internal
*/
function DocInlineTag(parameters) {
var _this = _super.call(this, parameters) || this;
if (DocNode.isParsedParameters(parameters)) {
if (parameters.tagContentExcerpt) {
_this._tagContentExcerpt = new DocExcerpt({
configuration: _this.configuration,
excerptKind: ExcerptKind.InlineTag_TagContent,
content: parameters.tagContentExcerpt
});
}
}
else {
_this._tagContent = parameters.tagContent;
}
return _this;
}
Object.defineProperty(DocInlineTag.prototype, "kind", {
/** @override */
get: function () {
return DocNodeKind.InlineTag;
},
enumerable: false,
configurable: true
});
Object.defineProperty(DocInlineTag.prototype, "tagContent", {
/**
* The tag content.
* @remarks
* For example, if the tag is `{@myTag x=12.34 y=56.78 }` then the tag content
* would be `x=12.34 y=56.78 `, including the trailing space but not the leading space.
*/
get: function () {
if (this._tagContent === undefined) {
if (this._tagContentExcerpt) {
this._tagContent = this._tagContentExcerpt.content.toString();
}
else {
return '';
}
}
return this._tagContent;
},
enumerable: false,
configurable: true
});
/** @override */
DocInlineTag.prototype.getChildNodesForContent = function () {
// abstract
return [this._tagContentExcerpt];
};
return DocInlineTag;
}(DocInlineTagBase));
export { DocInlineTag };
//# sourceMappingURL=DocInlineTag.js.map

View File

@ -0,0 +1 @@
{"version":3,"file":"DocInlineTag.js","sourceRoot":"","sources":["../../src/nodes/DocInlineTag.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEjD,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAGL,gBAAgB,EACjB,MAAM,oBAAoB,CAAC;AAgB5B;;;;;;;;;GASG;AACH;IAAkC,gCAAgB;IAIhD;;;OAGG;IACH,sBAAmB,UAAmE;QAAtF,YACE,kBAAM,UAAU,CAAC,SAalB;QAXC,IAAI,OAAO,CAAC,kBAAkB,CAAC,UAAU,CAAC,EAAE;YAC1C,IAAI,UAAU,CAAC,iBAAiB,EAAE;gBAChC,KAAI,CAAC,kBAAkB,GAAG,IAAI,UAAU,CAAC;oBACvC,aAAa,EAAE,KAAI,CAAC,aAAa;oBACjC,WAAW,EAAE,WAAW,CAAC,oBAAoB;oBAC7C,OAAO,EAAE,UAAU,CAAC,iBAAiB;iBACtC,CAAC,CAAC;aACJ;SACF;aAAM;YACL,KAAI,CAAC,WAAW,GAAG,UAAU,CAAC,UAAU,CAAC;SAC1C;;IACH,CAAC;IAGD,sBAAW,8BAAI;QADf,gBAAgB;aAChB;YACE,OAAO,WAAW,CAAC,SAAS,CAAC;QAC/B,CAAC;;;OAAA;IAQD,sBAAW,oCAAU;QANrB;;;;;WAKG;aACH;YACE,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE;gBAClC,IAAI,IAAI,CAAC,kBAAkB,EAAE;oBAC3B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;iBAC/D;qBAAM;oBACL,OAAO,EAAE,CAAC;iBACX;aACF;YACD,OAAO,IAAI,CAAC,WAAW,CAAC;QAC1B,CAAC;;;OAAA;IAED,gBAAgB;IACN,8CAAuB,GAAjC;QACE,WAAW;QACX,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IACnC,CAAC;IACH,mBAAC;AAAD,CAAC,AAnDD,CAAkC,gBAAgB,GAmDjD","sourcesContent":["import { DocNodeKind, DocNode } from './DocNode';\r\nimport { TokenSequence } from '../parser/TokenSequence';\r\nimport { DocExcerpt, ExcerptKind } from './DocExcerpt';\r\nimport {\r\n IDocInlineTagBaseParameters,\r\n IDocInlineTagBaseParsedParameters,\r\n DocInlineTagBase\r\n} from './DocInlineTagBase';\r\n\r\n/**\r\n * Constructor parameters for {@link DocInlineTag}.\r\n */\r\nexport interface IDocInlineTagParameters extends IDocInlineTagBaseParameters {\r\n tagContent: string;\r\n}\r\n\r\n/**\r\n * Constructor parameters for {@link DocInlineTag}.\r\n */\r\nexport interface IDocInlineTagParsedParameters extends IDocInlineTagBaseParsedParameters {\r\n tagContentExcerpt?: TokenSequence;\r\n}\r\n\r\n/**\r\n * Represents a generic TSDoc inline tag, including custom tags.\r\n *\r\n * @remarks\r\n * NOTE: Certain tags such as `{@link}` and `{@inheritDoc}` have specialized structures and parser rules,\r\n * and thus are represented using {@link DocLinkTag} or {@link DocInheritDocTag} instead. However, if the\r\n * specialized parser rule encounters a syntax error, but the outer framing is correct, then the parser constructs\r\n * a generic `DocInlineTag` instead of `DocErrorText`. This means, for example, that it is possible sometimes for\r\n * `DocInlineTag.tagName` to be `\"@link\"`.\r\n */\r\nexport class DocInlineTag extends DocInlineTagBase {\r\n private _tagContent: string | undefined;\r\n private readonly _tagContentExcerpt: DocExcerpt | undefined;\r\n\r\n /**\r\n * Don't call this directly. Instead use {@link TSDocParser}\r\n * @internal\r\n */\r\n public constructor(parameters: IDocInlineTagParameters | IDocInlineTagParsedParameters) {\r\n super(parameters);\r\n\r\n if (DocNode.isParsedParameters(parameters)) {\r\n if (parameters.tagContentExcerpt) {\r\n this._tagContentExcerpt = new DocExcerpt({\r\n configuration: this.configuration,\r\n excerptKind: ExcerptKind.InlineTag_TagContent,\r\n content: parameters.tagContentExcerpt\r\n });\r\n }\r\n } else {\r\n this._tagContent = parameters.tagContent;\r\n }\r\n }\r\n\r\n /** @override */\r\n public get kind(): DocNodeKind | string {\r\n return DocNodeKind.InlineTag;\r\n }\r\n\r\n /**\r\n * The tag content.\r\n * @remarks\r\n * For example, if the tag is `{@myTag x=12.34 y=56.78 }` then the tag content\r\n * would be `x=12.34 y=56.78 `, including the trailing space but not the leading space.\r\n */\r\n public get tagContent(): string {\r\n if (this._tagContent === undefined) {\r\n if (this._tagContentExcerpt) {\r\n this._tagContent = this._tagContentExcerpt.content.toString();\r\n } else {\r\n return '';\r\n }\r\n }\r\n return this._tagContent;\r\n }\r\n\r\n /** @override */\r\n protected getChildNodesForContent(): ReadonlyArray<DocNode | undefined> {\r\n // abstract\r\n return [this._tagContentExcerpt];\r\n }\r\n}\r\n"]}

View File

@ -0,0 +1,57 @@
import { IDocNodeParameters, DocNode, IDocNodeParsedParameters } from './DocNode';
import { TokenSequence } from '../parser/TokenSequence';
/**
* Constructor parameters for {@link DocInlineTagBase}.
*/
export interface IDocInlineTagBaseParameters extends IDocNodeParameters {
tagName: string;
}
/**
* Constructor parameters for {@link DocInlineTagBase}.
*/
export interface IDocInlineTagBaseParsedParameters extends IDocNodeParsedParameters {
openingDelimiterExcerpt: TokenSequence;
tagNameExcerpt: TokenSequence;
tagName: string;
spacingAfterTagNameExcerpt?: TokenSequence;
closingDelimiterExcerpt: TokenSequence;
}
/**
* The abstract base class for {@link DocInlineTag}, {@link DocLinkTag}, and {@link DocInheritDocTag}.
*/
export declare abstract class DocInlineTagBase extends DocNode {
private readonly _openingDelimiterExcerpt;
private readonly _tagName;
private readonly _tagNameWithUpperCase;
private readonly _tagNameExcerpt;
private readonly _spacingAfterTagNameExcerpt;
private readonly _closingDelimiterExcerpt;
/**
* Don't call this directly. Instead use {@link TSDocParser}
* @internal
*/
constructor(parameters: IDocInlineTagBaseParameters | IDocInlineTagBaseParsedParameters);
/**
* The TSDoc tag name. TSDoc tag names start with an at-sign (`@`) followed
* by ASCII letters using "camelCase" capitalization.
*
* @remarks
* For example, if the inline tag is `{@link Guid.toString | the toString() method}`
* then the tag name would be `@link`.
*/
get tagName(): string;
/**
* The TSDoc tag name in all capitals, which is used for performing
* case-insensitive comparisons or lookups.
*/
get tagNameWithUpperCase(): string;
/** @override @sealed */
protected onGetChildNodes(): ReadonlyArray<DocNode | undefined>;
/**
* Allows child classes to replace the tagContentParticle with a more detailed
* set of nodes.
* @virtual
*/
protected abstract getChildNodesForContent(): ReadonlyArray<DocNode | undefined>;
}
//# sourceMappingURL=DocInlineTagBase.d.ts.map

View File

@ -0,0 +1 @@
{"version":3,"file":"DocInlineTagBase.d.ts","sourceRoot":"","sources":["../../src/nodes/DocInlineTagBase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AAElF,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAGxD;;GAEG;AACH,MAAM,WAAW,2BAA4B,SAAQ,kBAAkB;IACrE,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,iCAAkC,SAAQ,wBAAwB;IACjF,uBAAuB,EAAE,aAAa,CAAC;IAEvC,cAAc,EAAE,aAAa,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,0BAA0B,CAAC,EAAE,aAAa,CAAC;IAE3C,uBAAuB,EAAE,aAAa,CAAC;CACxC;AAED;;GAEG;AACH,8BAAsB,gBAAiB,SAAQ,OAAO;IACpD,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAyB;IAElE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAS;IAC/C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAyB;IACzD,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAAyB;IAErE,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAyB;IAElE;;;OAGG;gBACgB,UAAU,EAAE,2BAA2B,GAAG,iCAAiC;IAqC9F;;;;;;;OAOG;IACH,IAAW,OAAO,IAAI,MAAM,CAE3B;IAED;;;OAGG;IACH,IAAW,oBAAoB,IAAI,MAAM,CAExC;IAED,wBAAwB;IACxB,SAAS,CAAC,eAAe,IAAI,aAAa,CAAC,OAAO,GAAG,SAAS,CAAC;IAU/D;;;;OAIG;IACH,SAAS,CAAC,QAAQ,CAAC,uBAAuB,IAAI,aAAa,CAAC,OAAO,GAAG,SAAS,CAAC;CACjF"}

View File

@ -0,0 +1,103 @@
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
var __spreadArrays = (this && this.__spreadArrays) || function () {
for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
for (var r = Array(s), k = 0, i = 0; i < il; i++)
for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
r[k] = a[j];
return r;
};
import { DocNode } from './DocNode';
import { StringChecks } from '../parser/StringChecks';
import { DocExcerpt, ExcerptKind } from './DocExcerpt';
/**
* The abstract base class for {@link DocInlineTag}, {@link DocLinkTag}, and {@link DocInheritDocTag}.
*/
var DocInlineTagBase = /** @class */ (function (_super) {
__extends(DocInlineTagBase, _super);
/**
* Don't call this directly. Instead use {@link TSDocParser}
* @internal
*/
function DocInlineTagBase(parameters) {
var _this = _super.call(this, parameters) || this;
StringChecks.validateTSDocTagName(parameters.tagName);
if (DocNode.isParsedParameters(parameters)) {
_this._openingDelimiterExcerpt = new DocExcerpt({
configuration: _this.configuration,
excerptKind: ExcerptKind.InlineTag_OpeningDelimiter,
content: parameters.openingDelimiterExcerpt
});
_this._tagNameExcerpt = new DocExcerpt({
configuration: _this.configuration,
excerptKind: ExcerptKind.InlineTag_TagName,
content: parameters.tagNameExcerpt
});
if (parameters.spacingAfterTagNameExcerpt) {
_this._spacingAfterTagNameExcerpt = new DocExcerpt({
configuration: _this.configuration,
excerptKind: ExcerptKind.Spacing,
content: parameters.spacingAfterTagNameExcerpt
});
}
_this._closingDelimiterExcerpt = new DocExcerpt({
configuration: _this.configuration,
excerptKind: ExcerptKind.InlineTag_ClosingDelimiter,
content: parameters.closingDelimiterExcerpt
});
}
_this._tagName = parameters.tagName;
_this._tagNameWithUpperCase = parameters.tagName.toUpperCase();
return _this;
}
Object.defineProperty(DocInlineTagBase.prototype, "tagName", {
/**
* The TSDoc tag name. TSDoc tag names start with an at-sign (`@`) followed
* by ASCII letters using "camelCase" capitalization.
*
* @remarks
* For example, if the inline tag is `{@link Guid.toString | the toString() method}`
* then the tag name would be `@link`.
*/
get: function () {
return this._tagName;
},
enumerable: false,
configurable: true
});
Object.defineProperty(DocInlineTagBase.prototype, "tagNameWithUpperCase", {
/**
* The TSDoc tag name in all capitals, which is used for performing
* case-insensitive comparisons or lookups.
*/
get: function () {
return this._tagNameWithUpperCase;
},
enumerable: false,
configurable: true
});
/** @override @sealed */
DocInlineTagBase.prototype.onGetChildNodes = function () {
return __spreadArrays([
this._openingDelimiterExcerpt,
this._tagNameExcerpt,
this._spacingAfterTagNameExcerpt
], this.getChildNodesForContent(), [
this._closingDelimiterExcerpt
]);
};
return DocInlineTagBase;
}(DocNode));
export { DocInlineTagBase };
//# sourceMappingURL=DocInlineTagBase.js.map

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,85 @@
import { DocNodeKind, DocNode } from './DocNode';
import { DocDeclarationReference } from './DocDeclarationReference';
import { DocInlineTagBase, IDocInlineTagBaseParsedParameters, IDocInlineTagBaseParameters } from './DocInlineTagBase';
import { TokenSequence } from '../parser/TokenSequence';
/**
* Constructor parameters for {@link DocLinkTag}.
*/
export interface IDocLinkTagParameters extends IDocInlineTagBaseParameters {
codeDestination?: DocDeclarationReference;
urlDestination?: string;
linkText?: string;
}
/**
* Constructor parameters for {@link DocLinkTag}.
*/
export interface IDocLinkTagParsedParameters extends IDocInlineTagBaseParsedParameters {
codeDestination?: DocDeclarationReference;
urlDestinationExcerpt?: TokenSequence;
spacingAfterDestinationExcerpt?: TokenSequence;
pipeExcerpt?: TokenSequence;
spacingAfterPipeExcerpt?: TokenSequence;
linkTextExcerpt?: TokenSequence;
spacingAfterLinkTextExcerpt?: TokenSequence;
}
/**
* Represents an `{@link}` tag.
*/
export declare class DocLinkTag extends DocInlineTagBase {
private readonly _codeDestination;
private _urlDestination;
private readonly _urlDestinationExcerpt;
private readonly _spacingAfterDestinationExcerpt;
private readonly _pipeExcerpt;
private readonly _spacingAfterPipeExcerpt;
private _linkText;
private readonly _spacingAfterLinkTextExcerpt;
private readonly _linkTextExcerpt;
/**
* Don't call this directly. Instead use {@link TSDocParser}
* @internal
*/
constructor(parameters: IDocLinkTagParameters | IDocLinkTagParsedParameters);
/** @override */
get kind(): DocNodeKind | string;
/**
* If the link tag refers to a declaration, this returns the declaration reference object;
* otherwise this property is undefined.
* @remarks
* Either the `codeDestination` or the `urlDestination` property will be defined, but never both.
*/
get codeDestination(): DocDeclarationReference | undefined;
/**
* If the link tag was an ordinary URI, this returns the URL string;
* otherwise this property is undefined.
* @remarks
* Either the `codeDestination` or the `urlDestination` property will be defined, but never both.
*/
get urlDestination(): string | undefined;
/**
* An optional text string that is the hyperlink text. If omitted, the documentation
* renderer will use a default string based on the link itself (e.g. the URL text
* or the declaration identifier).
*
* @remarks
*
* In HTML, the hyperlink can include leading/trailing space characters around the link text.
* For example, this HTML will cause a web browser to `y` and also the space character before
* and after it:
*
* ```html
* x<a href="#Button"> y </a> z
* ```
*
* Unlike HTML, TSDoc trims leading/trailing spaces. For example, this TSDoc will be
* displayed `xy z` and underline only the `y` character:
*
* ```
* x{@link Button | y } z
* ```
*/
get linkText(): string | undefined;
/** @override */
protected getChildNodesForContent(): ReadonlyArray<DocNode | undefined>;
}
//# sourceMappingURL=DocLinkTag.d.ts.map

View File

@ -0,0 +1 @@
{"version":3,"file":"DocLinkTag.d.ts","sourceRoot":"","sources":["../../src/nodes/DocLinkTag.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EACL,gBAAgB,EAChB,iCAAiC,EACjC,2BAA2B,EAC5B,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAExD;;GAEG;AACH,MAAM,WAAW,qBAAsB,SAAQ,2BAA2B;IACxE,eAAe,CAAC,EAAE,uBAAuB,CAAC;IAE1C,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,2BAA4B,SAAQ,iCAAiC;IACpF,eAAe,CAAC,EAAE,uBAAuB,CAAC;IAE1C,qBAAqB,CAAC,EAAE,aAAa,CAAC;IAEtC,8BAA8B,CAAC,EAAE,aAAa,CAAC;IAE/C,WAAW,CAAC,EAAE,aAAa,CAAC;IAC5B,uBAAuB,CAAC,EAAE,aAAa,CAAC;IAExC,eAAe,CAAC,EAAE,aAAa,CAAC;IAChC,2BAA2B,CAAC,EAAE,aAAa,CAAC;CAC7C;AAED;;GAEG;AACH,qBAAa,UAAW,SAAQ,gBAAgB;IAC9C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAsC;IAEvE,OAAO,CAAC,eAAe,CAAqB;IAC5C,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAyB;IAEhE,OAAO,CAAC,QAAQ,CAAC,+BAA+B,CAAyB;IAEzE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAyB;IACtD,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAyB;IAElE,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CAAyB;IAEtE,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAyB;IAE1D;;;OAGG;gBACgB,UAAU,EAAE,qBAAqB,GAAG,2BAA2B;IAoElF,gBAAgB;IAChB,IAAW,IAAI,IAAI,WAAW,GAAG,MAAM,CAEtC;IAED;;;;;OAKG;IACH,IAAW,eAAe,IAAI,uBAAuB,GAAG,SAAS,CAEhE;IAED;;;;;OAKG;IACH,IAAW,cAAc,IAAI,MAAM,GAAG,SAAS,CAO9C;IAED;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,IAAW,QAAQ,IAAI,MAAM,GAAG,SAAS,CAOxC;IAED,gBAAgB;IAChB,SAAS,CAAC,uBAAuB,IAAI,aAAa,CAAC,OAAO,GAAG,SAAS,CAAC;CAYxE"}

177
node_modules/@microsoft/tsdoc/lib/nodes/DocLinkTag.js generated vendored Normal file
View File

@ -0,0 +1,177 @@
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
import { DocNodeKind, DocNode } from './DocNode';
import { DocInlineTagBase } from './DocInlineTagBase';
import { DocExcerpt, ExcerptKind } from './DocExcerpt';
/**
* Represents an `{@link}` tag.
*/
var DocLinkTag = /** @class */ (function (_super) {
__extends(DocLinkTag, _super);
/**
* Don't call this directly. Instead use {@link TSDocParser}
* @internal
*/
function DocLinkTag(parameters) {
var _this = _super.call(this, parameters) || this;
if (_this.tagNameWithUpperCase !== '@LINK') {
throw new Error('DocLinkTag requires the tag name to be "{@link}"');
}
_this._codeDestination = parameters.codeDestination;
if (DocNode.isParsedParameters(parameters)) {
if (parameters.codeDestination !== undefined && parameters.urlDestinationExcerpt !== undefined) {
throw new Error('Either the codeDestination or the urlDestination may be specified, but not both');
}
if (parameters.urlDestinationExcerpt) {
_this._urlDestinationExcerpt = new DocExcerpt({
configuration: _this.configuration,
excerptKind: ExcerptKind.LinkTag_UrlDestination,
content: parameters.urlDestinationExcerpt
});
}
if (parameters.spacingAfterDestinationExcerpt) {
_this._spacingAfterDestinationExcerpt = new DocExcerpt({
configuration: _this.configuration,
excerptKind: ExcerptKind.Spacing,
content: parameters.spacingAfterDestinationExcerpt
});
}
if (parameters.pipeExcerpt) {
_this._pipeExcerpt = new DocExcerpt({
configuration: _this.configuration,
excerptKind: ExcerptKind.LinkTag_Pipe,
content: parameters.pipeExcerpt
});
}
if (parameters.spacingAfterPipeExcerpt) {
_this._spacingAfterPipeExcerpt = new DocExcerpt({
configuration: _this.configuration,
excerptKind: ExcerptKind.Spacing,
content: parameters.spacingAfterPipeExcerpt
});
}
if (parameters.linkTextExcerpt) {
_this._linkTextExcerpt = new DocExcerpt({
configuration: _this.configuration,
excerptKind: ExcerptKind.LinkTag_LinkText,
content: parameters.linkTextExcerpt
});
}
if (parameters.spacingAfterLinkTextExcerpt) {
_this._spacingAfterLinkTextExcerpt = new DocExcerpt({
configuration: _this.configuration,
excerptKind: ExcerptKind.Spacing,
content: parameters.spacingAfterLinkTextExcerpt
});
}
}
else {
if (parameters.codeDestination !== undefined && parameters.urlDestination !== undefined) {
throw new Error('Either the codeDestination or the urlDestination may be specified, but not both');
}
_this._urlDestination = parameters.urlDestination;
_this._linkText = parameters.linkText;
}
return _this;
}
Object.defineProperty(DocLinkTag.prototype, "kind", {
/** @override */
get: function () {
return DocNodeKind.LinkTag;
},
enumerable: false,
configurable: true
});
Object.defineProperty(DocLinkTag.prototype, "codeDestination", {
/**
* If the link tag refers to a declaration, this returns the declaration reference object;
* otherwise this property is undefined.
* @remarks
* Either the `codeDestination` or the `urlDestination` property will be defined, but never both.
*/
get: function () {
return this._codeDestination;
},
enumerable: false,
configurable: true
});
Object.defineProperty(DocLinkTag.prototype, "urlDestination", {
/**
* If the link tag was an ordinary URI, this returns the URL string;
* otherwise this property is undefined.
* @remarks
* Either the `codeDestination` or the `urlDestination` property will be defined, but never both.
*/
get: function () {
if (this._urlDestination === undefined) {
if (this._urlDestinationExcerpt !== undefined) {
this._urlDestination = this._urlDestinationExcerpt.content.toString();
}
}
return this._urlDestination;
},
enumerable: false,
configurable: true
});
Object.defineProperty(DocLinkTag.prototype, "linkText", {
/**
* An optional text string that is the hyperlink text. If omitted, the documentation
* renderer will use a default string based on the link itself (e.g. the URL text
* or the declaration identifier).
*
* @remarks
*
* In HTML, the hyperlink can include leading/trailing space characters around the link text.
* For example, this HTML will cause a web browser to `y` and also the space character before
* and after it:
*
* ```html
* x<a href="#Button"> y </a> z
* ```
*
* Unlike HTML, TSDoc trims leading/trailing spaces. For example, this TSDoc will be
* displayed `xy z` and underline only the `y` character:
*
* ```
* x{@link Button | y } z
* ```
*/
get: function () {
if (this._linkText === undefined) {
if (this._linkTextExcerpt !== undefined) {
this._linkText = this._linkTextExcerpt.content.toString();
}
}
return this._linkText;
},
enumerable: false,
configurable: true
});
/** @override */
DocLinkTag.prototype.getChildNodesForContent = function () {
// abstract
return [
this._codeDestination,
this._urlDestinationExcerpt,
this._spacingAfterDestinationExcerpt,
this._pipeExcerpt,
this._spacingAfterPipeExcerpt,
this._linkTextExcerpt,
this._spacingAfterLinkTextExcerpt
];
};
return DocLinkTag;
}(DocInlineTagBase));
export { DocLinkTag };
//# sourceMappingURL=DocLinkTag.js.map

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,59 @@
import { DocNodeKind, DocNode, IDocNodeParameters, IDocNodeParsedParameters } from './DocNode';
import { TokenSequence } from '../parser/TokenSequence';
/**
* Constructor parameters for {@link DocMemberIdentifier}.
*/
export interface IDocMemberIdentifierParameters extends IDocNodeParameters {
identifier: string;
}
/**
* Constructor parameters for {@link DocMemberIdentifier}.
*/
export interface IDocMemberIdentifierParsedParameters extends IDocNodeParsedParameters {
leftQuoteExcerpt?: TokenSequence;
identifierExcerpt: TokenSequence;
rightQuoteExcerpt?: TokenSequence;
}
/**
* A member identifier is part of a {@link DocMemberReference}.
*/
export declare class DocMemberIdentifier extends DocNode {
private readonly _leftQuoteExcerpt;
private _identifier;
private readonly _identifierExcerpt;
private readonly _rightQuoteExcerpt;
/**
* Don't call this directly. Instead use {@link TSDocParser}
* @internal
*/
constructor(parameters: IDocMemberIdentifierParameters | IDocMemberIdentifierParsedParameters);
/**
* Tests whether the input string can be used without quotes as a member identifier in a declaration reference.
* If not, {@link DocMemberIdentifier.hasQuotes} will be required.
*
* @remarks
* In order to be used without quotes, the string must follow the identifier syntax for ECMAScript / TypeScript,
* and it must not be one of the reserved words used for system selectors (such as `instance`, `static`,
* `constructor`, etc).
*/
static isValidIdentifier(identifier: string): boolean;
/** @override */
get kind(): DocNodeKind | string;
/**
* The identifier string without any quote encoding.
*
* @remarks
* If the value is not a valid ECMAScript identifier, it will be quoted as a
* string literal during rendering.
*/
get identifier(): string;
/**
* Returns true if the identifier will be rendered as a quoted string literal
* instead of as a programming language identifier. This is required if the
* `identifier` property is not a valid ECMAScript identifier.
*/
get hasQuotes(): boolean;
/** @override */
protected onGetChildNodes(): ReadonlyArray<DocNode | undefined>;
}
//# sourceMappingURL=DocMemberIdentifier.d.ts.map

View File

@ -0,0 +1 @@
{"version":3,"file":"DocMemberIdentifier.d.ts","sourceRoot":"","sources":["../../src/nodes/DocMemberIdentifier.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AAE/F,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAGxD;;GAEG;AACH,MAAM,WAAW,8BAA+B,SAAQ,kBAAkB;IACxE,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,oCAAqC,SAAQ,wBAAwB;IACpF,gBAAgB,CAAC,EAAE,aAAa,CAAC;IAEjC,iBAAiB,EAAE,aAAa,CAAC;IAEjC,iBAAiB,CAAC,EAAE,aAAa,CAAC;CACnC;AAED;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,OAAO;IAC9C,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAyB;IAE3D,OAAO,CAAC,WAAW,CAAqB;IACxC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAyB;IAE5D,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAyB;IAE5D;;;OAGG;gBACgB,UAAU,EAAE,8BAA8B,GAAG,oCAAoC;IA8BpG;;;;;;;;OAQG;WACW,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAI5D,gBAAgB;IAChB,IAAW,IAAI,IAAI,WAAW,GAAG,MAAM,CAEtC;IAED;;;;;;OAMG;IACH,IAAW,UAAU,IAAI,MAAM,CAK9B;IAED;;;;OAIG;IACH,IAAW,SAAS,IAAI,OAAO,CAM9B;IAED,gBAAgB;IAChB,SAAS,CAAC,eAAe,IAAI,aAAa,CAAC,OAAO,GAAG,SAAS,CAAC;CAGhE"}

View File

@ -0,0 +1,115 @@
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
import { DocNodeKind, DocNode } from './DocNode';
import { StringChecks } from '../parser/StringChecks';
import { DocExcerpt, ExcerptKind } from './DocExcerpt';
/**
* A member identifier is part of a {@link DocMemberReference}.
*/
var DocMemberIdentifier = /** @class */ (function (_super) {
__extends(DocMemberIdentifier, _super);
/**
* Don't call this directly. Instead use {@link TSDocParser}
* @internal
*/
function DocMemberIdentifier(parameters) {
var _this = _super.call(this, parameters) || this;
if (DocNode.isParsedParameters(parameters)) {
if (parameters.leftQuoteExcerpt) {
_this._leftQuoteExcerpt = new DocExcerpt({
configuration: _this.configuration,
excerptKind: ExcerptKind.MemberIdentifier_LeftQuote,
content: parameters.leftQuoteExcerpt
});
}
_this._identifierExcerpt = new DocExcerpt({
configuration: _this.configuration,
excerptKind: ExcerptKind.MemberIdentifier_Identifier,
content: parameters.identifierExcerpt
});
if (parameters.rightQuoteExcerpt) {
_this._rightQuoteExcerpt = new DocExcerpt({
configuration: _this.configuration,
excerptKind: ExcerptKind.MemberIdentifier_RightQuote,
content: parameters.rightQuoteExcerpt
});
}
}
else {
_this._identifier = parameters.identifier;
}
return _this;
}
/**
* Tests whether the input string can be used without quotes as a member identifier in a declaration reference.
* If not, {@link DocMemberIdentifier.hasQuotes} will be required.
*
* @remarks
* In order to be used without quotes, the string must follow the identifier syntax for ECMAScript / TypeScript,
* and it must not be one of the reserved words used for system selectors (such as `instance`, `static`,
* `constructor`, etc).
*/
DocMemberIdentifier.isValidIdentifier = function (identifier) {
return !StringChecks.explainIfInvalidUnquotedMemberIdentifier(identifier);
};
Object.defineProperty(DocMemberIdentifier.prototype, "kind", {
/** @override */
get: function () {
return DocNodeKind.MemberIdentifier;
},
enumerable: false,
configurable: true
});
Object.defineProperty(DocMemberIdentifier.prototype, "identifier", {
/**
* The identifier string without any quote encoding.
*
* @remarks
* If the value is not a valid ECMAScript identifier, it will be quoted as a
* string literal during rendering.
*/
get: function () {
if (this._identifier === undefined) {
this._identifier = this._identifierExcerpt.content.toString();
}
return this._identifier;
},
enumerable: false,
configurable: true
});
Object.defineProperty(DocMemberIdentifier.prototype, "hasQuotes", {
/**
* Returns true if the identifier will be rendered as a quoted string literal
* instead of as a programming language identifier. This is required if the
* `identifier` property is not a valid ECMAScript identifier.
*/
get: function () {
if (this._identifierExcerpt) {
return !!this._leftQuoteExcerpt;
}
else {
return !DocMemberIdentifier.isValidIdentifier(this.identifier);
}
},
enumerable: false,
configurable: true
});
/** @override */
DocMemberIdentifier.prototype.onGetChildNodes = function () {
return [this._leftQuoteExcerpt, this._identifierExcerpt, this._rightQuoteExcerpt];
};
return DocMemberIdentifier;
}(DocNode));
export { DocMemberIdentifier };
//# sourceMappingURL=DocMemberIdentifier.js.map

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,90 @@
import { DocNode, DocNodeKind, IDocNodeParameters, IDocNodeParsedParameters } from './DocNode';
import { DocMemberIdentifier } from './DocMemberIdentifier';
import { DocMemberSymbol } from './DocMemberSymbol';
import { DocMemberSelector } from './DocMemberSelector';
import { TokenSequence } from '../parser/TokenSequence';
/**
* Constructor parameters for {@link DocMemberReference}.
*/
export interface IDocMemberReferenceParameters extends IDocNodeParameters {
hasDot: boolean;
memberIdentifier?: DocMemberIdentifier;
memberSymbol?: DocMemberSymbol;
selector?: DocMemberSelector;
}
/**
* Constructor parameters for {@link DocMemberReference}.
*/
export interface IDocMemberReferenceParsedParameters extends IDocNodeParsedParameters {
dotExcerpt?: TokenSequence;
spacingAfterDotExcerpt?: TokenSequence;
leftParenthesisExcerpt?: TokenSequence;
spacingAfterLeftParenthesisExcerpt?: TokenSequence;
memberIdentifier?: DocMemberIdentifier;
memberSymbol?: DocMemberSymbol;
spacingAfterMemberExcerpt?: TokenSequence;
colonExcerpt?: TokenSequence;
spacingAfterColonExcerpt?: TokenSequence;
selector?: DocMemberSelector;
spacingAfterSelectorExcerpt?: TokenSequence;
rightParenthesisExcerpt?: TokenSequence;
spacingAfterRightParenthesisExcerpt?: TokenSequence;
}
/**
* A {@link DocDeclarationReference | declaration reference} includes a chain of
* member references represented using `DocMemberReference` nodes.
*
* @remarks
* For example, `example-library#ui.controls.Button.(render:static)` is a
* declaration reference that contains three member references:
* `ui`, `.controls`, and `.Button`, and `.(render:static)`.
*/
export declare class DocMemberReference extends DocNode {
private readonly _hasDot;
private readonly _dotExcerpt;
private readonly _spacingAfterDotExcerpt;
private readonly _leftParenthesisExcerpt;
private readonly _spacingAfterLeftParenthesisExcerpt;
private readonly _memberIdentifier;
private readonly _memberSymbol;
private readonly _spacingAfterMemberExcerpt;
private readonly _colonExcerpt;
private readonly _spacingAfterColonExcerpt;
private readonly _selector;
private readonly _spacingAfterSelectorExcerpt;
private readonly _rightParenthesisExcerpt;
private readonly _spacingAfterRightParenthesisExcerpt;
/**
* Don't call this directly. Instead use {@link TSDocParser}
* @internal
*/
constructor(parameters: IDocMemberReferenceParameters | IDocMemberReferenceParsedParameters);
/** @override */
get kind(): DocNodeKind | string;
/**
* True if this member reference is preceded by a dot (".") token.
* It should be false only for the first member in the chain.
*/
get hasDot(): boolean;
/**
* The identifier for the referenced member.
* @remarks
* Either `memberIdentifier` or `memberSymbol` may be specified, but not both.
*/
get memberIdentifier(): DocMemberIdentifier | undefined;
/**
* The ECMAScript 6 symbol expression, which may be used instead of an identifier
* to indicate the referenced member.
* @remarks
* Either `memberIdentifier` or `memberSymbol` may be specified, but not both.
*/
get memberSymbol(): DocMemberSymbol | undefined;
/**
* A TSDoc selector, which may be optionally when the identifier or symbol is insufficient
* to unambiguously determine the referenced declaration.
*/
get selector(): DocMemberSelector | undefined;
/** @override */
protected onGetChildNodes(): ReadonlyArray<DocNode | undefined>;
}
//# sourceMappingURL=DocMemberReference.d.ts.map

View File

@ -0,0 +1 @@
{"version":3,"file":"DocMemberReference.d.ts","sourceRoot":"","sources":["../../src/nodes/DocMemberReference.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AAC/F,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAGxD;;GAEG;AACH,MAAM,WAAW,6BAA8B,SAAQ,kBAAkB;IACvE,MAAM,EAAE,OAAO,CAAC;IAEhB,gBAAgB,CAAC,EAAE,mBAAmB,CAAC;IACvC,YAAY,CAAC,EAAE,eAAe,CAAC;IAE/B,QAAQ,CAAC,EAAE,iBAAiB,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,mCAAoC,SAAQ,wBAAwB;IACnF,UAAU,CAAC,EAAE,aAAa,CAAC;IAC3B,sBAAsB,CAAC,EAAE,aAAa,CAAC;IAEvC,sBAAsB,CAAC,EAAE,aAAa,CAAC;IACvC,kCAAkC,CAAC,EAAE,aAAa,CAAC;IAEnD,gBAAgB,CAAC,EAAE,mBAAmB,CAAC;IACvC,YAAY,CAAC,EAAE,eAAe,CAAC;IAE/B,yBAAyB,CAAC,EAAE,aAAa,CAAC;IAE1C,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,wBAAwB,CAAC,EAAE,aAAa,CAAC;IAEzC,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,2BAA2B,CAAC,EAAE,aAAa,CAAC;IAE5C,uBAAuB,CAAC,EAAE,aAAa,CAAC;IACxC,mCAAmC,CAAC,EAAE,aAAa,CAAC;CACrD;AAED;;;;;;;;GAQG;AACH,qBAAa,kBAAmB,SAAQ,OAAO;IAE7C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAyB;IACrD,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAyB;IAEjE,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAyB;IACjE,OAAO,CAAC,QAAQ,CAAC,mCAAmC,CAAyB;IAE7E,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAkC;IAEpE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA8B;IAE5D,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CAAyB;IAGpE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAyB;IACvD,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAyB;IAEnE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAgC;IAC1D,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CAAyB;IAEtE,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAyB;IAClE,OAAO,CAAC,QAAQ,CAAC,oCAAoC,CAAyB;IAE9E;;;OAGG;gBACgB,UAAU,EAAE,6BAA6B,GAAG,mCAAmC;IAyFlG,gBAAgB;IAChB,IAAW,IAAI,IAAI,WAAW,GAAG,MAAM,CAEtC;IAED;;;OAGG;IACH,IAAW,MAAM,IAAI,OAAO,CAE3B;IAED;;;;OAIG;IACH,IAAW,gBAAgB,IAAI,mBAAmB,GAAG,SAAS,CAE7D;IAED;;;;;OAKG;IACH,IAAW,YAAY,IAAI,eAAe,GAAG,SAAS,CAErD;IAED;;;OAGG;IACH,IAAW,QAAQ,IAAI,iBAAiB,GAAG,SAAS,CAEnD;IAED,gBAAgB;IAChB,SAAS,CAAC,eAAe,IAAI,aAAa,CAAC,OAAO,GAAG,SAAS,CAAC;CAsBhE"}

View File

@ -0,0 +1,190 @@
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
import { DocNode, DocNodeKind } from './DocNode';
import { DocExcerpt, ExcerptKind } from './DocExcerpt';
/**
* A {@link DocDeclarationReference | declaration reference} includes a chain of
* member references represented using `DocMemberReference` nodes.
*
* @remarks
* For example, `example-library#ui.controls.Button.(render:static)` is a
* declaration reference that contains three member references:
* `ui`, `.controls`, and `.Button`, and `.(render:static)`.
*/
var DocMemberReference = /** @class */ (function (_super) {
__extends(DocMemberReference, _super);
/**
* Don't call this directly. Instead use {@link TSDocParser}
* @internal
*/
function DocMemberReference(parameters) {
var _this = _super.call(this, parameters) || this;
if (DocNode.isParsedParameters(parameters)) {
_this._hasDot = !!parameters.dotExcerpt;
if (parameters.dotExcerpt) {
_this._dotExcerpt = new DocExcerpt({
configuration: _this.configuration,
excerptKind: ExcerptKind.MemberReference_Dot,
content: parameters.dotExcerpt
});
}
if (parameters.spacingAfterDotExcerpt) {
_this._spacingAfterDotExcerpt = new DocExcerpt({
configuration: _this.configuration,
excerptKind: ExcerptKind.Spacing,
content: parameters.spacingAfterDotExcerpt
});
}
if (parameters.leftParenthesisExcerpt) {
_this._leftParenthesisExcerpt = new DocExcerpt({
configuration: _this.configuration,
excerptKind: ExcerptKind.MemberReference_LeftParenthesis,
content: parameters.leftParenthesisExcerpt
});
}
if (parameters.spacingAfterLeftParenthesisExcerpt) {
_this._spacingAfterLeftParenthesisExcerpt = new DocExcerpt({
configuration: _this.configuration,
excerptKind: ExcerptKind.Spacing,
content: parameters.spacingAfterLeftParenthesisExcerpt
});
}
if (parameters.spacingAfterMemberExcerpt) {
_this._spacingAfterMemberExcerpt = new DocExcerpt({
configuration: _this.configuration,
excerptKind: ExcerptKind.Spacing,
content: parameters.spacingAfterMemberExcerpt
});
}
if (parameters.colonExcerpt) {
_this._colonExcerpt = new DocExcerpt({
excerptKind: ExcerptKind.MemberReference_Colon,
configuration: _this.configuration,
content: parameters.colonExcerpt
});
}
if (parameters.spacingAfterColonExcerpt) {
_this._spacingAfterColonExcerpt = new DocExcerpt({
configuration: _this.configuration,
excerptKind: ExcerptKind.Spacing,
content: parameters.spacingAfterColonExcerpt
});
}
if (parameters.spacingAfterSelectorExcerpt) {
_this._spacingAfterSelectorExcerpt = new DocExcerpt({
configuration: _this.configuration,
excerptKind: ExcerptKind.Spacing,
content: parameters.spacingAfterSelectorExcerpt
});
}
if (parameters.rightParenthesisExcerpt) {
_this._rightParenthesisExcerpt = new DocExcerpt({
configuration: _this.configuration,
excerptKind: ExcerptKind.MemberReference_RightParenthesis,
content: parameters.rightParenthesisExcerpt
});
}
if (parameters.spacingAfterRightParenthesisExcerpt) {
_this._spacingAfterRightParenthesisExcerpt = new DocExcerpt({
configuration: _this.configuration,
excerptKind: ExcerptKind.Spacing,
content: parameters.spacingAfterRightParenthesisExcerpt
});
}
}
else {
_this._hasDot = parameters.hasDot;
}
_this._memberIdentifier = parameters.memberIdentifier;
_this._memberSymbol = parameters.memberSymbol;
_this._selector = parameters.selector;
return _this;
}
Object.defineProperty(DocMemberReference.prototype, "kind", {
/** @override */
get: function () {
return DocNodeKind.MemberReference;
},
enumerable: false,
configurable: true
});
Object.defineProperty(DocMemberReference.prototype, "hasDot", {
/**
* True if this member reference is preceded by a dot (".") token.
* It should be false only for the first member in the chain.
*/
get: function () {
return this._hasDot;
},
enumerable: false,
configurable: true
});
Object.defineProperty(DocMemberReference.prototype, "memberIdentifier", {
/**
* The identifier for the referenced member.
* @remarks
* Either `memberIdentifier` or `memberSymbol` may be specified, but not both.
*/
get: function () {
return this._memberIdentifier;
},
enumerable: false,
configurable: true
});
Object.defineProperty(DocMemberReference.prototype, "memberSymbol", {
/**
* The ECMAScript 6 symbol expression, which may be used instead of an identifier
* to indicate the referenced member.
* @remarks
* Either `memberIdentifier` or `memberSymbol` may be specified, but not both.
*/
get: function () {
return this._memberSymbol;
},
enumerable: false,
configurable: true
});
Object.defineProperty(DocMemberReference.prototype, "selector", {
/**
* A TSDoc selector, which may be optionally when the identifier or symbol is insufficient
* to unambiguously determine the referenced declaration.
*/
get: function () {
return this._selector;
},
enumerable: false,
configurable: true
});
/** @override */
DocMemberReference.prototype.onGetChildNodes = function () {
return [
this._dotExcerpt,
this._spacingAfterDotExcerpt,
this._leftParenthesisExcerpt,
this._spacingAfterLeftParenthesisExcerpt,
this._memberIdentifier,
this._memberSymbol,
this._spacingAfterMemberExcerpt,
this._colonExcerpt,
this._spacingAfterColonExcerpt,
this._selector,
this._spacingAfterSelectorExcerpt,
this._rightParenthesisExcerpt,
this._spacingAfterRightParenthesisExcerpt
];
};
return DocMemberReference;
}(DocNode));
export { DocMemberReference };
//# sourceMappingURL=DocMemberReference.js.map

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,86 @@
import { DocNodeKind, DocNode, IDocNodeParsedParameters, IDocNodeParameters } from './DocNode';
import { TokenSequence } from '../parser/TokenSequence';
/**
* Kinds of TSDoc selectors.
*/
export declare enum SelectorKind {
/**
* Used in cases where the parser encounters a string that is incorrect but
* valid enough that a DocMemberSelector node was created.
*/
Error = "error",
/**
* System selectors are always all lower-case and belong to a set of predefined label names.
*/
System = "system",
/**
* Index selectors are integer numbers. They provide an alternative way of referencing
* overloaded functions, based on the order in which the declarations appear in
* a source file.
*
* @remarks
* Warning: Index selectors are not recommended; they are intended to provide a temporary
* workaround for situations where an external library neglected to declare a `{@label}` tag
* and cannot be easily fixed.
*/
Index = "index",
/**
* Label selectors refer to labels created using the `{@label}` TSDoc tag.
* The labels are always comprised of upper-case letters or numbers separated by underscores,
* and the first character cannot be a number.
*/
Label = "label"
}
/**
* Constructor parameters for {@link DocMemberSelector}.
*/
export interface IDocMemberSelectorParameters extends IDocNodeParameters {
selector: string;
}
/**
* Constructor parameters for {@link DocMemberSelector}.
*/
export interface IDocMemberSelectorParsedParameters extends IDocNodeParsedParameters {
selectorExcerpt: TokenSequence;
}
/**
*/
export declare class DocMemberSelector extends DocNode {
private static readonly _likeIndexSelectorRegExp;
private static readonly _indexSelectorRegExp;
private static readonly _likeLabelSelectorRegExp;
private static readonly _labelSelectorRegExp;
private static readonly _likeSystemSelectorRegExp;
private readonly _selector;
private _selectorExcerpt;
private readonly _selectorKind;
private readonly _errorMessage;
/**
* Don't call this directly. Instead use {@link TSDocParser}
* @internal
*/
constructor(parameters: IDocMemberSelectorParameters | IDocMemberSelectorParsedParameters);
/** @override */
get kind(): DocNodeKind | string;
/**
* The text representation of the selector.
*
* @remarks
* For system selectors, it will be a predefined lower case name.
* For label selectors, it will be an upper case name defined using the `{@label}` tag.
* For index selectors, it will be a positive integer.
*/
get selector(): string;
/**
* Indicates the kind of selector.
*/
get selectorKind(): SelectorKind;
/**
* If the `selectorKind` is `SelectorKind.Error`, this string will be defined and provide
* more detail about why the string was not valid.
*/
get errorMessage(): string | undefined;
/** @override */
protected onGetChildNodes(): ReadonlyArray<DocNode | undefined>;
}
//# sourceMappingURL=DocMemberSelector.d.ts.map

View File

@ -0,0 +1 @@
{"version":3,"file":"DocMemberSelector.d.ts","sourceRoot":"","sources":["../../src/nodes/DocMemberSelector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAE/F,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAGxD;;GAEG;AACH,oBAAY,YAAY;IACtB;;;OAGG;IACH,KAAK,UAAU;IAEf;;OAEG;IACH,MAAM,WAAW;IAEjB;;;;;;;;;OASG;IACH,KAAK,UAAU;IAEf;;;;OAIG;IACH,KAAK,UAAU;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,4BAA6B,SAAQ,kBAAkB;IACtE,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,kCAAmC,SAAQ,wBAAwB;IAClF,eAAe,EAAE,aAAa,CAAC;CAChC;AAED;GACG;AACH,qBAAa,iBAAkB,SAAQ,OAAO;IAC5C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,wBAAwB,CAAoB;IAEpE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAA2B;IAEvE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,wBAAwB,CAAsB;IAEtE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAAgC;IAE5E,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,yBAAyB,CAAuB;IAExE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,gBAAgB,CAAyB;IAEjD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAe;IAE7C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAqB;IAEnD;;;OAGG;gBACgB,UAAU,EAAE,4BAA4B,GAAG,kCAAkC;IAuDhG,gBAAgB;IAChB,IAAW,IAAI,IAAI,WAAW,GAAG,MAAM,CAEtC;IAED;;;;;;;OAOG;IACH,IAAW,QAAQ,IAAI,MAAM,CAE5B;IAED;;OAEG;IACH,IAAW,YAAY,IAAI,YAAY,CAEtC;IAED;;;OAGG;IACH,IAAW,YAAY,IAAI,MAAM,GAAG,SAAS,CAE5C;IAED,gBAAgB;IAChB,SAAS,CAAC,eAAe,IAAI,aAAa,CAAC,OAAO,GAAG,SAAS,CAAC;CAGhE"}

View File

@ -0,0 +1,169 @@
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
import { DocNodeKind, DocNode } from './DocNode';
import { StringChecks } from '../parser/StringChecks';
import { DocExcerpt, ExcerptKind } from './DocExcerpt';
/**
* Kinds of TSDoc selectors.
*/
export var SelectorKind;
(function (SelectorKind) {
/**
* Used in cases where the parser encounters a string that is incorrect but
* valid enough that a DocMemberSelector node was created.
*/
SelectorKind["Error"] = "error";
/**
* System selectors are always all lower-case and belong to a set of predefined label names.
*/
SelectorKind["System"] = "system";
/**
* Index selectors are integer numbers. They provide an alternative way of referencing
* overloaded functions, based on the order in which the declarations appear in
* a source file.
*
* @remarks
* Warning: Index selectors are not recommended; they are intended to provide a temporary
* workaround for situations where an external library neglected to declare a `{@label}` tag
* and cannot be easily fixed.
*/
SelectorKind["Index"] = "index";
/**
* Label selectors refer to labels created using the `{@label}` TSDoc tag.
* The labels are always comprised of upper-case letters or numbers separated by underscores,
* and the first character cannot be a number.
*/
SelectorKind["Label"] = "label";
})(SelectorKind || (SelectorKind = {}));
/**
*/
var DocMemberSelector = /** @class */ (function (_super) {
__extends(DocMemberSelector, _super);
/**
* Don't call this directly. Instead use {@link TSDocParser}
* @internal
*/
function DocMemberSelector(parameters) {
var _this = _super.call(this, parameters) || this;
if (DocNode.isParsedParameters(parameters)) {
_this._selectorExcerpt = new DocExcerpt({
configuration: _this.configuration,
excerptKind: ExcerptKind.MemberSelector,
content: parameters.selectorExcerpt
});
_this._selector = parameters.selectorExcerpt.toString();
}
else {
_this._selector = parameters.selector;
}
_this._selectorKind = SelectorKind.Error;
_this._errorMessage = undefined;
// The logic below will always either (1) assign selectorKind or (2) else assign an errorMessage
if (_this._selector.length === 0) {
_this._errorMessage = 'The selector cannot be an empty string';
}
else if (DocMemberSelector._likeIndexSelectorRegExp.test(_this._selector)) {
// It looks like an index selector
if (DocMemberSelector._indexSelectorRegExp.test(_this._selector)) {
_this._selectorKind = SelectorKind.Index;
}
else {
_this._errorMessage = 'If the selector begins with a number, it must be a positive integer value';
}
}
else if (DocMemberSelector._likeLabelSelectorRegExp.test(_this._selector)) {
// It looks like a label selector
if (DocMemberSelector._labelSelectorRegExp.test(_this._selector)) {
_this._selectorKind = SelectorKind.Label;
}
else {
_this._errorMessage =
'A label selector must be comprised of upper case letters, numbers,' +
' and underscores and must not start with a number';
}
}
else {
if (StringChecks.isSystemSelector(_this._selector)) {
_this._selectorKind = SelectorKind.System;
}
else if (DocMemberSelector._likeSystemSelectorRegExp.test(_this._selector)) {
// It looks like a system selector, but is not
_this._errorMessage =
"The selector " + JSON.stringify(_this._selector) +
" is not a recognized TSDoc system selector name";
}
else {
// It doesn't look like anything we recognize
_this._errorMessage = 'Invalid syntax for selector';
}
}
return _this;
}
Object.defineProperty(DocMemberSelector.prototype, "kind", {
/** @override */
get: function () {
return DocNodeKind.MemberSelector;
},
enumerable: false,
configurable: true
});
Object.defineProperty(DocMemberSelector.prototype, "selector", {
/**
* The text representation of the selector.
*
* @remarks
* For system selectors, it will be a predefined lower case name.
* For label selectors, it will be an upper case name defined using the `{@label}` tag.
* For index selectors, it will be a positive integer.
*/
get: function () {
return this._selector;
},
enumerable: false,
configurable: true
});
Object.defineProperty(DocMemberSelector.prototype, "selectorKind", {
/**
* Indicates the kind of selector.
*/
get: function () {
return this._selectorKind;
},
enumerable: false,
configurable: true
});
Object.defineProperty(DocMemberSelector.prototype, "errorMessage", {
/**
* If the `selectorKind` is `SelectorKind.Error`, this string will be defined and provide
* more detail about why the string was not valid.
*/
get: function () {
return this._errorMessage;
},
enumerable: false,
configurable: true
});
/** @override */
DocMemberSelector.prototype.onGetChildNodes = function () {
return [this._selectorExcerpt];
};
DocMemberSelector._likeIndexSelectorRegExp = /^[0-9]/;
DocMemberSelector._indexSelectorRegExp = /^[1-9][0-9]*$/;
DocMemberSelector._likeLabelSelectorRegExp = /^[A-Z_]/u;
DocMemberSelector._labelSelectorRegExp = /^[A-Z_][A-Z0-9_]+$/;
DocMemberSelector._likeSystemSelectorRegExp = /^[a-z]+$/u;
return DocMemberSelector;
}(DocNode));
export { DocMemberSelector };
//# sourceMappingURL=DocMemberSelector.js.map

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,49 @@
import { DocNodeKind, DocNode, IDocNodeParameters, IDocNodeParsedParameters } from './DocNode';
import { DocDeclarationReference } from './DocDeclarationReference';
import { TokenSequence } from '../parser/TokenSequence';
/**
* Constructor parameters for {@link DocMemberSymbol}.
*/
export interface IDocMemberSymbolParameters extends IDocNodeParameters {
symbolReference: DocDeclarationReference;
}
/**
* Constructor parameters for {@link DocMemberSymbol}.
*/
export interface IDocMemberSymbolParsedParameters extends IDocNodeParsedParameters {
leftBracketExcerpt: TokenSequence;
spacingAfterLeftBracketExcerpt?: TokenSequence;
symbolReference: DocDeclarationReference;
rightBracketExcerpt: TokenSequence;
}
/**
* Represents a reference to an ECMAScript 6 symbol that is used
* to identify a member declaration.
*
* @example
*
* In the declaration reference `{@link MyClass.([MySymbols.example]:instance)}`,
* the member symbol `[MySymbols.example]` might be used to reference a property
* of the class.
*/
export declare class DocMemberSymbol extends DocNode {
private readonly _leftBracketExcerpt;
private readonly _spacingAfterLeftBracketExcerpt;
private readonly _symbolReference;
private readonly _rightBracketExcerpt;
/**
* Don't call this directly. Instead use {@link TSDocParser}
* @internal
*/
constructor(parameters: IDocMemberSymbolParameters | IDocMemberSymbolParsedParameters);
/** @override */
get kind(): DocNodeKind | string;
/**
* The declaration reference for the ECMAScript 6 symbol that will act as
* the identifier for the member.
*/
get symbolReference(): DocDeclarationReference;
/** @override */
protected onGetChildNodes(): ReadonlyArray<DocNode | undefined>;
}
//# sourceMappingURL=DocMemberSymbol.d.ts.map

View File

@ -0,0 +1 @@
{"version":3,"file":"DocMemberSymbol.d.ts","sourceRoot":"","sources":["../../src/nodes/DocMemberSymbol.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AAC/F,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAGxD;;GAEG;AACH,MAAM,WAAW,0BAA2B,SAAQ,kBAAkB;IACpE,eAAe,EAAE,uBAAuB,CAAC;CAC1C;AAED;;GAEG;AACH,MAAM,WAAW,gCAAiC,SAAQ,wBAAwB;IAChF,kBAAkB,EAAE,aAAa,CAAC;IAClC,8BAA8B,CAAC,EAAE,aAAa,CAAC;IAE/C,eAAe,EAAE,uBAAuB,CAAC;IAEzC,mBAAmB,EAAE,aAAa,CAAC;CACpC;AAED;;;;;;;;;GASG;AACH,qBAAa,eAAgB,SAAQ,OAAO;IAC1C,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAyB;IAC7D,OAAO,CAAC,QAAQ,CAAC,+BAA+B,CAAyB;IAEzE,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA0B;IAE3D,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAyB;IAE9D;;;OAGG;gBACgB,UAAU,EAAE,0BAA0B,GAAG,gCAAgC;IA4B5F,gBAAgB;IAChB,IAAW,IAAI,IAAI,WAAW,GAAG,MAAM,CAEtC;IAED;;;OAGG;IACH,IAAW,eAAe,IAAI,uBAAuB,CAEpD;IAED,gBAAgB;IAChB,SAAS,CAAC,eAAe,IAAI,aAAa,CAAC,OAAO,GAAG,SAAS,CAAC;CAQhE"}

View File

@ -0,0 +1,87 @@
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
import { DocNodeKind, DocNode } from './DocNode';
import { DocExcerpt, ExcerptKind } from './DocExcerpt';
/**
* Represents a reference to an ECMAScript 6 symbol that is used
* to identify a member declaration.
*
* @example
*
* In the declaration reference `{@link MyClass.([MySymbols.example]:instance)}`,
* the member symbol `[MySymbols.example]` might be used to reference a property
* of the class.
*/
var DocMemberSymbol = /** @class */ (function (_super) {
__extends(DocMemberSymbol, _super);
/**
* Don't call this directly. Instead use {@link TSDocParser}
* @internal
*/
function DocMemberSymbol(parameters) {
var _this = _super.call(this, parameters) || this;
if (DocNode.isParsedParameters(parameters)) {
_this._leftBracketExcerpt = new DocExcerpt({
configuration: _this.configuration,
excerptKind: ExcerptKind.DocMemberSymbol_LeftBracket,
content: parameters.leftBracketExcerpt
});
if (parameters.spacingAfterLeftBracketExcerpt) {
_this._spacingAfterLeftBracketExcerpt = new DocExcerpt({
configuration: _this.configuration,
excerptKind: ExcerptKind.Spacing,
content: parameters.spacingAfterLeftBracketExcerpt
});
}
_this._rightBracketExcerpt = new DocExcerpt({
configuration: _this.configuration,
excerptKind: ExcerptKind.DocMemberSymbol_RightBracket,
content: parameters.rightBracketExcerpt
});
}
_this._symbolReference = parameters.symbolReference;
return _this;
}
Object.defineProperty(DocMemberSymbol.prototype, "kind", {
/** @override */
get: function () {
return DocNodeKind.MemberSymbol;
},
enumerable: false,
configurable: true
});
Object.defineProperty(DocMemberSymbol.prototype, "symbolReference", {
/**
* The declaration reference for the ECMAScript 6 symbol that will act as
* the identifier for the member.
*/
get: function () {
return this._symbolReference;
},
enumerable: false,
configurable: true
});
/** @override */
DocMemberSymbol.prototype.onGetChildNodes = function () {
return [
this._leftBracketExcerpt,
this._spacingAfterLeftBracketExcerpt,
this._symbolReference,
this._rightBracketExcerpt
];
};
return DocMemberSymbol;
}(DocNode));
export { DocMemberSymbol };
//# sourceMappingURL=DocMemberSymbol.js.map

View File

@ -0,0 +1 @@
{"version":3,"file":"DocMemberSymbol.js","sourceRoot":"","sources":["../../src/nodes/DocMemberSymbol.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,OAAO,EAAE,WAAW,EAAE,OAAO,EAAgD,MAAM,WAAW,CAAC;AAG/F,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAqBvD;;;;;;;;;GASG;AACH;IAAqC,mCAAO;IAQ1C;;;OAGG;IACH,yBAAmB,UAAyE;QAA5F,YACE,kBAAM,UAAU,CAAC,SAyBlB;QAvBC,IAAI,OAAO,CAAC,kBAAkB,CAAC,UAAU,CAAC,EAAE;YAC1C,KAAI,CAAC,mBAAmB,GAAG,IAAI,UAAU,CAAC;gBACxC,aAAa,EAAE,KAAI,CAAC,aAAa;gBACjC,WAAW,EAAE,WAAW,CAAC,2BAA2B;gBACpD,OAAO,EAAE,UAAU,CAAC,kBAAkB;aACvC,CAAC,CAAC;YAEH,IAAI,UAAU,CAAC,8BAA8B,EAAE;gBAC7C,KAAI,CAAC,+BAA+B,GAAG,IAAI,UAAU,CAAC;oBACpD,aAAa,EAAE,KAAI,CAAC,aAAa;oBACjC,WAAW,EAAE,WAAW,CAAC,OAAO;oBAChC,OAAO,EAAE,UAAU,CAAC,8BAA8B;iBACnD,CAAC,CAAC;aACJ;YAED,KAAI,CAAC,oBAAoB,GAAG,IAAI,UAAU,CAAC;gBACzC,aAAa,EAAE,KAAI,CAAC,aAAa;gBACjC,WAAW,EAAE,WAAW,CAAC,4BAA4B;gBACrD,OAAO,EAAE,UAAU,CAAC,mBAAmB;aACxC,CAAC,CAAC;SACJ;QAED,KAAI,CAAC,gBAAgB,GAAG,UAAU,CAAC,eAAe,CAAC;;IACrD,CAAC;IAGD,sBAAW,iCAAI;QADf,gBAAgB;aAChB;YACE,OAAO,WAAW,CAAC,YAAY,CAAC;QAClC,CAAC;;;OAAA;IAMD,sBAAW,4CAAe;QAJ1B;;;WAGG;aACH;YACE,OAAO,IAAI,CAAC,gBAAgB,CAAC;QAC/B,CAAC;;;OAAA;IAED,gBAAgB;IACN,yCAAe,GAAzB;QACE,OAAO;YACL,IAAI,CAAC,mBAAmB;YACxB,IAAI,CAAC,+BAA+B;YACpC,IAAI,CAAC,gBAAgB;YACrB,IAAI,CAAC,oBAAoB;SAC1B,CAAC;IACJ,CAAC;IACH,sBAAC;AAAD,CAAC,AA9DD,CAAqC,OAAO,GA8D3C","sourcesContent":["import { DocNodeKind, DocNode, IDocNodeParameters, IDocNodeParsedParameters } from './DocNode';\r\nimport { DocDeclarationReference } from './DocDeclarationReference';\r\nimport { TokenSequence } from '../parser/TokenSequence';\r\nimport { DocExcerpt, ExcerptKind } from './DocExcerpt';\r\n\r\n/**\r\n * Constructor parameters for {@link DocMemberSymbol}.\r\n */\r\nexport interface IDocMemberSymbolParameters extends IDocNodeParameters {\r\n symbolReference: DocDeclarationReference;\r\n}\r\n\r\n/**\r\n * Constructor parameters for {@link DocMemberSymbol}.\r\n */\r\nexport interface IDocMemberSymbolParsedParameters extends IDocNodeParsedParameters {\r\n leftBracketExcerpt: TokenSequence;\r\n spacingAfterLeftBracketExcerpt?: TokenSequence;\r\n\r\n symbolReference: DocDeclarationReference;\r\n\r\n rightBracketExcerpt: TokenSequence;\r\n}\r\n\r\n/**\r\n * Represents a reference to an ECMAScript 6 symbol that is used\r\n * to identify a member declaration.\r\n *\r\n * @example\r\n *\r\n * In the declaration reference `{@link MyClass.([MySymbols.example]:instance)}`,\r\n * the member symbol `[MySymbols.example]` might be used to reference a property\r\n * of the class.\r\n */\r\nexport class DocMemberSymbol extends DocNode {\r\n private readonly _leftBracketExcerpt: DocExcerpt | undefined;\r\n private readonly _spacingAfterLeftBracketExcerpt: DocExcerpt | undefined;\r\n\r\n private readonly _symbolReference: DocDeclarationReference;\r\n\r\n private readonly _rightBracketExcerpt: DocExcerpt | undefined;\r\n\r\n /**\r\n * Don't call this directly. Instead use {@link TSDocParser}\r\n * @internal\r\n */\r\n public constructor(parameters: IDocMemberSymbolParameters | IDocMemberSymbolParsedParameters) {\r\n super(parameters);\r\n\r\n if (DocNode.isParsedParameters(parameters)) {\r\n this._leftBracketExcerpt = new DocExcerpt({\r\n configuration: this.configuration,\r\n excerptKind: ExcerptKind.DocMemberSymbol_LeftBracket,\r\n content: parameters.leftBracketExcerpt\r\n });\r\n\r\n if (parameters.spacingAfterLeftBracketExcerpt) {\r\n this._spacingAfterLeftBracketExcerpt = new DocExcerpt({\r\n configuration: this.configuration,\r\n excerptKind: ExcerptKind.Spacing,\r\n content: parameters.spacingAfterLeftBracketExcerpt\r\n });\r\n }\r\n\r\n this._rightBracketExcerpt = new DocExcerpt({\r\n configuration: this.configuration,\r\n excerptKind: ExcerptKind.DocMemberSymbol_RightBracket,\r\n content: parameters.rightBracketExcerpt\r\n });\r\n }\r\n\r\n this._symbolReference = parameters.symbolReference;\r\n }\r\n\r\n /** @override */\r\n public get kind(): DocNodeKind | string {\r\n return DocNodeKind.MemberSymbol;\r\n }\r\n\r\n /**\r\n * The declaration reference for the ECMAScript 6 symbol that will act as\r\n * the identifier for the member.\r\n */\r\n public get symbolReference(): DocDeclarationReference {\r\n return this._symbolReference;\r\n }\r\n\r\n /** @override */\r\n protected onGetChildNodes(): ReadonlyArray<DocNode | undefined> {\r\n return [\r\n this._leftBracketExcerpt,\r\n this._spacingAfterLeftBracketExcerpt,\r\n this._symbolReference,\r\n this._rightBracketExcerpt\r\n ];\r\n }\r\n}\r\n"]}

99
node_modules/@microsoft/tsdoc/lib/nodes/DocNode.d.ts generated vendored Normal file
View File

@ -0,0 +1,99 @@
import { TSDocConfiguration } from '../configuration/TSDocConfiguration';
/**
* Indicates the type of {@link DocNode}.
*
* @remarks
* When creating custom subclasses of `DocNode`, it's recommended to create your own const enum to identify them.
* To avoid naming conflicts between projects, the enum value should be a string comprised of your full
* NPM package name, followed by a "#" symbol, followed by the class name (without the "Doc" prefix).
*/
export declare enum DocNodeKind {
Block = "Block",
BlockTag = "BlockTag",
Excerpt = "Excerpt",
FencedCode = "FencedCode",
CodeSpan = "CodeSpan",
Comment = "Comment",
DeclarationReference = "DeclarationReference",
ErrorText = "ErrorText",
EscapedText = "EscapedText",
HtmlAttribute = "HtmlAttribute",
HtmlEndTag = "HtmlEndTag",
HtmlStartTag = "HtmlStartTag",
InheritDocTag = "InheritDocTag",
InlineTag = "InlineTag",
LinkTag = "LinkTag",
MemberIdentifier = "MemberIdentifier",
MemberReference = "MemberReference",
MemberSelector = "MemberSelector",
MemberSymbol = "MemberSymbol",
Paragraph = "Paragraph",
ParamBlock = "ParamBlock",
ParamCollection = "ParamCollection",
PlainText = "PlainText",
Section = "Section",
SoftBreak = "SoftBreak"
}
/**
* Constructor parameters for {@link DocNode}.
*
* @remarks
* There are two scenarios for constructing `DocNode` objects. The "builder scenario" constructs the object based on
* literal strings, does NOT create DocExcerpt child nodes, and generally uses the `IDocNodeParameters`
* hierarchy for its constructor parameters. The "parser scenario" constructs the object by parsing a TypeScript
* source file, does create DocExcerpt child nodes, and generally uses the {@link IDocNodeParsedParameters} hierarchy.
*/
export interface IDocNodeParameters {
configuration: TSDocConfiguration;
}
/**
* Constructor parameters for {@link DocNode}.
*
* @remarks
* There are two scenarios for constructing `DocNode` objects. The "builder scenario" constructs the object based on
* literal strings, does NOT create DocExcerpt child nodes, and generally uses the {@link IDocNodeParameters}
* hierarchy for its constructor parameters. The "parser scenario" constructs the object by parsing a TypeScript
* source file, does create DocExcerpt child nodes, and generally uses the `IDocNodeParsedParameters` hierarchy.
*/
export interface IDocNodeParsedParameters {
configuration: TSDocConfiguration;
/**
* This is a marker used by {@link DocNode.isParsedParameters} to determine whether the constructor was
* invoked using `IDocNodeParameters` (builder scenario) or `IDocNodeParsedParameters` (parser scenario).
*/
parsed: true;
}
/**
* The base class for the parser's Abstract Syntax Tree nodes.
*/
export declare abstract class DocNode {
readonly configuration: TSDocConfiguration;
constructor(parameters: IDocNodeParameters | IDocNodeParsedParameters);
/**
* Returns a text string that uniquely identifies the child class type. This is used for example by
* switch statements to efficiently determine the kind of node.
*/
abstract get kind(): DocNodeKind | string;
/**
* Returns the list of child nodes for this node. This is useful for visitors that want
* to scan the tree looking for nodes of a specific type, without having to process
* intermediary nodes.
*/
getChildNodes(): ReadonlyArray<DocNode>;
/**
* Overridden by child classes to implement {@link DocNode.getChildNodes}.
* @virtual
*/
protected onGetChildNodes(): ReadonlyArray<DocNode | undefined>;
/**
* A type guard that returns true if the input uses the `IDocNodeParsedParameters` (parser scenario).
*
* @remarks
* There are two scenarios for constructing `DocNode` objects. The "builder scenario" constructs the object based on
* literal strings, does NOT create DocExcerpt child nodes, and generally uses the {@link IDocNodeParameters}
* hierarchy for its constructor parameters. The "parser scenario" constructs the object by parsing a TypeScript
* source file, does create DocExcerpt child nodes, and generally uses the {@link IDocNodeParsedParameters} hierarchy.
*/
static isParsedParameters(parameters: IDocNodeParameters | IDocNodeParsedParameters): parameters is IDocNodeParsedParameters;
}
//# sourceMappingURL=DocNode.d.ts.map

View File

@ -0,0 +1 @@
{"version":3,"file":"DocNode.d.ts","sourceRoot":"","sources":["../../src/nodes/DocNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAEzE;;;;;;;GAOG;AACH,oBAAY,WAAW;IACrB,KAAK,UAAU;IACf,QAAQ,aAAa;IACrB,OAAO,YAAY;IACnB,UAAU,eAAe;IACzB,QAAQ,aAAa;IACrB,OAAO,YAAY;IACnB,oBAAoB,yBAAyB;IAC7C,SAAS,cAAc;IACvB,WAAW,gBAAgB;IAC3B,aAAa,kBAAkB;IAC/B,UAAU,eAAe;IACzB,YAAY,iBAAiB;IAC7B,aAAa,kBAAkB;IAC/B,SAAS,cAAc;IACvB,OAAO,YAAY;IACnB,gBAAgB,qBAAqB;IACrC,eAAe,oBAAoB;IACnC,cAAc,mBAAmB;IACjC,YAAY,iBAAiB;IAC7B,SAAS,cAAc;IACvB,UAAU,eAAe;IACzB,eAAe,oBAAoB;IACnC,SAAS,cAAc;IACvB,OAAO,YAAY;IACnB,SAAS,cAAc;CACxB;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,kBAAkB;IACjC,aAAa,EAAE,kBAAkB,CAAC;CACnC;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,wBAAwB;IACvC,aAAa,EAAE,kBAAkB,CAAC;IAElC;;;OAGG;IACH,MAAM,EAAE,IAAI,CAAC;CACd;AAED;;GAEG;AACH,8BAAsB,OAAO;IAC3B,SAAgB,aAAa,EAAE,kBAAkB,CAAC;gBAE/B,UAAU,EAAE,kBAAkB,GAAG,wBAAwB;IAI5E;;;OAGG;IACH,aAAoB,IAAI,IAAI,WAAW,GAAG,MAAM,CAAC;IAEjD;;;;OAIG;IACI,aAAa,IAAI,aAAa,CAAC,OAAO,CAAC;IAO9C;;;OAGG;IACH,SAAS,CAAC,eAAe,IAAI,aAAa,CAAC,OAAO,GAAG,SAAS,CAAC;IAI/D;;;;;;;;OAQG;WACW,kBAAkB,CAC9B,UAAU,EAAE,kBAAkB,GAAG,wBAAwB,GACxD,UAAU,IAAI,wBAAwB;CAG1C"}

76
node_modules/@microsoft/tsdoc/lib/nodes/DocNode.js generated vendored Normal file
View File

@ -0,0 +1,76 @@
/**
* Indicates the type of {@link DocNode}.
*
* @remarks
* When creating custom subclasses of `DocNode`, it's recommended to create your own const enum to identify them.
* To avoid naming conflicts between projects, the enum value should be a string comprised of your full
* NPM package name, followed by a "#" symbol, followed by the class name (without the "Doc" prefix).
*/
export var DocNodeKind;
(function (DocNodeKind) {
DocNodeKind["Block"] = "Block";
DocNodeKind["BlockTag"] = "BlockTag";
DocNodeKind["Excerpt"] = "Excerpt";
DocNodeKind["FencedCode"] = "FencedCode";
DocNodeKind["CodeSpan"] = "CodeSpan";
DocNodeKind["Comment"] = "Comment";
DocNodeKind["DeclarationReference"] = "DeclarationReference";
DocNodeKind["ErrorText"] = "ErrorText";
DocNodeKind["EscapedText"] = "EscapedText";
DocNodeKind["HtmlAttribute"] = "HtmlAttribute";
DocNodeKind["HtmlEndTag"] = "HtmlEndTag";
DocNodeKind["HtmlStartTag"] = "HtmlStartTag";
DocNodeKind["InheritDocTag"] = "InheritDocTag";
DocNodeKind["InlineTag"] = "InlineTag";
DocNodeKind["LinkTag"] = "LinkTag";
DocNodeKind["MemberIdentifier"] = "MemberIdentifier";
DocNodeKind["MemberReference"] = "MemberReference";
DocNodeKind["MemberSelector"] = "MemberSelector";
DocNodeKind["MemberSymbol"] = "MemberSymbol";
DocNodeKind["Paragraph"] = "Paragraph";
DocNodeKind["ParamBlock"] = "ParamBlock";
DocNodeKind["ParamCollection"] = "ParamCollection";
DocNodeKind["PlainText"] = "PlainText";
DocNodeKind["Section"] = "Section";
DocNodeKind["SoftBreak"] = "SoftBreak";
})(DocNodeKind || (DocNodeKind = {}));
/**
* The base class for the parser's Abstract Syntax Tree nodes.
*/
var DocNode = /** @class */ (function () {
function DocNode(parameters) {
this.configuration = parameters.configuration;
}
/**
* Returns the list of child nodes for this node. This is useful for visitors that want
* to scan the tree looking for nodes of a specific type, without having to process
* intermediary nodes.
*/
DocNode.prototype.getChildNodes = function () {
// Do this sanity check here, since the constructor cannot access abstract members
this.configuration.docNodeManager.throwIfNotRegisteredKind(this.kind);
return this.onGetChildNodes().filter(function (x) { return x !== undefined; });
};
/**
* Overridden by child classes to implement {@link DocNode.getChildNodes}.
* @virtual
*/
DocNode.prototype.onGetChildNodes = function () {
return [];
};
/**
* A type guard that returns true if the input uses the `IDocNodeParsedParameters` (parser scenario).
*
* @remarks
* There are two scenarios for constructing `DocNode` objects. The "builder scenario" constructs the object based on
* literal strings, does NOT create DocExcerpt child nodes, and generally uses the {@link IDocNodeParameters}
* hierarchy for its constructor parameters. The "parser scenario" constructs the object by parsing a TypeScript
* source file, does create DocExcerpt child nodes, and generally uses the {@link IDocNodeParsedParameters} hierarchy.
*/
DocNode.isParsedParameters = function (parameters) {
return parameters.parsed === true;
};
return DocNode;
}());
export { DocNode };
//# sourceMappingURL=DocNode.js.map

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,42 @@
import { DocNode, IDocNodeParameters, IDocNodeParsedParameters } from './DocNode';
/**
* Constructor parameters for {@link DocNodeContainer}.
*/
export interface IDocNodeContainerParameters extends IDocNodeParameters {
}
/**
* Constructor parameters for {@link DocNodeContainer}.
*/
export interface IDocNodeContainerParsedParameters extends IDocNodeParsedParameters {
}
/**
* DocNodeContainer is the base class for DocNode classes that allow arbitrary child nodes to be added by the consumer.
* The child classes are {@link DocParagraph} and {@link DocSection}.
*/
export declare abstract class DocNodeContainer extends DocNode {
private readonly _nodes;
/**
* Don't call this directly. Instead use {@link TSDocParser}
* @internal
*/
constructor(parameters: IDocNodeContainerParameters | IDocNodeContainerParsedParameters, childNodes?: ReadonlyArray<DocNode>);
/**
* The nodes that were added to this container.
*/
get nodes(): ReadonlyArray<DocNode>;
/**
* Append a node to the container.
*/
appendNode(docNode: DocNode): void;
/**
* Append nodes to the container.
*/
appendNodes(docNodes: ReadonlyArray<DocNode>): void;
/**
* Remove all nodes from the container.
*/
clearNodes(): void;
/** @override */
protected onGetChildNodes(): ReadonlyArray<DocNode | undefined>;
}
//# sourceMappingURL=DocNodeContainer.d.ts.map

View File

@ -0,0 +1 @@
{"version":3,"file":"DocNodeContainer.d.ts","sourceRoot":"","sources":["../../src/nodes/DocNodeContainer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AAElF;;GAEG;AACH,MAAM,WAAW,2BAA4B,SAAQ,kBAAkB;CAAG;AAE1E;;GAEG;AACH,MAAM,WAAW,iCAAkC,SAAQ,wBAAwB;CAAG;AAEtF;;;GAGG;AACH,8BAAsB,gBAAiB,SAAQ,OAAO;IACpD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;IAExC;;;OAGG;gBAED,UAAU,EAAE,2BAA2B,GAAG,iCAAiC,EAC3E,UAAU,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC;IASrC;;OAEG;IACH,IAAW,KAAK,IAAI,aAAa,CAAC,OAAO,CAAC,CAEzC;IAED;;OAEG;IACI,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAWzC;;OAEG;IACI,WAAW,CAAC,QAAQ,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG,IAAI;IAM1D;;OAEG;IACI,UAAU,IAAI,IAAI;IAIzB,gBAAgB;IAChB,SAAS,CAAC,eAAe,IAAI,aAAa,CAAC,OAAO,GAAG,SAAS,CAAC;CAGhE"}

View File

@ -0,0 +1,75 @@
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
import { DocNode } from './DocNode';
/**
* DocNodeContainer is the base class for DocNode classes that allow arbitrary child nodes to be added by the consumer.
* The child classes are {@link DocParagraph} and {@link DocSection}.
*/
var DocNodeContainer = /** @class */ (function (_super) {
__extends(DocNodeContainer, _super);
/**
* Don't call this directly. Instead use {@link TSDocParser}
* @internal
*/
function DocNodeContainer(parameters, childNodes) {
var _this = _super.call(this, parameters) || this;
_this._nodes = [];
if (childNodes !== undefined && childNodes.length > 0) {
_this.appendNodes(childNodes);
}
return _this;
}
Object.defineProperty(DocNodeContainer.prototype, "nodes", {
/**
* The nodes that were added to this container.
*/
get: function () {
return this._nodes;
},
enumerable: false,
configurable: true
});
/**
* Append a node to the container.
*/
DocNodeContainer.prototype.appendNode = function (docNode) {
if (!this.configuration.docNodeManager.isAllowedChild(this.kind, docNode.kind)) {
throw new Error("The TSDocConfiguration does not allow a " + this.kind + " node to" +
(" contain a node of type " + docNode.kind));
}
this._nodes.push(docNode);
};
/**
* Append nodes to the container.
*/
DocNodeContainer.prototype.appendNodes = function (docNodes) {
for (var _i = 0, docNodes_1 = docNodes; _i < docNodes_1.length; _i++) {
var docNode = docNodes_1[_i];
this.appendNode(docNode);
}
};
/**
* Remove all nodes from the container.
*/
DocNodeContainer.prototype.clearNodes = function () {
this._nodes.length = 0;
};
/** @override */
DocNodeContainer.prototype.onGetChildNodes = function () {
return this._nodes;
};
return DocNodeContainer;
}(DocNode));
export { DocNodeContainer };
//# sourceMappingURL=DocNodeContainer.js.map

View File

@ -0,0 +1 @@
{"version":3,"file":"DocNodeContainer.js","sourceRoot":"","sources":["../../src/nodes/DocNodeContainer.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,OAAO,EAAE,OAAO,EAAgD,MAAM,WAAW,CAAC;AAYlF;;;GAGG;AACH;IAA+C,oCAAO;IAGpD;;;OAGG;IACH,0BACE,UAA2E,EAC3E,UAAmC;QAFrC,YAIE,kBAAM,UAAU,CAAC,SAKlB;QAfgB,YAAM,GAAc,EAAE,CAAC;QAYtC,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;YACrD,KAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;SAC9B;;IACH,CAAC;IAKD,sBAAW,mCAAK;QAHhB;;WAEG;aACH;YACE,OAAO,IAAI,CAAC,MAAM,CAAC;QACrB,CAAC;;;OAAA;IAED;;OAEG;IACI,qCAAU,GAAjB,UAAkB,OAAgB;QAChC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE;YAC9E,MAAM,IAAI,KAAK,CACb,6CAA2C,IAAI,CAAC,IAAI,aAAU;iBAC5D,6BAA2B,OAAO,CAAC,IAAM,CAAA,CAC5C,CAAC;SACH;QAED,IAAI,CAAC,MAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IAED;;OAEG;IACI,sCAAW,GAAlB,UAAmB,QAAgC;QACjD,KAAsB,UAAQ,EAAR,qBAAQ,EAAR,sBAAQ,EAAR,IAAQ,EAAE;YAA3B,IAAM,OAAO,iBAAA;YAChB,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;SAC1B;IACH,CAAC;IAED;;OAEG;IACI,qCAAU,GAAjB;QACE,IAAI,CAAC,MAAO,CAAC,MAAM,GAAG,CAAC,CAAC;IAC1B,CAAC;IAED,gBAAgB;IACN,0CAAe,GAAzB;QACE,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IACH,uBAAC;AAAD,CAAC,AA3DD,CAA+C,OAAO,GA2DrD","sourcesContent":["import { DocNode, IDocNodeParameters, IDocNodeParsedParameters } from './DocNode';\r\n\r\n/**\r\n * Constructor parameters for {@link DocNodeContainer}.\r\n */\r\nexport interface IDocNodeContainerParameters extends IDocNodeParameters {}\r\n\r\n/**\r\n * Constructor parameters for {@link DocNodeContainer}.\r\n */\r\nexport interface IDocNodeContainerParsedParameters extends IDocNodeParsedParameters {}\r\n\r\n/**\r\n * DocNodeContainer is the base class for DocNode classes that allow arbitrary child nodes to be added by the consumer.\r\n * The child classes are {@link DocParagraph} and {@link DocSection}.\r\n */\r\nexport abstract class DocNodeContainer extends DocNode {\r\n private readonly _nodes: DocNode[] = [];\r\n\r\n /**\r\n * Don't call this directly. Instead use {@link TSDocParser}\r\n * @internal\r\n */\r\n public constructor(\r\n parameters: IDocNodeContainerParameters | IDocNodeContainerParsedParameters,\r\n childNodes?: ReadonlyArray<DocNode>\r\n ) {\r\n super(parameters);\r\n\r\n if (childNodes !== undefined && childNodes.length > 0) {\r\n this.appendNodes(childNodes);\r\n }\r\n }\r\n\r\n /**\r\n * The nodes that were added to this container.\r\n */\r\n public get nodes(): ReadonlyArray<DocNode> {\r\n return this._nodes;\r\n }\r\n\r\n /**\r\n * Append a node to the container.\r\n */\r\n public appendNode(docNode: DocNode): void {\r\n if (!this.configuration.docNodeManager.isAllowedChild(this.kind, docNode.kind)) {\r\n throw new Error(\r\n `The TSDocConfiguration does not allow a ${this.kind} node to` +\r\n ` contain a node of type ${docNode.kind}`\r\n );\r\n }\r\n\r\n this._nodes!.push(docNode);\r\n }\r\n\r\n /**\r\n * Append nodes to the container.\r\n */\r\n public appendNodes(docNodes: ReadonlyArray<DocNode>): void {\r\n for (const docNode of docNodes) {\r\n this.appendNode(docNode);\r\n }\r\n }\r\n\r\n /**\r\n * Remove all nodes from the container.\r\n */\r\n public clearNodes(): void {\r\n this._nodes!.length = 0;\r\n }\r\n\r\n /** @override */\r\n protected onGetChildNodes(): ReadonlyArray<DocNode | undefined> {\r\n return this._nodes;\r\n }\r\n}\r\n"]}

View File

@ -0,0 +1,22 @@
import { DocNodeKind, DocNode } from './DocNode';
import { DocNodeContainer, IDocNodeContainerParameters } from './DocNodeContainer';
/**
* Constructor parameters for {@link DocParagraph}.
*/
export interface IDocParagraphParameters extends IDocNodeContainerParameters {
}
/**
* Represents a paragraph of text, similar to a `<p>` element in HTML.
* Like CommonMark, the TSDoc syntax uses blank lines to delineate paragraphs
* instead of explicitly notating them.
*/
export declare class DocParagraph extends DocNodeContainer {
/**
* Don't call this directly. Instead use {@link TSDocParser}
* @internal
*/
constructor(parameters: IDocParagraphParameters, childNodes?: ReadonlyArray<DocNode>);
/** @override */
get kind(): DocNodeKind | string;
}
//# sourceMappingURL=DocParagraph.d.ts.map

View File

@ -0,0 +1 @@
{"version":3,"file":"DocParagraph.d.ts","sourceRoot":"","sources":["../../src/nodes/DocParagraph.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AAEnF;;GAEG;AACH,MAAM,WAAW,uBAAwB,SAAQ,2BAA2B;CAAG;AAE/E;;;;GAIG;AACH,qBAAa,YAAa,SAAQ,gBAAgB;IAChD;;;OAGG;gBACgB,UAAU,EAAE,uBAAuB,EAAE,UAAU,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC;IAI3F,gBAAgB;IAChB,IAAW,IAAI,IAAI,WAAW,GAAG,MAAM,CAEtC;CACF"}

View File

@ -0,0 +1,41 @@
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
import { DocNodeKind } from './DocNode';
import { DocNodeContainer } from './DocNodeContainer';
/**
* Represents a paragraph of text, similar to a `<p>` element in HTML.
* Like CommonMark, the TSDoc syntax uses blank lines to delineate paragraphs
* instead of explicitly notating them.
*/
var DocParagraph = /** @class */ (function (_super) {
__extends(DocParagraph, _super);
/**
* Don't call this directly. Instead use {@link TSDocParser}
* @internal
*/
function DocParagraph(parameters, childNodes) {
return _super.call(this, parameters, childNodes) || this;
}
Object.defineProperty(DocParagraph.prototype, "kind", {
/** @override */
get: function () {
return DocNodeKind.Paragraph;
},
enumerable: false,
configurable: true
});
return DocParagraph;
}(DocNodeContainer));
export { DocParagraph };
//# sourceMappingURL=DocParagraph.js.map

View File

@ -0,0 +1 @@
{"version":3,"file":"DocParagraph.js","sourceRoot":"","sources":["../../src/nodes/DocParagraph.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,OAAO,EAAE,WAAW,EAAW,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAA+B,MAAM,oBAAoB,CAAC;AAOnF;;;;GAIG;AACH;IAAkC,gCAAgB;IAChD;;;OAGG;IACH,sBAAmB,UAAmC,EAAE,UAAmC;eACzF,kBAAM,UAAU,EAAE,UAAU,CAAC;IAC/B,CAAC;IAGD,sBAAW,8BAAI;QADf,gBAAgB;aAChB;YACE,OAAO,WAAW,CAAC,SAAS,CAAC;QAC/B,CAAC;;;OAAA;IACH,mBAAC;AAAD,CAAC,AAbD,CAAkC,gBAAgB,GAajD","sourcesContent":["import { DocNodeKind, DocNode } from './DocNode';\r\nimport { DocNodeContainer, IDocNodeContainerParameters } from './DocNodeContainer';\r\n\r\n/**\r\n * Constructor parameters for {@link DocParagraph}.\r\n */\r\nexport interface IDocParagraphParameters extends IDocNodeContainerParameters {}\r\n\r\n/**\r\n * Represents a paragraph of text, similar to a `<p>` element in HTML.\r\n * Like CommonMark, the TSDoc syntax uses blank lines to delineate paragraphs\r\n * instead of explicitly notating them.\r\n */\r\nexport class DocParagraph extends DocNodeContainer {\r\n /**\r\n * Don't call this directly. Instead use {@link TSDocParser}\r\n * @internal\r\n */\r\n public constructor(parameters: IDocParagraphParameters, childNodes?: ReadonlyArray<DocNode>) {\r\n super(parameters, childNodes);\r\n }\r\n\r\n /** @override */\r\n public get kind(): DocNodeKind | string {\r\n return DocNodeKind.Paragraph;\r\n }\r\n}\r\n"]}

View File

@ -0,0 +1,57 @@
import { DocNodeKind, DocNode } from './DocNode';
import { DocBlock, IDocBlockParameters, IDocBlockParsedParameters } from './DocBlock';
import { TokenSequence } from '../parser/TokenSequence';
/**
* Constructor parameters for {@link DocParamBlock}.
*/
export interface IDocParamBlockParameters extends IDocBlockParameters {
parameterName: string;
}
/**
* Constructor parameters for {@link DocParamBlock}.
*/
export interface IDocParamBlockParsedParameters extends IDocBlockParsedParameters {
spacingBeforeParameterNameExcerpt?: TokenSequence;
unsupportedJsdocTypeBeforeParameterNameExcerpt?: TokenSequence;
unsupportedJsdocOptionalNameOpenBracketExcerpt?: TokenSequence;
parameterNameExcerpt: TokenSequence;
parameterName: string;
unsupportedJsdocOptionalNameRestExcerpt?: TokenSequence;
spacingAfterParameterNameExcerpt?: TokenSequence;
unsupportedJsdocTypeAfterParameterNameExcerpt?: TokenSequence;
hyphenExcerpt?: TokenSequence;
spacingAfterHyphenExcerpt?: TokenSequence;
unsupportedJsdocTypeAfterHyphenExcerpt?: TokenSequence;
}
/**
* Represents a parsed `@param` or `@typeParam` block, which provides a description for a
* function parameter.
*/
export declare class DocParamBlock extends DocBlock {
private readonly _spacingBeforeParameterNameExcerpt;
private readonly _unsupportedJsdocTypeBeforeParameterNameExcerpt;
private readonly _unsupportedJsdocOptionalNameOpenBracketExcerpt;
private readonly _parameterName;
private readonly _parameterNameExcerpt;
private readonly _unsupportedJsdocOptionalNameRestExcerpt;
private readonly _spacingAfterParameterNameExcerpt;
private readonly _unsupportedJsdocTypeAfterParameterNameExcerpt;
private readonly _hyphenExcerpt;
private readonly _spacingAfterHyphenExcerpt;
private readonly _unsupportedJsdocTypeAfterHyphenExcerpt;
/**
* Don't call this directly. Instead use {@link TSDocParser}
* @internal
*/
constructor(parameters: IDocParamBlockParameters | IDocParamBlockParsedParameters);
/** @override */
get kind(): DocNodeKind | string;
/**
* The name of the parameter that is being documented.
* For example "width" in `@param width - the width of the object`.
*/
get parameterName(): string;
/** @override */
protected onGetChildNodes(): ReadonlyArray<DocNode | undefined>;
}
//# sourceMappingURL=DocParamBlock.d.ts.map

View File

@ -0,0 +1 @@
{"version":3,"file":"DocParamBlock.d.ts","sourceRoot":"","sources":["../../src/nodes/DocParamBlock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AACtF,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAGxD;;GAEG;AACH,MAAM,WAAW,wBAAyB,SAAQ,mBAAmB;IACnE,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,8BAA+B,SAAQ,yBAAyB;IAC/E,iCAAiC,CAAC,EAAE,aAAa,CAAC;IAElD,8CAA8C,CAAC,EAAE,aAAa,CAAC;IAC/D,8CAA8C,CAAC,EAAE,aAAa,CAAC;IAE/D,oBAAoB,EAAE,aAAa,CAAC;IACpC,aAAa,EAAE,MAAM,CAAC;IAEtB,uCAAuC,CAAC,EAAE,aAAa,CAAC;IAExD,gCAAgC,CAAC,EAAE,aAAa,CAAC;IAEjD,6CAA6C,CAAC,EAAE,aAAa,CAAC;IAE9D,aAAa,CAAC,EAAE,aAAa,CAAC;IAE9B,yBAAyB,CAAC,EAAE,aAAa,CAAC;IAE1C,sCAAsC,CAAC,EAAE,aAAa,CAAC;CACxD;AAED;;;GAGG;AACH,qBAAa,aAAc,SAAQ,QAAQ;IACzC,OAAO,CAAC,QAAQ,CAAC,kCAAkC,CAAyB;IAE5E,OAAO,CAAC,QAAQ,CAAC,+CAA+C,CAAyB;IACzF,OAAO,CAAC,QAAQ,CAAC,+CAA+C,CAAyB;IAEzF,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAyB;IAE/D,OAAO,CAAC,QAAQ,CAAC,wCAAwC,CAAyB;IAElF,OAAO,CAAC,QAAQ,CAAC,iCAAiC,CAAyB;IAE3E,OAAO,CAAC,QAAQ,CAAC,8CAA8C,CAAyB;IAExF,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAyB;IACxD,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CAAyB;IAEpE,OAAO,CAAC,QAAQ,CAAC,uCAAuC,CAAyB;IAEjF;;;OAGG;gBACgB,UAAU,EAAE,wBAAwB,GAAG,8BAA8B;IAsFxF,gBAAgB;IAChB,IAAW,IAAI,IAAI,WAAW,GAAG,MAAM,CAEtC;IAED;;;OAGG;IACH,IAAW,aAAa,IAAI,MAAM,CAEjC;IAED,gBAAgB;IAChB,SAAS,CAAC,eAAe,IAAI,aAAa,CAAC,OAAO,GAAG,SAAS,CAAC;CAgBhE"}

View File

@ -0,0 +1,141 @@
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
import { DocNodeKind, DocNode } from './DocNode';
import { DocBlock } from './DocBlock';
import { DocExcerpt, ExcerptKind } from './DocExcerpt';
/**
* Represents a parsed `@param` or `@typeParam` block, which provides a description for a
* function parameter.
*/
var DocParamBlock = /** @class */ (function (_super) {
__extends(DocParamBlock, _super);
/**
* Don't call this directly. Instead use {@link TSDocParser}
* @internal
*/
function DocParamBlock(parameters) {
var _this = _super.call(this, parameters) || this;
_this._parameterName = parameters.parameterName;
if (DocNode.isParsedParameters(parameters)) {
if (parameters.spacingBeforeParameterNameExcerpt) {
_this._spacingBeforeParameterNameExcerpt = new DocExcerpt({
configuration: _this.configuration,
excerptKind: ExcerptKind.Spacing,
content: parameters.spacingBeforeParameterNameExcerpt
});
}
if (parameters.unsupportedJsdocTypeBeforeParameterNameExcerpt) {
_this._unsupportedJsdocTypeBeforeParameterNameExcerpt = new DocExcerpt({
configuration: _this.configuration,
excerptKind: ExcerptKind.NonstandardText,
content: parameters.unsupportedJsdocTypeBeforeParameterNameExcerpt
});
}
if (parameters.unsupportedJsdocOptionalNameOpenBracketExcerpt) {
_this._unsupportedJsdocOptionalNameOpenBracketExcerpt = new DocExcerpt({
configuration: _this.configuration,
excerptKind: ExcerptKind.NonstandardText,
content: parameters.unsupportedJsdocOptionalNameOpenBracketExcerpt
});
}
_this._parameterNameExcerpt = new DocExcerpt({
configuration: _this.configuration,
excerptKind: ExcerptKind.ParamBlock_ParameterName,
content: parameters.parameterNameExcerpt
});
if (parameters.unsupportedJsdocOptionalNameRestExcerpt) {
_this._unsupportedJsdocOptionalNameRestExcerpt = new DocExcerpt({
configuration: _this.configuration,
excerptKind: ExcerptKind.NonstandardText,
content: parameters.unsupportedJsdocOptionalNameRestExcerpt
});
}
if (parameters.spacingAfterParameterNameExcerpt) {
_this._spacingAfterParameterNameExcerpt = new DocExcerpt({
configuration: _this.configuration,
excerptKind: ExcerptKind.Spacing,
content: parameters.spacingAfterParameterNameExcerpt
});
}
if (parameters.unsupportedJsdocTypeAfterParameterNameExcerpt) {
_this._unsupportedJsdocTypeAfterParameterNameExcerpt = new DocExcerpt({
configuration: _this.configuration,
excerptKind: ExcerptKind.NonstandardText,
content: parameters.unsupportedJsdocTypeAfterParameterNameExcerpt
});
}
if (parameters.hyphenExcerpt) {
_this._hyphenExcerpt = new DocExcerpt({
configuration: _this.configuration,
excerptKind: ExcerptKind.ParamBlock_Hyphen,
content: parameters.hyphenExcerpt
});
}
if (parameters.spacingAfterHyphenExcerpt) {
_this._spacingAfterHyphenExcerpt = new DocExcerpt({
configuration: _this.configuration,
excerptKind: ExcerptKind.Spacing,
content: parameters.spacingAfterHyphenExcerpt
});
}
if (parameters.unsupportedJsdocTypeAfterHyphenExcerpt) {
_this._unsupportedJsdocTypeAfterHyphenExcerpt = new DocExcerpt({
configuration: _this.configuration,
excerptKind: ExcerptKind.NonstandardText,
content: parameters.unsupportedJsdocTypeAfterHyphenExcerpt
});
}
}
return _this;
}
Object.defineProperty(DocParamBlock.prototype, "kind", {
/** @override */
get: function () {
return DocNodeKind.ParamBlock;
},
enumerable: false,
configurable: true
});
Object.defineProperty(DocParamBlock.prototype, "parameterName", {
/**
* The name of the parameter that is being documented.
* For example "width" in `@param width - the width of the object`.
*/
get: function () {
return this._parameterName;
},
enumerable: false,
configurable: true
});
/** @override */
DocParamBlock.prototype.onGetChildNodes = function () {
return [
this.blockTag,
this._spacingBeforeParameterNameExcerpt,
this._unsupportedJsdocTypeBeforeParameterNameExcerpt,
this._unsupportedJsdocOptionalNameOpenBracketExcerpt,
this._parameterNameExcerpt,
this._unsupportedJsdocOptionalNameRestExcerpt,
this._spacingAfterParameterNameExcerpt,
this._unsupportedJsdocTypeAfterParameterNameExcerpt,
this._hyphenExcerpt,
this._spacingAfterHyphenExcerpt,
this._unsupportedJsdocTypeAfterHyphenExcerpt,
this.content
];
};
return DocParamBlock;
}(DocBlock));
export { DocParamBlock };
//# sourceMappingURL=DocParamBlock.js.map

File diff suppressed because one or more lines are too long

Some files were not shown because too many files have changed in this diff Show More