import { z } from "zod";
const MetaDataSchema = z.object({
  limit: z.number(),
  offset: z.number(),
  page: z.number(),
  pages: z.number(),
  total: z.number(),
});
export function createApiResponseSchema<T extends z.ZodTypeAny>(dataSchema: T) {
  return z.object({
    data: dataSchema,
    meta: z
      .object({
        limit: z.number(),
        offset: z.number(),
        page: z.number(),
        pages: z.number(),
        total: z.number(),
      })
      .optional(),
    message: z.string(),
    code: z.number().optional(),
    success: z.boolean(),
  });
}
export type IMetaData = z.infer<typeof MetaDataSchema>;
