@vulog/aima-core
Version:
Shared types and Zod schema helpers for pagination and patch actions.
15 lines (14 loc) • 600 B
JavaScript
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
let zod = require("zod");
//#region src/index.ts
const createPaginableOptionsSchema = (optionsSchema, sortSchema = zod.z.string().optional()) => {
return zod.z.object({
page: zod.z.number().int().nonnegative().default(0),
pageSize: zod.z.number().int().positive().lte(1e3).default(100),
sort: sortSchema,
sortDirection: zod.z.enum(["ASC", "DESC"]).optional().default("ASC"),
...optionsSchema ? { filters: optionsSchema } : {}
});
};
//#endregion
exports.createPaginableOptionsSchema = createPaginableOptionsSchema;