TypeScriptDocParser
API
TypeScriptDocParser 类
表示一个 TypeScript 文档解析器
构造函数
new TypeScriptDocParser
初始化新的文档解析器
参数
参数名 | 说明 | 类型 |
---|---|---|
program | 要解析的工程对象 |
|
属性
属性名 | 说明 | 类型 |
---|---|---|
program 只读 | 获取正在解析的工程对象 |
|
checker 只读 | 获取正在使用的类型解析器 |
|
方法
getDocSourceFiles
获取当前工程文件的所有入口文件
返回值
DocSourceFile
[]
getDocSouceFile
解析一个源文件
getJSDocComments
解析节点关联的注释节点
参数
参数名 | 说明 | 类型 |
---|---|---|
node | 要解析的节点 |
|
(可选)sourceFile | 如果提供了节点所在的源文件,可以提升性能 默认值: |
|
返回值
JSDoc
[]
getDocMember
解析一个成员
getSymbolName
获取符号的名称
参数
参数名 | 说明 | 类型 |
---|---|---|
symbol | 要解析的符号 |
|
返回值
string
getSymbolID
获取符号的唯一标识
参数
参数名 | 说明 | 类型 |
---|---|---|
symbol | 要解析的符号 |
|
返回值
string
getParentSymbol
获取定义指定符号的父符号
参数
参数名 | 说明 | 类型 |
---|---|---|
symbol | 要解析的符号 |
|
返回值
Symbol
getDocType
解析一个类型
getSourceLocation
解析一个节点的源位置
参数
参数名 | 说明 | 类型 |
---|---|---|
node | 要解析的节点 |
|
(可选)sourceFile | 如果提供了节点所在的源文件,可以提升性能 默认值: |
|
返回值
getPropertiesOfType
获取类型的所有成员
typeToString
获取类型等价的字符串
parseMemberBase
保护
解析成员基类
praseFunctionSignature
保护
解析一个方法
参数
参数名 | 说明 | 类型 |
---|---|---|
symbol | 引用成员的符号名称 |
|
declaration | 当前重载的声明 |
|
result | 解析的结果 |
|
返回值
void
parseTypeParameter
保护
解析一个类型参数
parseParameter
保护
解析一个参数
parseClassOrInterface
保护
解析一个类或接口
findBestDeclaration
保护
查找注释最多的声明节点
参数
参数名 | 说明 | 类型 |
---|---|---|
declarations | 所有声明节点 |
|
返回值
Declaration
findMember
保护
在指定类型中查找成员
参数
参数名 | 说明 | 类型 |
---|---|---|
type | 要查找的类型 |
|
escapedName | 已编码的成员名 |
|
返回值
Symbol
sortMembers
保护
排序成员
parseNamespace
保护
解析一个命名空间
parseModule
保护
解析一个模块
parseTypeBase
保护
解析类型基类
DocSourceFile 接口
表示一个源文件
属性
属性名 | 说明 | 类型 |
---|---|---|
raw | 原始文件对象 |
|
path | 文件绝对路径 | string |
name | 模块名或文件名 | string |
imports | 所有导入项 展开子属性
|
|
members | 所有导出的成员 |
|
isDeclaration (可选) | 是否是声明文件(.d.ts) | boolean |
isModule (可选) | 是否是模块 | boolean |
summary (可选) | 文件概述 | string |
author (可选) | 文件作者 | string |
copyright (可选) | 版权声明 | string |
license (可选) | 源码协议 | string |
version (可选) | 文件版本号 | string |
created (可选) | 创建时间 | string |
modified (可选) | 最后修改时间 | string |
unknownTags (可选) | 未识别的其它标签 | {[key: string]: string} |
DocImport 接口
表示一个导入项
属性
属性名 | 说明 | 类型 |
---|---|---|
name | 导入的原始模块名 | string |
resolvedModule | 解析后的模块信息 展开子属性
|
|
DocMember 类型
表示一个成员
DocMemberType 枚举
只读
表示成员类型的枚举
成员
枚举名 | 说明 | 值 |
---|---|---|
unknown | 不支持的成员 | 0 |
var | 函数作用域变量 | 1 |
let | 块作用域变量 | 2 |
const | 常量 | 4 |
function | 函数 | 8 |
class | 类 | 16 |
field | 字段 | 32 |
accessor | 访问器 | 64 |
constructor | 构造函数 | 128 |
method | 方法 | 256 |
event | 事件 | 512 |
index | 索引器签名 | 1024 |
call | 函数调用签名 | 2048 |
enum | 枚举 | 4096 |
enumMember | 枚举成员 | 8192 |
interface | 接口 | 16384 |
typeAlias | 类型别名 | 32768 |
namespace | 命名空间 | 65536 |
module | 模块 | 131072 |
DocMemberBase 接口
表示一个成员基类
泛型参数
属性
属性名 | 说明 | 类型 |
---|---|---|
memberType | 成员的类型 | T |
raw | 原始符号 |
|
name | 成员的名字 | string |
id | 成员的唯一标识 | string |
modifiers | 成员的修饰符 |
|
declaration (可选) | 原始声明节点 |
|
sourceLocation (可选) | 源码位置 展开子属性
|
|
parentMember (可选) | 声明当前成员的容器成员 |
|
baseMember (可选) | 继承的父类成员 |
|
overridingMember (可选) | 覆盖的父类同名成员 |
|
ignore (可选) | 是否忽略当前成员 | boolean |
deprecatedMessage (可选) | 废弃后的提示文案 | string |
summary (可选) | 概述 | string |
description (可选) | 详细说明 | string |
examples (可选) | 示例 | string[] |
seeAlso (可选) | 参考列表 | string[] |
since (可选) | 首次添加的版本号 | string |
category (可选) | 所在分类 | string |
defaultValue (可选) | 默认值 | string | number | |
unknownTags (可选) | 未识别的其它标签 | {[key: string]: string} |
DocMemberModifiers 枚举
只读
表示成员修饰符
成员
枚举名 | 说明 | 值 |
---|---|---|
export | 是否导出 | 1 |
exportDefault | 是否默认导出 | 2 |
public | 是否公开 | 4 |
private | 是否私有 | 8 |
protected | 是否保护 | 16 |
internal | 是否内部 | 32 |
accessiblity | 可访问性修饰符 | 60 |
static | 是否静态 | 64 |
optional | 是否可选 | 128 |
readOnly | 是否只读 | 256 |
virtual | 是否虚拟 | 512 |
abstract | 是否抽象 | 1024 |
final | 是否密封 | 2048 |
generator | 是否是生成器 | 4096 |
async | 是否异步 | 8192 |
deprecated | 是否废弃 | 16384 |
experimental | 是否试验中 | 32768 |
DocUnknownMember 接口
表示一个不支持的成员
属性
继承自 DocMemberBase 接口的属性
属性名 | 说明 | 类型 |
---|---|---|
memberType | 成员的类型 |
|
raw | 原始符号 |
|
name | 成员的名字 | string |
id | 成员的唯一标识 | string |
modifiers | 成员的修饰符 |
|
declaration (可选) | 原始声明节点 |
|
sourceLocation (可选) | 源码位置 展开子属性
|
|
parentMember (可选) | 声明当前成员的容器成员 |
|
baseMember (可选) | 继承的父类成员 |
|
overridingMember (可选) | 覆盖的父类同名成员 |
|
ignore (可选) | 是否忽略当前成员 | boolean |
deprecatedMessage (可选) | 废弃后的提示文案 | string |
summary (可选) | 概述 | string |
description (可选) | 详细说明 | string |
examples (可选) | 示例 | string[] |
seeAlso (可选) | 参考列表 | string[] |
since (可选) | 首次添加的版本号 | string |
category (可选) | 所在分类 | string |
defaultValue (可选) | 默认值 | string | number | |
unknownTags (可选) | 未识别的其它标签 | {[key: string]: string} |
DocVariable 接口
表示一个变量、字段或访问器
DocMemberBase
<DocMemberType
.var
| DocMemberType
.let
| DocMemberType
.const
| DocMemberType
.field
| DocMemberType
.accessor
| DocMemberType
.event
>
属性
属性名 | 说明 | 类型 |
---|---|---|
type | 值的类型 |
|
继承自 DocMemberBase 接口的属性
属性名 | 说明 | 类型 |
---|---|---|
memberType | 成员的类型 |
|
raw | 原始符号 |
|
name | 成员的名字 | string |
id | 成员的唯一标识 | string |
modifiers | 成员的修饰符 |
|
declaration (可选) | 原始声明节点 |
|
sourceLocation (可选) | 源码位置 展开子属性
|
|
parentMember (可选) | 声明当前成员的容器成员 |
|
baseMember (可选) | 继承的父类成员 |
|
overridingMember (可选) | 覆盖的父类同名成员 |
|
ignore (可选) | 是否忽略当前成员 | boolean |
deprecatedMessage (可选) | 废弃后的提示文案 | string |
summary (可选) | 概述 | string |
description (可选) | 详细说明 | string |
examples (可选) | 示例 | string[] |
seeAlso (可选) | 参考列表 | string[] |
since (可选) | 首次添加的版本号 | string |
category (可选) | 所在分类 | string |
defaultValue (可选) | 默认值 | string | number | |
unknownTags (可选) | 未识别的其它标签 | {[key: string]: string} |
DocFunction 接口
表示一个函数、方法、构造函数或索引器
DocMemberBase
<DocMemberType
.function
| DocMemberType
.constructor
| DocMemberType
.method
| DocMemberType
.index
| DocMemberType
.call
>
属性
属性名 | 说明 | 类型 |
---|---|---|
parameters | 所有参数 展开子属性
|
|
returnType | 返回值类型 |
|
typeParameters (可选) | 所有类型参数 |
|
returnSummary (可选) | 返回值描述 | string |
overloads (可选) | 方法的多个重载 展开子属性
|
|
classOrInterface (可选) | 同名的类或接口 展开子属性
|
|
namespace (可选) | 同名的命名空间 展开子属性
|
|
继承自 DocMemberBase 接口的属性
属性名 | 说明 | 类型 |
---|---|---|
memberType | 成员的类型 |
|
raw | 原始符号 |
|
name | 成员的名字 | string |
id | 成员的唯一标识 | string |
modifiers | 成员的修饰符 |
|
declaration (可选) | 原始声明节点 |
|
sourceLocation (可选) | 源码位置 展开子属性
|
|
parentMember (可选) | 声明当前成员的容器成员 |
|
baseMember (可选) | 继承的父类成员 |
|
overridingMember (可选) | 覆盖的父类同名成员 |
|
ignore (可选) | 是否忽略当前成员 | boolean |
deprecatedMessage (可选) | 废弃后的提示文案 | string |
summary (可选) | 概述 | string |
description (可选) | 详细说明 | string |
examples (可选) | 示例 | string[] |
seeAlso (可选) | 参考列表 | string[] |
since (可选) | 首次添加的版本号 | string |
category (可选) | 所在分类 | string |
defaultValue (可选) | 默认值 | string | number | |
unknownTags (可选) | 未识别的其它标签 | {[key: string]: string} |
DocTypeParameter 接口
表示一个类型参数
DocParameter 接口
表示一个参数
属性
属性名 | 说明 | 类型 |
---|---|---|
raw | 原始符号 |
|
name | 参数名 | string |
type | 参数类型 |
|
summary (可选) | 概述 | string |
rest (可选) | 是否是展开参数 | boolean |
optional (可选) | 是否可选 | boolean |
defaultValue (可选) | 默认值 |
|
subParameters (可选) | 所有子参数 展开子属性
|
|
DocClassOrInterface 接口
表示一个类或接口
属性
属性名 | 说明 | 类型 |
---|---|---|
declaredType | 声明的类型 |
|
members | 所有成员(含继承的成员) |
|
typeParameters (可选) | 所有类型参数 |
|
extends (可选) | 继承类型 |
|
implements (可选) | 实现类型 |
|
继承自 DocMemberBase 接口的属性
属性名 | 说明 | 类型 |
---|---|---|
memberType | 成员的类型 |
|
raw | 原始符号 |
|
name | 成员的名字 | string |
id | 成员的唯一标识 | string |
modifiers | 成员的修饰符 |
|
declaration (可选) | 原始声明节点 |
|
sourceLocation (可选) | 源码位置 展开子属性
|
|
parentMember (可选) | 声明当前成员的容器成员 |
|
baseMember (可选) | 继承的父类成员 |
|
overridingMember (可选) | 覆盖的父类同名成员 |
|
ignore (可选) | 是否忽略当前成员 | boolean |
deprecatedMessage (可选) | 废弃后的提示文案 | string |
summary (可选) | 概述 | string |
description (可选) | 详细说明 | string |
examples (可选) | 示例 | string[] |
seeAlso (可选) | 参考列表 | string[] |
since (可选) | 首次添加的版本号 | string |
category (可选) | 所在分类 | string |
defaultValue (可选) | 默认值 | string | number | |
unknownTags (可选) | 未识别的其它标签 | {[key: string]: string} |
DocEnum 接口
表示一个枚举
属性
属性名 | 说明 | 类型 |
---|---|---|
declaredType | 声明的类型 |
|
members | 所有枚举成员 |
|
继承自 DocMemberBase 接口的属性
属性名 | 说明 | 类型 |
---|---|---|
memberType | 成员的类型 |
|
raw | 原始符号 |
|
name | 成员的名字 | string |
id | 成员的唯一标识 | string |
modifiers | 成员的修饰符 |
|
declaration (可选) | 原始声明节点 |
|
sourceLocation (可选) | 源码位置 展开子属性
|
|
parentMember (可选) | 声明当前成员的容器成员 |
|
baseMember (可选) | 继承的父类成员 |
|
overridingMember (可选) | 覆盖的父类同名成员 |
|
ignore (可选) | 是否忽略当前成员 | boolean |
deprecatedMessage (可选) | 废弃后的提示文案 | string |
summary (可选) | 概述 | string |
description (可选) | 详细说明 | string |
examples (可选) | 示例 | string[] |
seeAlso (可选) | 参考列表 | string[] |
since (可选) | 首次添加的版本号 | string |
category (可选) | 所在分类 | string |
defaultValue (可选) | 默认值 | string | number | |
unknownTags (可选) | 未识别的其它标签 | {[key: string]: string} |
DocEnumMember 接口
表示一个枚举成员
属性
继承自 DocMemberBase 接口的属性
属性名 | 说明 | 类型 |
---|---|---|
memberType | 成员的类型 |
|
raw | 原始符号 |
|
name | 成员的名字 | string |
id | 成员的唯一标识 | string |
modifiers | 成员的修饰符 |
|
declaration (可选) | 原始声明节点 |
|
sourceLocation (可选) | 源码位置 展开子属性
|
|
parentMember (可选) | 声明当前成员的容器成员 |
|
baseMember (可选) | 继承的父类成员 |
|
overridingMember (可选) | 覆盖的父类同名成员 |
|
ignore (可选) | 是否忽略当前成员 | boolean |
deprecatedMessage (可选) | 废弃后的提示文案 | string |
summary (可选) | 概述 | string |
description (可选) | 详细说明 | string |
examples (可选) | 示例 | string[] |
seeAlso (可选) | 参考列表 | string[] |
since (可选) | 首次添加的版本号 | string |
category (可选) | 所在分类 | string |
defaultValue (可选) | 默认值 | string | number | |
unknownTags (可选) | 未识别的其它标签 | {[key: string]: string} |
DocTypeAlias 接口
表示一个类型别名
属性
属性名 | 说明 | 类型 |
---|---|---|
declaredType | 声明的类型 |
|
aliasedType | 等价的类型 |
|
继承自 DocMemberBase 接口的属性
属性名 | 说明 | 类型 |
---|---|---|
memberType | 成员的类型 |
|
raw | 原始符号 |
|
name | 成员的名字 | string |
id | 成员的唯一标识 | string |
modifiers | 成员的修饰符 |
|
declaration (可选) | 原始声明节点 |
|
sourceLocation (可选) | 源码位置 展开子属性
|
|
parentMember (可选) | 声明当前成员的容器成员 |
|
baseMember (可选) | 继承的父类成员 |
|
overridingMember (可选) | 覆盖的父类同名成员 |
|
ignore (可选) | 是否忽略当前成员 | boolean |
deprecatedMessage (可选) | 废弃后的提示文案 | string |
summary (可选) | 概述 | string |
description (可选) | 详细说明 | string |
examples (可选) | 示例 | string[] |
seeAlso (可选) | 参考列表 | string[] |
since (可选) | 首次添加的版本号 | string |
category (可选) | 所在分类 | string |
defaultValue (可选) | 默认值 | string | number | |
unknownTags (可选) | 未识别的其它标签 | {[key: string]: string} |
DocNamespace 接口
表示一个命名空间
属性
属性名 | 说明 | 类型 |
---|---|---|
members | 所有导出的成员 |
|
继承自 DocMemberBase 接口的属性
属性名 | 说明 | 类型 |
---|---|---|
memberType | 成员的类型 |
|
raw | 原始符号 |
|
name | 成员的名字 | string |
id | 成员的唯一标识 | string |
modifiers | 成员的修饰符 |
|
declaration (可选) | 原始声明节点 |
|
sourceLocation (可选) | 源码位置 展开子属性
|
|
parentMember (可选) | 声明当前成员的容器成员 |
|
baseMember (可选) | 继承的父类成员 |
|
overridingMember (可选) | 覆盖的父类同名成员 |
|
ignore (可选) | 是否忽略当前成员 | boolean |
deprecatedMessage (可选) | 废弃后的提示文案 | string |
summary (可选) | 概述 | string |
description (可选) | 详细说明 | string |
examples (可选) | 示例 | string[] |
seeAlso (可选) | 参考列表 | string[] |
since (可选) | 首次添加的版本号 | string |
category (可选) | 所在分类 | string |
defaultValue (可选) | 默认值 | string | number | |
unknownTags (可选) | 未识别的其它标签 | {[key: string]: string} |
DocType 类型
表示一个类型
DocUnknownType
| DocNativeType
| DocLiteralType
| ... 10 more ...DocTemplateLiteralType
| DocReferenceType
| DocAliasType
| DocGenericType
| DocFunctionType
| DocArrayType
| DocTupleType
| DocObjectType
| DocKeyOfType
| DocTypeOfType
| DocBinaryType
| DocConditionalType
DocTypeType 枚举
只读
表示类型类型的枚举
成员
枚举名 | 说明 | 值 |
---|---|---|
unknown | 不支持的类型 | 0 |
error | 错误类型 | 1 |
native | 内置基础类型 | 2 |
numberLiteral | 数字字面量类型 | 4 |
stringLiteral | 字符串字面量类型 | 8 |
bigintLiteral | 大整数字面量类型 | 16 |
templateLiteral | 模板字面量类型 | 32 |
class | 类 | 64 |
interface | 接口 | 128 |
enum | 枚举 | 256 |
enumMember | 枚举成员 | 512 |
typeAlias | 别名类型 | 1024 |
typeParameter | 类型参数 | 2048 |
this | 当前类型引用类型 | 4096 |
generic | 泛型 | 8192 |
function | 函数类型 | 16384 |
constructor | 构造函数类型 | 32768 |
object | 匿名对象类型 | 65536 |
array | 数组类型 | 131072 |
tuple | 元组类型 | 262144 |
keyOf | 键查询 | 524288 |
typeOf | 类型查询 | 1048576 |
indexedAccess | 属性访问 | 2097152 |
union | 并集类型 | 4194304 |
intersection | 交集类型 | 8388608 |
conditional | 条件类型 | 16777216 |
DocTypeBase 接口
表示一个类型
DocUnknownType 接口
表示一个未知类型
属性
继承自 DocTypeBase 接口的属性
属性名 | 说明 | 类型 |
---|---|---|
typeType | 类型的类型 |
|
raw | 原始类型 |
|
DocNativeType 接口
表示一个内置类型
属性
属性名 | 说明 | 类型 |
---|---|---|
name | 获取内置类型的名字 | "string" | "number" | "bigint" | ... 9 more ..."boolean" | "symbol" | "undefined" | "object" | "unknown" | "any" | "never" | "void" | "null" | "true" | "false" |
继承自 DocTypeBase 接口的属性
属性名 | 说明 | 类型 |
---|---|---|
typeType | 类型的类型 |
|
raw | 原始类型 |
|
DocLiteralType 接口
表示一个字面量类型
属性
属性名 | 说明 | 类型 |
---|---|---|
value | 类型的值 | string |
继承自 DocTypeBase 接口的属性
属性名 | 说明 | 类型 |
---|---|---|
typeType | 类型的类型 |
|
raw | 原始类型 |
|
DocTemplateLiteralType 接口
表示一个字面量类型
属性
属性名 | 说明 | 类型 |
---|---|---|
spans | 所有组成部分 | (string | |
继承自 DocTypeBase 接口的属性
属性名 | 说明 | 类型 |
---|---|---|
typeType | 类型的类型 |
|
raw | 原始类型 |
|
DocReferenceType 接口
表示一个由符号声明的类型,比如类、接口、枚举或泛型参数
DocTypeBase
<DocTypeType
.class
| DocTypeType
.interface
| DocTypeType
.enum
| DocTypeType
.enumMember
| DocTypeType
.typeParameter
| DocTypeType
.this
>
属性
属性名 | 说明 | 类型 |
---|---|---|
member | 关联的成员 |
|
继承自 DocTypeBase 接口的属性
属性名 | 说明 | 类型 |
---|---|---|
typeType | 类型的类型 |
|
raw | 原始类型 |
|
DocAliasType 接口
表示一个别名类型
属性
继承自 DocTypeBase 接口的属性
属性名 | 说明 | 类型 |
---|---|---|
typeType | 类型的类型 |
|
raw | 原始类型 |
|
DocGenericType 接口
表示一个泛型
属性
继承自 DocTypeBase 接口的属性
属性名 | 说明 | 类型 |
---|---|---|
typeType | 类型的类型 |
|
raw | 原始类型 |
|
DocFunctionType 接口
表示一个函数或构造函数类型
属性
属性名 | 说明 | 类型 |
---|---|---|
signature | 原始签名对象 |
|
parameters | 所有参数 展开子属性
|
|
returnType | 返回值类型 |
|
typeParameters (可选) | 所有类型参数 |
|
继承自 DocTypeBase 接口的属性
属性名 | 说明 | 类型 |
---|---|---|
typeType | 类型的类型 |
|
raw | 原始类型 |
|
DocArrayType 接口
表示一个数组类型
DocTupleType 接口
表示一个元组类型
属性
属性名 | 说明 | 类型 |
---|---|---|
elements | 元素 |
|
继承自 DocTypeBase 接口的属性
属性名 | 说明 | 类型 |
---|---|---|
typeType | 类型的类型 |
|
raw | 原始类型 |
|
DocObjectType 接口
表示一个匿名对象类型
属性
属性名 | 说明 | 类型 |
---|---|---|
members | 获取所有成员 |
|
继承自 DocTypeBase 接口的属性
属性名 | 说明 | 类型 |
---|---|---|
typeType | 类型的类型 |
|
raw | 原始类型 |
|
DocKeyOfType 接口
表示一个键查询类型
DocTypeOfType 接口
表示一个类型查询类型
属性
属性名 | 说明 | 类型 |
---|---|---|
member | 查询的成员 |
|
继承自 DocTypeBase 接口的属性
属性名 | 说明 | 类型 |
---|---|---|
typeType | 类型的类型 |
|
raw | 原始类型 |
|
DocIndexedAccessType 接口
表示一个子属性访问类型
属性
继承自 DocTypeBase 接口的属性
属性名 | 说明 | 类型 |
---|---|---|
typeType | 类型的类型 |
|
raw | 原始类型 |
|
DocBinaryType 接口
表示一个双目类型
属性
属性名 | 说明 | 类型 |
---|---|---|
operands | 操作数 |
|
继承自 DocTypeBase 接口的属性
属性名 | 说明 | 类型 |
---|---|---|
typeType | 类型的类型 |
|
raw | 原始类型 |
|
DocConditionalType 接口
表示一个条件类型
属性
属性名 | 说明 | 类型 |
---|---|---|
checkType | 检查类型 |
|
extendsType | 测试的继承类型 |
|
trueType | 测试结果为 |
|
falseType | 测试结果为 |
|
继承自 DocTypeBase 接口的属性
属性名 | 说明 | 类型 |
---|---|---|
typeType | 类型的类型 |
|
raw | 原始类型 |
|
DocSourceLocation 接口
表示一个源码位置
属性
属性名 | 说明 | 类型 |
---|---|---|
sourcePath | 源文件绝对路径 | string |
start | 源文件中的开始索引(从 0 开始) | number |
end | 源文件中的结束索引(从 0 开始) | number |
line | 源文件中的开始行号(从 0 开始) | number |
column | 源文件中的开始列号(从 0 开始) | number |
endLine | 源文件中的结束行号(从 0 开始) | number |
endColumn | 源文件中的结束列号(从 0 开始) | number |