next-rest-framework
Version:
Next REST Framework - write type-safe, self-documenting REST APIs in Next.js
10 lines (9 loc) • 2.7 kB
TypeScript
import { NextResponse } from 'next/server';
import { type BaseSchemaType, type NextRestFrameworkConfig, type OutputObject, type SchemaReturnType } from './types';
import { type DefineRouteParams } from './types/define-route';
import { type TypedNextRequest } from './types/request';
export declare const defineRoute: ({ config }: {
config: NextRestFrameworkConfig;
}) => <GetBodySchema extends BaseSchemaType, GetQuerySchema extends import("zod").AnyZodObject, GetOutput extends OutputObject<BaseSchemaType, number, import("./types").AnyContentTypeWithAutocompleteForMostCommonOnes>, PutBodySchema extends BaseSchemaType, PutQuerySchema extends import("zod").AnyZodObject, PutOutput extends OutputObject<BaseSchemaType, number, import("./types").AnyContentTypeWithAutocompleteForMostCommonOnes>, PostBodySchema extends BaseSchemaType, PostQuerySchema extends import("zod").AnyZodObject, PostOutput extends OutputObject<BaseSchemaType, number, import("./types").AnyContentTypeWithAutocompleteForMostCommonOnes>, DeleteBodySchema extends BaseSchemaType, DeleteQuerySchema extends import("zod").AnyZodObject, DeleteOutput extends OutputObject<BaseSchemaType, number, import("./types").AnyContentTypeWithAutocompleteForMostCommonOnes>, OptionsBodySchema extends BaseSchemaType, OptionsQuerySchema extends import("zod").AnyZodObject, OptionsOutput extends OutputObject<BaseSchemaType, number, import("./types").AnyContentTypeWithAutocompleteForMostCommonOnes>, HeadBodySchema extends BaseSchemaType, HeadQuerySchema extends import("zod").AnyZodObject, HeadOutput extends OutputObject<BaseSchemaType, number, import("./types").AnyContentTypeWithAutocompleteForMostCommonOnes>, PatchBodySchema extends BaseSchemaType, PatchQuerySchema extends import("zod").AnyZodObject, PatchOutput extends OutputObject<BaseSchemaType, number, import("./types").AnyContentTypeWithAutocompleteForMostCommonOnes>, BodySchema extends GetBodySchema & PutBodySchema & PostBodySchema & DeleteBodySchema & OptionsBodySchema & HeadBodySchema & PatchBodySchema, QuerySchema extends GetQuerySchema & PutQuerySchema & PostQuerySchema & DeleteQuerySchema & OptionsQuerySchema & HeadQuerySchema & PatchQuerySchema>(methodHandlers?: DefineRouteParams<GetBodySchema, GetQuerySchema, GetOutput, PutBodySchema, PutQuerySchema, PutOutput, PostBodySchema, PostQuerySchema, PostOutput, DeleteBodySchema, DeleteQuerySchema, DeleteOutput, OptionsBodySchema, OptionsQuerySchema, OptionsOutput, HeadBodySchema, HeadQuerySchema, HeadOutput, PatchBodySchema, PatchQuerySchema, PatchOutput>) => (req: TypedNextRequest<SchemaReturnType<BodySchema>>, context: {
params: SchemaReturnType<QuerySchema>;
}) => Promise<void | NextResponse<unknown>>;