From 0ff114029f343f146c18c27338806ed1beebc050 Mon Sep 17 00:00:00 2001 From: Deepjyoti Barman Date: Tue, 1 Oct 2024 10:58:52 +0530 Subject: [PATCH] Add build files for fastify types --- lib/build/framework/fastify/framework.d.ts | 2 +- lib/build/framework/fastify/framework.js | 2 +- lib/build/framework/fastify/index.d.ts | 20 +++------------ lib/build/framework/fastify/types.d.ts | 25 +++++++++++++++++++ lib/build/framework/fastify/types.js | 5 ++++ .../recipe/session/framework/fastify.d.ts | 2 +- 6 files changed, 36 insertions(+), 20 deletions(-) create mode 100644 lib/build/framework/fastify/types.d.ts create mode 100644 lib/build/framework/fastify/types.js diff --git a/lib/build/framework/fastify/framework.d.ts b/lib/build/framework/fastify/framework.d.ts index 4030dd63e..f699fc2a2 100644 --- a/lib/build/framework/fastify/framework.d.ts +++ b/lib/build/framework/fastify/framework.d.ts @@ -1,5 +1,5 @@ // @ts-nocheck -import type { FastifyRequest as OriginalFastifyRequest, FastifyReply, FastifyPluginCallback } from "fastify"; +import { FastifyRequest as OriginalFastifyRequest, FastifyReply, FastifyPluginCallback } from "./types"; import type { HTTPMethod } from "../../types"; import { BaseRequest } from "../request"; import { BaseResponse } from "../response"; diff --git a/lib/build/framework/fastify/framework.js b/lib/build/framework/fastify/framework.js index 461863d63..5bce10130 100644 --- a/lib/build/framework/fastify/framework.js +++ b/lib/build/framework/fastify/framework.js @@ -111,7 +111,7 @@ class FastifyResponse extends response_1.BaseResponse { ); let oldHeaders = this.response.getHeader(constants_1.COOKIE_HEADER); if (oldHeaders === undefined) oldHeaders = []; - else if (!(oldHeaders instanceof Array)) oldHeaders = [oldHeaders]; + else if (!(oldHeaders instanceof Array)) oldHeaders = [oldHeaders.toString()]; this.response.removeHeader(constants_1.COOKIE_HEADER); this.response.header(constants_1.COOKIE_HEADER, [ ...oldHeaders.filter((h) => !h.startsWith(key + "=")), diff --git a/lib/build/framework/fastify/index.d.ts b/lib/build/framework/fastify/index.d.ts index fb2d3fe21..b8cc44a0e 100644 --- a/lib/build/framework/fastify/index.d.ts +++ b/lib/build/framework/fastify/index.d.ts @@ -1,24 +1,10 @@ // @ts-nocheck -/// export type { SessionRequest } from "./framework"; -export declare const plugin: import("fastify").FastifyPluginCallback< - Record, - import("fastify").RawServerDefault ->; +export declare const plugin: import("./types").FastifyPluginCallback; export declare const errorHandler: () => ( err: any, - req: import("fastify").FastifyRequest< - import("fastify/types/route").RouteGenericInterface, - import("fastify").RawServerDefault, - import("http").IncomingMessage - >, - res: import("fastify").FastifyReply< - import("fastify").RawServerDefault, - import("http").IncomingMessage, - import("http").ServerResponse, - import("fastify/types/route").RouteGenericInterface, - unknown - > + req: import("./types").FastifyRequest, + res: import("./types").FastifyReply ) => Promise; export declare const wrapRequest: (unwrapped: any) => import("..").BaseRequest; export declare const wrapResponse: (unwrapped: any) => import("..").BaseResponse; diff --git a/lib/build/framework/fastify/types.d.ts b/lib/build/framework/fastify/types.d.ts new file mode 100644 index 000000000..1fa2157e4 --- /dev/null +++ b/lib/build/framework/fastify/types.d.ts @@ -0,0 +1,25 @@ +// @ts-nocheck +/** + * Define fastify types based on the parts that are used in the codebase. + */ +export interface FastifyRequest { + body: any; + query: Record; + headers: Record; + method: string; + url: string; +} +export interface FastifyReply { + sent: boolean; + statusCode: number; + getHeaders(): Record; + send(payload?: any): FastifyReply; + header(key: any, value: any): FastifyReply; + removeHeader(key: any): FastifyReply; + getHeader(key: any): number | string | string[] | undefined; + type(contentType: string): FastifyReply; +} +export interface FastifyInstance { + addHook(name: string, hook: (req: FastifyRequest, reply: FastifyReply) => void): FastifyInstance; +} +export declare type FastifyPluginCallback = (instance: FastifyInstance, opts: any, done: (err?: Error) => void) => void; diff --git a/lib/build/framework/fastify/types.js b/lib/build/framework/fastify/types.js new file mode 100644 index 000000000..cec7da4ed --- /dev/null +++ b/lib/build/framework/fastify/types.js @@ -0,0 +1,5 @@ +"use strict"; +/** + * Define fastify types based on the parts that are used in the codebase. + */ +Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/lib/build/recipe/session/framework/fastify.d.ts b/lib/build/recipe/session/framework/fastify.d.ts index fbfbe3780..74724d38d 100644 --- a/lib/build/recipe/session/framework/fastify.d.ts +++ b/lib/build/recipe/session/framework/fastify.d.ts @@ -1,7 +1,7 @@ // @ts-nocheck import { VerifySessionOptions } from ".."; import { SessionRequest } from "../../../framework/fastify/framework"; -import { FastifyReply, FastifyRequest as OriginalFastifyRequest } from "fastify"; +import { FastifyReply, FastifyRequest as OriginalFastifyRequest } from "../../../framework/fastify/types"; export declare function verifySession( options?: VerifySessionOptions ): (req: SessionRequest, res: FastifyReply) => Promise;