diff --git a/pino.d.ts b/pino.d.ts index 2036bd14e..c0bf28e81 100644 --- a/pino.d.ts +++ b/pino.d.ts @@ -229,8 +229,8 @@ declare namespace pino { target: string } - interface TransportPipelineOptions{ - pipeline: TransportSingleOptions[] + interface TransportPipelineOptions> extends TransportBaseOptions{ + pipeline: TransportSingleOptions[] } interface TransportMultiOptions> extends TransportBaseOptions{ @@ -709,7 +709,7 @@ declare namespace pino { ): SonicBoom; export function transport>( - options: TransportSingleOptions | TransportMultiOptions + options: TransportSingleOptions | TransportMultiOptions | TransportPipelineOptions ): ThreadStream export function multistream( diff --git a/test/types/pino-transport.test-d.ts b/test/types/pino-transport.test-d.ts index 3451117db..242d15922 100644 --- a/test/types/pino-transport.test-d.ts +++ b/test/types/pino-transport.test-d.ts @@ -44,6 +44,18 @@ expectType(pino({ ]}, })) + +const pipelineTransport = pino.transport({ + pipeline: [{ + target: './my-transform.js' + }, { + // Use target: 'pino/file' to write to stdout + // without any change. + target: 'pino-pretty' + }] +}) +pino(pipelineTransport) + expectType(pino({ transport: { pipeline: [{