mirror of
https://github.com/hanzoai/trpc-openapi.git
synced 2026-10-30 18:18:55 +00:00
55 lines
2.1 KiB
TypeScript
55 lines
2.1 KiB
TypeScript
import { TRPC_ERROR_CODE_KEY } from '@trpc/server/rpc';
|
|
import type { CreateRootTypes, Procedure, ProcedureType, Router, RouterRecord } from '@trpc/server/unstable-core-do-not-import';
|
|
import { IncomingMessage } from 'http';
|
|
import type { ZodObject } from 'zod';
|
|
import type { $ZodIssue } from 'zod/v4/core';
|
|
export { type OpenAPIObject, type SecuritySchemeObject } from 'openapi3-ts/oas31';
|
|
export type OpenApiMethod = 'GET' | 'POST' | 'PATCH' | 'PUT' | 'DELETE';
|
|
type TRPCMeta = Record<string, unknown>;
|
|
export type OpenApiContentType = 'application/json' | 'application/x-www-form-urlencoded' | (string & {});
|
|
export type OpenApiMeta<TMeta = TRPCMeta> = TMeta & {
|
|
openapi?: {
|
|
/** When true, use only the openapi object provided (no defaults). */
|
|
override?: boolean;
|
|
/** When true, merge provided openapi with defaults (defaults first, then provided). */
|
|
additional?: boolean;
|
|
enabled?: boolean;
|
|
method: OpenApiMethod;
|
|
path: `/${string}`;
|
|
operationId?: string;
|
|
summary?: string;
|
|
description?: string;
|
|
protect?: boolean;
|
|
tags?: string[];
|
|
contentTypes?: OpenApiContentType[];
|
|
deprecated?: boolean;
|
|
requestHeaders?: ZodObject;
|
|
responseHeaders?: ZodObject;
|
|
successDescription?: string;
|
|
errorResponses?: number[] | Record<number, string>;
|
|
};
|
|
};
|
|
export type OpenApiProcedure = Procedure<ProcedureType, {
|
|
input: any;
|
|
output: any;
|
|
meta: TRPCMeta;
|
|
}>;
|
|
export type OpenApiProcedureRecord = Record<string, OpenApiProcedure | RouterRecord>;
|
|
export type OpenApiRouter = Router<CreateRootTypes<{
|
|
ctx: any;
|
|
meta: TRPCMeta;
|
|
errorShape: any;
|
|
transformer: any;
|
|
}>, RouterRecord>;
|
|
export type OpenApiSuccessResponse<D = any> = D;
|
|
export interface OpenApiErrorResponse {
|
|
message: string;
|
|
code: TRPC_ERROR_CODE_KEY;
|
|
issues?: $ZodIssue[];
|
|
}
|
|
export type OpenApiResponse<D = any> = OpenApiSuccessResponse<D> | OpenApiErrorResponse;
|
|
export type NodeHTTPRequest = IncomingMessage & {
|
|
body?: unknown;
|
|
query?: unknown;
|
|
};
|
|
//# sourceMappingURL=types.d.ts.map
|