UNPKG

zod-server-actions

Version:

Simple utility library to create server actions in Next.js

41 lines (40 loc) 1.09 kB
import { createAction } from "./handler"; import { Query } from "./query"; export class ActionHandler { constructor(validator, config) { this.validator = validator; this.config = config; } input(schema) { this.validator.setInputSchema(schema); return new ActionHandler(this.validator, this.config); } output(schema) { this.validator.setOutputSchema(schema); return new ActionHandler(this.validator, this.config); } retry(config) { if (this.config) { this.config.setConfig({ ...this.config, retries: config }); } return new ActionHandler(this.validator, this.config); } handler(cb) { const config = this.config; const validator = this.validator; return createAction({ cb, config, validator, }); } query(cb) { const config = this.config; const validator = this.validator; return Query.create({ cb, config, validator, }); } }