@vulog/aima-core
Version:
15 lines (14 loc) • 470 B
JavaScript
// src/index.ts
import { z } from "zod";
var createPaginableOptionsSchema = (optionsSchema, sortSchema = z.string().optional()) => {
return z.object({
page: z.number().int().nonnegative().default(0),
pageSize: z.number().int().positive().lte(1e3).default(100),
sort: sortSchema,
sortDirection: z.enum(["ASC", "DESC"]).optional().default("ASC"),
...optionsSchema ? { filters: optionsSchema } : {}
});
};
export {
createPaginableOptionsSchema
};