-
Notifications
You must be signed in to change notification settings - Fork 0
validate args
awekrx edited this page May 29, 2026
·
1 revision
import { validateArgs } from '@dev-suite/decorators/validate-args'
method
Validate all method arguments against a schema before execution.
- Inline schema parsing in every method
- Manual argument guards and type checks
class OrderController {
create(input: unknown) {
const parsed = createOrderSchema.parse(input);
return this.service.create(parsed);
}
}import { validateArgs } from '@dev-suite/decorators/validate-args';
class OrderController {
@validateArgs({ schema: createOrderSchema })
create(input: CreateOrderInput) {
return this.service.create(input);
}
}- Validation policy stays near method signature.
- Controller methods stay short and focused.
class JobController {
run(id: unknown, opts: unknown) {
const parsedId = idSchema.parse(id);
const parsedOpts = optsSchema.parse(opts);
return this.runner.run(parsedId, parsedOpts);
}
}import { validateArgs } from '@dev-suite/decorators/validate-args';
class JobController {
@validateArgs({ schema: runJobArgsSchema })
run(id: string, opts: RunJobOptions) {
return this.runner.run(id, opts);
}
}- Validates multi-argument contracts in one place.
- Removes duplicated parse boilerplate.