@tmlmobilidade/types
Version:
58 lines (57 loc) • 1.72 kB
TypeScript
import { z } from 'zod';
export declare const ApiResponseSuccessSchema: z.ZodObject<{
data: z.ZodAny;
error: z.ZodNull;
status_code: z.ZodEnum<["200", "201", "204"]>;
}, "strip", z.ZodTypeAny, {
error: null;
status_code: "200" | "201" | "204";
data?: any;
}, {
error: null;
status_code: "200" | "201" | "204";
data?: any;
}>;
export type ApiResponseSuccess<T> = Omit<z.infer<typeof ApiResponseSuccessSchema>, 'data'> & {
data: T;
};
export declare const ApiResponseErrorSchema: z.ZodObject<{
data: z.ZodNull;
error: z.ZodString;
status_code: z.ZodEnum<["400", "401", "403", "404", "500"]>;
}, "strip", z.ZodTypeAny, {
data: null;
error: string;
status_code: "400" | "401" | "403" | "404" | "500";
}, {
data: null;
error: string;
status_code: "400" | "401" | "403" | "404" | "500";
}>;
export type ApiResponseError = z.infer<typeof ApiResponseErrorSchema>;
export declare const ApiResponseSchema: z.ZodDiscriminatedUnion<"status_code", [z.ZodObject<{
data: z.ZodAny;
error: z.ZodNull;
status_code: z.ZodEnum<["200", "201", "204"]>;
}, "strip", z.ZodTypeAny, {
error: null;
status_code: "200" | "201" | "204";
data?: any;
}, {
error: null;
status_code: "200" | "201" | "204";
data?: any;
}>, z.ZodObject<{
data: z.ZodNull;
error: z.ZodString;
status_code: z.ZodEnum<["400", "401", "403", "404", "500"]>;
}, "strip", z.ZodTypeAny, {
data: null;
error: string;
status_code: "400" | "401" | "403" | "404" | "500";
}, {
data: null;
error: string;
status_code: "400" | "401" | "403" | "404" | "500";
}>]>;
export type ApiResponse<T> = ApiResponseError | ApiResponseSuccess<T>;