fortify-schema
Version:
TypeScript interface-like schema validation system that's easier to use than Zod
50 lines (47 loc) • 1.1 kB
JavaScript
;
/**
* Builder for multi-field "then" part
*/
class MultiConditionalThen {
constructor(builder, conditions) {
this.builder = builder;
this.conditions = conditions;
}
then(schema) {
return new MultiConditionalElse(schema, null);
}
}
/**
* Builder for multi-field "else" part
*/
class MultiConditionalElse {
constructor(thenSchema, elseSchema) {
this.thenSchema = thenSchema;
this.elseSchema = elseSchema;
}
else(schema) {
return {
__multiConditional: true,
then: this.thenSchema,
else: schema
};
}
}
/**
* Custom validator builder
*/
class CustomValidator {
constructor(validator) {
this.validator = validator;
}
build() {
return {
__customValidator: true,
validator: this.validator
};
}
}
exports.CustomValidator = CustomValidator;
exports.MultiConditionalElse = MultiConditionalElse;
exports.MultiConditionalThen = MultiConditionalThen;
//# sourceMappingURL=MultiConditionalThen.js.map