pushduck
Version:
The fastest way to add file uploads to any web application. Enterprise security, edge-ready. Works with 16+ frameworks and 5+ storage providers. No heavy AWS SDK required.
69 lines (67 loc) • 2.58 kB
TypeScript
import { NextRequest } from "next/server";
import { NextApiRequest, NextApiResponse } from "next";
import { Request as Request$1, Response as Response$1 } from "express";
import { FastifyReply, FastifyRequest } from "fastify";
//#region src/adapters/nextjs.d.ts
/**
* Next.js Adapter for Universal Handlers
*
* Converts Web Standard Request/Response handlers to Next.js compatible format.
* Works with both App Router and Pages Router.
*/
declare function toNextJsHandler(handlers: {
GET: (request: Request) => Promise<Response>;
POST: (request: Request) => Promise<Response>;
}): {
GET: (req: NextRequest) => Promise<Response>;
POST: (req: NextRequest) => Promise<Response>;
};
//#endregion
//#region src/adapters/nextjs-pages.d.ts
/**
* Next.js Pages Router Adapter for Universal Handlers
*
* Converts Web Standard Request/Response handlers to Pages Router format.
* Uses the traditional req/res pattern with NextApiRequest/NextApiResponse.
*/
declare function toNextJsPagesHandler(handlers: {
GET: (request: Request) => Promise<Response>;
POST: (request: Request) => Promise<Response>;
}): (req: NextApiRequest, res: NextApiResponse) => Promise<void>;
//#endregion
//#region src/adapters/express.d.ts
/**
* Express Adapter for Universal Handlers
*
* Converts Web Standard Request/Response handlers to Express middleware format.
* Works with Express.js applications.
*/
declare function toExpressHandler(handlers: {
GET: (request: Request) => Promise<Response>;
POST: (request: Request) => Promise<Response>;
}): (req: Request$1, res: Response$1) => Promise<Response$1<any, Record<string, any>> | undefined>;
//#endregion
//#region src/adapters/fastify.d.ts
/**
* Fastify Adapter for Universal Handlers
*
* Converts Web Standard Request/Response handlers to Fastify handler format.
* Works with Fastify applications.
*/
declare function toFastifyHandler(handlers: {
GET: (request: Request) => Promise<Response>;
POST: (request: Request) => Promise<Response>;
}): (request: FastifyRequest, reply: FastifyReply) => Promise<undefined>;
/**
* Alternative Fastify adapter that returns route options
* for use with Fastify's route registration
*/
declare function toFastifyRouteHandler(handlers: {
GET: (request: Request) => Promise<Response>;
POST: (request: Request) => Promise<Response>;
}): {
method: readonly ["GET", "POST"];
handler: (request: FastifyRequest, reply: FastifyReply) => Promise<undefined>;
};
//#endregion
export { toExpressHandler, toFastifyHandler, toFastifyRouteHandler, toNextJsHandler, toNextJsPagesHandler };