inngest
Version:
Official SDK for Inngest.com. Inngest is the reliability layer for modern applications. Inngest combines durable execution, events, and queues into a zero-infra platform with built-in observability.
69 lines • 2.39 kB
TypeScript
/**
* An adapter for Next.js to serve and register any declared functions with
* Inngest, making them available to be triggered by events.
*
* Supports Next.js 12+, both serverless and edge.
*
* @example Next.js <=12 or the pages router can export the handler directly
* ```ts
* export default serve({ client: inngest, functions: [fn1, fn2] });
* ```
*
* @example Next.js >=13 with the `app` dir must export individual methods
* ```ts
* export const { GET, POST, PUT } = serve({
* client: inngest,
* functions: [fn1, fn2],
* });
* ```
*
* @module
*/
import { type NextRequest } from "next/server.js";
import { type ServeHandlerOptions } from "./components/InngestCommHandler.js";
import { type SupportedFrameworkName } from "./types.js";
/**
* The name of the framework, used to identify the framework in Inngest
* dashboards and during testing.
*/
export declare const frameworkName: SupportedFrameworkName;
/**
* The shape of a request handler, supporting Next.js 12+.
*
* We are intentionally abstract with the arguments here, as Next.js's type
* checking when building varies wildly between major versions; specifying
* different types (even optional types) here can cause issues with the build.
*
* This change was initially made for Next.js 15, which specifies the second
* argument as `RouteContext`, whereas Next.js 13 and 14 omit it and Next.js 12
* provides a `NextApiResponse`, which is varies based on the execution
* environment used (edge vs serverless).
*/
export type RequestHandler = (expectedReq: NextRequest, res: unknown) => Promise<Response>;
/**
* In Next.js, serve and register any declared functions with Inngest, making
* them available to be triggered by events.
*
* Supports Next.js 12+, both serverless and edge.
*
* @example Next.js <=12 or the pages router can export the handler directly
* ```ts
* export default serve({ client: inngest, functions: [fn1, fn2] });
* ```
*
* @example Next.js >=13 with the `app` dir must export individual methods
* ```ts
* export const { GET, POST, PUT } = serve({
* client: inngest,
* functions: [fn1, fn2],
* });
* ```
*
* @public
*/
export declare const serve: (options: ServeHandlerOptions) => RequestHandler & {
GET: RequestHandler;
POST: RequestHandler;
PUT: RequestHandler;
};
//# sourceMappingURL=next.d.ts.map