UNPKG

@edge-runtime/node-utils

Version:

A set of helpers for running edge-compliant code in Node.js environment

43 lines (33 loc) 2.15 kB
import { IncomingMessage, ServerResponse, IncomingHttpHeaders } from 'http'; import * as _edge_runtime_primitives from '@edge-runtime/primitives'; import { Headers as Headers$1, ReadableStream as ReadableStream$1, Request, FetchEvent, Response } from '@edge-runtime/primitives'; import { OutgoingHttpHeaders, ServerResponse as ServerResponse$1, IncomingMessage as IncomingMessage$1 } from 'node:http'; import { Readable } from 'node:stream'; interface BuildDependencies { Headers: typeof Headers$1; ReadableStream: typeof ReadableStream$1; Request: typeof Request; Uint8Array: typeof Uint8Array; FetchEvent: typeof FetchEvent; } interface RequestOptions { defaultOrigin: string; } type NodeHandler = (req: IncomingMessage, res: ServerResponse) => Promise<void> | void; type WebHandler = (req: Request, event: FetchEvent) => Promise<Response> | Response | null | undefined; declare function buildToNodeHandler(dependencies: BuildDependencies, options: RequestOptions): (webHandler: WebHandler) => NodeHandler; declare function toOutgoingHeaders(headers?: Headers): OutgoingHttpHeaders; declare function mergeIntoServerResponse(headers: OutgoingHttpHeaders, serverResponse: ServerResponse$1): void; declare const toToReadable: any; declare function buildToFetchEvent(dependencies: BuildDependencies): (request: Request) => _edge_runtime_primitives.FetchEvent; interface Dependencies$1 { Headers: typeof Headers$1; } declare function buildToHeaders({ Headers }: Dependencies$1): (nodeHeaders: IncomingHttpHeaders) => Headers$1; declare function buildToRequest(dependencies: BuildDependencies): (request: IncomingMessage$1, options: RequestOptions) => Request; interface Dependencies { ReadableStream: typeof ReadableStream; Uint8Array: typeof Uint8Array; } declare function buildToReadableStream(dependencies: Dependencies): (stream: Readable) => ReadableStream; export { type BuildDependencies, type NodeHandler, type RequestOptions, type WebHandler, buildToFetchEvent, buildToHeaders, buildToNodeHandler, buildToReadableStream, buildToRequest, mergeIntoServerResponse, toOutgoingHeaders, toToReadable };