fortify-schema
Version:
A modern TypeScript validation library designed around familiar interface syntax and powerful conditional validation. Experience schema validation that feels natural to TypeScript developers while unlocking advanced runtime validation capabilities.
51 lines (41 loc) • 1.02 kB
text/typescript
import { MultiConditionalBuilder } from "./MultiConditionalBuilder";
/**
* Builder for multi-field "then" part
*/
export class MultiConditionalThen {
constructor(
private builder: MultiConditionalBuilder,
private conditions: Record<string, any>
) {}
then(schema: any): MultiConditionalElse {
return new MultiConditionalElse(schema, null);
}
}
/**
* Builder for multi-field "else" part
*/
export class MultiConditionalElse {
constructor(
private thenSchema: any,
private elseSchema: any
) {}
else(schema: any): any {
return {
__multiConditional: true,
then: this.thenSchema,
else: schema
};
}
}
/**
* Custom validator builder
*/
export class CustomValidator {
constructor(private validator: (data: any) => { valid: true } | { error: string }) {}
build(): any {
return {
__customValidator: true,
validator: this.validator
};
}
}