首页 > 解决方案 > 如何创建仅记录通过 index.ts 公开的对象的 Typedoc?

问题描述

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

index.ts(编译为index.js)只导出一个类Client

然而 typedoc 记录了其他不向用户公开的类,但区域仅由客户端内部使用。

这是此类模块的示例。我相信它没有被我正在编写的 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 文档中清除这些类?

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();
    }
}

标签: documentationtypedoc

解决方案


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


推荐阅读