Как создать Typedoc, который документирует только объекты, выставленные через index.ts? - PullRequest
0 голосов
/ 18 февраля 2019

Я создаю пакет NPM с index.js в качестве точки входа.

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

1 Ответ

0 голосов
/ 19 февраля 2019

TypeDoc пока не поддерживает только документирование экспортированных символов (см. issue # 639 ).Комментарий @ignore может использоваться для ручного скрытия отдельных символов.

...