UNPKG

@universal-middleware/cloudflare

Version:

Cloudflare Pages adapter for universal middlewares

31 lines (27 loc) 2.04 kB
import { ExportedHandlerFetchHandler, PagesFunction, ExecutionContext, EventContext } from '@cloudflare/workers-types'; import { Get, UniversalHandler, UniversalFn, UniversalMiddleware, RuntimeAdapter, EnhancedMiddleware } from '@universal-middleware/core'; declare const contextSymbol: unique symbol; type CloudflareHandler<In extends Universal.Context> = { fetch: UniversalFn<UniversalHandler<In>, ExportedHandlerFetchHandler<{ [contextSymbol]: In; }>>; }; type CloudflarePagesFunction<In extends Universal.Context, Out extends Universal.Context> = UniversalFn<UniversalMiddleware<In, Out>, PagesFunction<{ [contextSymbol]: In; }>>; /** * Creates a request handler for Cloudflare Worker. Should be used as dist/_worker.js */ declare function createHandler<T extends unknown[], InContext extends Universal.Context>(handlerFactory: Get<T, UniversalHandler<InContext>>): Get<T, CloudflareHandler<InContext>>; /** * Creates a function handler for Cloudflare Pages */ declare function createPagesFunction<T extends unknown[], InContext extends Universal.Context, OutContext extends Universal.Context>(middlewareFactory: Get<T, UniversalHandler<InContext>>): Get<T, CloudflarePagesFunction<InContext, OutContext>>; declare function createPagesFunction<T extends unknown[], InContext extends Universal.Context, OutContext extends Universal.Context>(middlewareFactory: Get<T, UniversalMiddleware<InContext, OutContext>>): Get<T, CloudflarePagesFunction<InContext, OutContext>>; declare function getContext<Context extends Universal.Context = Universal.Context>(env: { [contextSymbol]: Context; }): Context; declare function getRuntime(env: unknown, ctx: ExecutionContext): RuntimeAdapter; declare function getRuntime(context: EventContext<unknown, string, unknown>): RuntimeAdapter; declare function apply(middlewares: EnhancedMiddleware[]): CloudflareHandler<Universal.Context>; export { type CloudflareHandler, type CloudflarePagesFunction, apply, createHandler, createPagesFunction, getContext, getRuntime };