workery
Version:
Modern web framework for building APIs on Cloudflare Workers.
33 lines (32 loc) • 2.7 kB
TypeScript
import { z } from "zod";
import { ResponseConfig } from "@asteasolutions/zod-to-openapi";
import { Dependency } from "./dependencies";
import type { BodyParameter, CookieParameter, DependsParameter, HeaderParameter, RouteParameterOptions, PathParameter, QueryParameter, RouteParameters, ArgsOf, ParseArgsInfo, RespondsOptions, Later } from "./types";
export declare function Path(): PathParameter<z.ZodString>;
export declare function Path<S extends z.ZodType>(schema: S, options?: Omit<RouteParameterOptions, "mediaType">): PathParameter<S>;
export declare function Query(): QueryParameter<z.ZodString>;
export declare function Query<S extends z.ZodType>(schema: S, options?: Omit<RouteParameterOptions, "mediaType">): QueryParameter<S>;
export declare function Header(): HeaderParameter<z.ZodString>;
export declare function Header<S extends z.ZodType>(schema: S, options?: Omit<RouteParameterOptions, "mediaType">): HeaderParameter<S>;
export declare function Cookie(): CookieParameter<z.ZodString>;
export declare function Cookie<S extends z.ZodType>(schema: S, options?: Omit<RouteParameterOptions, "mediaType">): CookieParameter<S>;
export declare function Body(): BodyParameter<z.ZodString>;
export declare function Body(schema: typeof String, options?: Omit<RouteParameterOptions, "altName">): BodyParameter<z.ZodString>;
export declare function Body(schema: typeof Blob, options?: Omit<RouteParameterOptions, "altName">): BodyParameter<z.ZodType<Blob>>;
export declare function Body(schema: typeof ReadableStream, options?: Omit<RouteParameterOptions, "altName">): BodyParameter<z.ZodType<ReadableStream>>;
export declare function Body<S extends z.ZodType>(schema: S, options?: Omit<RouteParameterOptions, "altName">): BodyParameter<S>;
export declare function Depends<R>(dependency: Dependency<R, any, any>): DependsParameter<z.ZodType<R>>;
export declare function parseArgs<Ps extends RouteParameters, E = unknown>(parameters: Ps, input: {
baseArgs: ArgsOf<{}, E>;
rawParameters?: {
params?: Record<string, string>;
queries?: Record<string, string[]>;
cookies?: Record<string, string | undefined>;
};
later: Later;
}, cache?: WeakMap<Dependency<any, any, any>, any>): Promise<ParseArgsInfo<Ps, E>>;
export declare function Responds(): ResponseConfig;
export declare function Responds(schema: typeof String, options?: RespondsOptions): ResponseConfig;
export declare function Responds(schema: typeof Blob, options?: RespondsOptions): ResponseConfig;
export declare function Responds(schema: typeof ReadableStream, options?: RespondsOptions): ResponseConfig;
export declare function Responds(schema: z.ZodType, options?: RespondsOptions): ResponseConfig;