如何创建一个仅记录通过 index.ts 公开的对象的 Typedoc?

How to create a Typedoc that documents only objects exposed via index.ts?

我正在创建一个以 index.js 作为入口点的 NPM 包。

index.ts(编译成index.js)只导出一个classClient.

然而,typedoc 记录了其他 class 未向用户公开的内容,但仅供客户内部使用的区域。

这是此类模块的示例。我相信它没有被我写的 npm 包暴露,但我仍然导出模块以便 Client 模块可以使用它。

import { Connection }  from '../connection';
import { Request, IRequestBody } from '.';
import { IServerResponse } from '../common';

export interface RecordingDeleteRequestBody extends IRequestBody {
    cmd: 'recording_delete';
    data: {
        recording_id: number;
    } 
}

export interface RecordingDeleteServerResponse extends IServerResponse {
    cmd: 'recording_delete';
}

export type RecordingDeleteResponse = true;


export class RecordingDeleteRequest extends Request {
    constructor(
        recordingId: number,
        transactionId: string, 
        connection: Connection, 
        maxTime: number
    ) {
        let requestBody: RecordingDeleteRequestBody = {
            type: 'request',
            cmd: 'recording_delete',
            data: { recording_id: recordingId }
        }

        super(requestBody, transactionId, connection, maxTime);
    }

    async run(): Promise<RecordingDeleteResponse> {
        await new Promise<RecordingDeleteServerResponse>((resolve, reject) => {
            this.connection.push(
                this.requestBody, 
                this.transactionId, 
                this.maxTime, 
                resolve, 
                reject
            );
        });

        return true;
    }
}

如何从我的 typedoc 文档中清除这些 classes?

我只想创建使用此 class 的客户端方法 Class.recordingDeleteRequest() 的文档。

export default class Client {
    public async recordingDelete(recordingId: number) {
        let req = new requests.RecordingDeleteRequest(recordingId, this.newTransactionId(), this.connection!, this.defaultMaxWaitForResponse)
        return await req.run();
    }
}

TypeDoc 尚不支持仅记录导出的符号(参见 issue #639). The @ignore 文档注释可用于手动隐藏单个符号。