MVFM

zod/branded

Brand a schema to create a nominal type tag

const app = mvfm(prelude, zod);
const prog = app({ value: "string" }, ($) => {
  return $.zod.string().brand("Email").parse($.input.value);
});
await fold(
  defaults(app),
  injectInput(prog, { value: "user@example.com" })
);
Ctrl+Enter