MVFM

zod/intersection

Schema combining two schemas with logical AND

const app = mvfm(prelude, zod);
const prog = app({ value: "string" }, ($) => {
  return $.zod.intersection(
    $.zod.object({ name: $.zod.string() }),
    $.zod.object({ age: $.zod.number() }),
  ).parse($.input.value);
});
await fold(
  defaults(app),
  injectInput(prog, { value: { name: "Alice", age: 30 } })
);
Ctrl+Enter