From b7599332d36b29947190e539fcf6f4e54d8a8ae8 Mon Sep 17 00:00:00 2001 From: Johaven Date: Mon, 15 Jul 2024 23:15:58 +0200 Subject: [PATCH 1/3] fix(typing): options like `preservePath` are not known --- types/index.d.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/types/index.d.ts b/types/index.d.ts index 9e31d68b..d5090af6 100644 --- a/types/index.d.ts +++ b/types/index.d.ts @@ -41,6 +41,7 @@ type FastifyMultipartPlugin = FastifyPluginCallback< | fastifyMultipart.FastifyMultipartBaseOptions | fastifyMultipart.FastifyMultipartOptions | fastifyMultipart.FastifyMultipartAttachFieldsToBodyOptions +| BusboyConfig >; type MultipartHandler = ( From d534b1601290c72bd2c327050218942bf4a64ef3 Mon Sep 17 00:00:00 2001 From: Johaven Date: Wed, 24 Jul 2024 00:11:14 +0200 Subject: [PATCH 2/3] fix(typing): extends FastifyMultipartBaseOptions --- types/index.d.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/types/index.d.ts b/types/index.d.ts index d5090af6..1787ddd3 100644 --- a/types/index.d.ts +++ b/types/index.d.ts @@ -41,7 +41,6 @@ type FastifyMultipartPlugin = FastifyPluginCallback< | fastifyMultipart.FastifyMultipartBaseOptions | fastifyMultipart.FastifyMultipartOptions | fastifyMultipart.FastifyMultipartAttachFieldsToBodyOptions -| BusboyConfig >; type MultipartHandler = ( @@ -105,7 +104,7 @@ declare namespace fastifyMultipart { [fieldname: string]: Multipart | Multipart[] | undefined; } - export interface FastifyMultipartBaseOptions { + export interface FastifyMultipartBaseOptions extends Partial { /** * Add a shared schema to validate the input fields */ From eeab71c87ab9ccaaa9aa03f189c9c8a025671e18 Mon Sep 17 00:00:00 2001 From: Johaven Date: Wed, 24 Jul 2024 00:12:41 +0200 Subject: [PATCH 3/3] fix(testing): add tsd test --- types/index.test-d.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/types/index.test-d.ts b/types/index.test-d.ts index 384815d7..e41be306 100644 --- a/types/index.test-d.ts +++ b/types/index.test-d.ts @@ -1,5 +1,5 @@ import fastify from 'fastify' -import fastifyMultipart, { MultipartValue, MultipartFields, MultipartFile, FastifyMultipartBaseOptions } from '..' +import fastifyMultipart, { MultipartValue, MultipartFields, MultipartFile } from '..' import * as util from 'util' import { pipeline } from 'stream' import * as fs from 'fs' @@ -13,6 +13,7 @@ const runServer = async () => { const app = fastify() app.register(fastifyMultipart, { + preservePath: true, // field inherited from `BusboyConfig` interface attachFieldsToBody: true, limits: { parts: 500