zod.coerce()
stringに対して使っている例
code:ts
const schema = z.coerce.string();
schema.parse("tuna"); // => "tuna"
schema.parse(12); // => "12"
schema.parse(true); // => "true"
code:ts
z.preprocess(String, z.string())
coerce()のほうがchainしやすくて良さそうねmrsekut.icon
と、思ったがpreprocessの方でもzod.pipeを併用したら同じことが出来る
どのprimitive型に対しても使える
code:ts
z.coerce.string(); // String(input)
z.coerce.number(); // Number(input)
z.coerce.boolean(); // Boolean(input)
z.coerce.bigint(); // BigInt(input)
z.coerce.date(); // new Date(input)
numberに対して使って、number以外が来た時はちゃんとerrorになる
code:ts
z.coerce.number().parse('hoge') // errror