const PersonInsured = Schema.struct({
age: pipe(Schema.number, Schema.positive(), Schema.lessThan(200)),
gender: pipe(Schema.literal("male", "female")),
price: Schema.optional(pipe(Schema.number, Schema.positive()), {
default: () => 15,
}),
}).pipe(
Schema.filter((o) => {
let price = o.price;
if (o.age >= 50) {
price *= 2;
}
if (o.gender === "male") {
price *= 2;
}
return price;
})
);
const PersonInsured = Schema.struct({
age: pipe(Schema.number, Schema.positive(), Schema.lessThan(200)),
gender: pipe(Schema.literal("male", "female")),
price: Schema.optional(pipe(Schema.number, Schema.positive()), {
default: () => 15,
}),
}).pipe(
Schema.filter((o) => {
let price = o.price;
if (o.age >= 50) {
price *= 2;
}
if (o.gender === "male") {
price *= 2;
}
return price;
})
);