From 12d3fadfb050819f2a11287e7e3730012b32481e Mon Sep 17 00:00:00 2001 From: Tim Kye Date: Wed, 27 May 2026 14:34:17 -0700 Subject: [PATCH] =?UTF-8?q?=F0=9F=A4=96=20Merge=20PR=20#75052=20html-pdf-n?= =?UTF-8?q?ode:=20return=20promises=20from=20PDF=20generation=20APIs=20by?= =?UTF-8?q?=20@kyeotic?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- types/html-pdf-node/html-pdf-node-tests.ts | 36 +++++++++++++++++++--- types/html-pdf-node/index.d.ts | 12 +++++--- 2 files changed, 39 insertions(+), 9 deletions(-) diff --git a/types/html-pdf-node/html-pdf-node-tests.ts b/types/html-pdf-node/html-pdf-node-tests.ts index c1ed9031a97e84..17b1c3a00c39d2 100644 --- a/types/html-pdf-node/html-pdf-node-tests.ts +++ b/types/html-pdf-node/html-pdf-node-tests.ts @@ -1,6 +1,6 @@ import { generatePdf, generatePdfs } from "html-pdf-node/index"; -// $ExpectType void +// $ExpectType Promise || Promise> generatePdf( { content: "

Hello World!

", @@ -15,22 +15,50 @@ generatePdf( }, ); -// $ExpectType void +// $ExpectType Promise || Promise> +generatePdf({ + content: "

Hello World!

", +}); + +generatePdf({ + content: "

Hello World!

", +}).then(buffer => { + // $ExpectType Buffer || Buffer + buffer; +}); + +// $ExpectType Promise[]> generatePdfs( [ { content: "

Hello World!

", + name: "first.pdf", }, { content: "

Hello World!

", + name: "second.pdf", }, ], { format: "A4", printBackground: true, }, - (err, buffer) => { + (err, output) => { // $ExpectType Buffer || Buffer - buffer; + output[0].buffer; + // $ExpectType string + output[0].name; }, ); + +generatePdfs([ + { + content: "

Hello World!

", + name: "first.pdf", + }, +]).then(output => { + // $ExpectType Buffer || Buffer + output[0].buffer; + // $ExpectType string + output[0].name; +}); diff --git a/types/html-pdf-node/index.d.ts b/types/html-pdf-node/index.d.ts index af266e98551323..1cae540838cece 100644 --- a/types/html-pdf-node/index.d.ts +++ b/types/html-pdf-node/index.d.ts @@ -29,14 +29,16 @@ export interface Options { preferCSSPageSize?: boolean | undefined; } +export type PdfOutput = Omit & { buffer: Buffer }; + export function generatePdf( file: File, options?: Options, callback?: (err: Error, buffer: Buffer) => void, -): void; +): Promise; -export function generatePdfs( - files: File[], +export function generatePdfs( + files: T[], options?: Options, - callback?: (err: Error, buffer: Buffer) => void, -): void; + callback?: (err: Error, output: Array>) => void, +): Promise>>;