@tsk https://github.com/Grant-Zietsman/validate-typescript 、schemaのTS上の型と実行時の型が異なるのがもやもやするんだけど、もしかして現状のTypeScriptだとこれを(schemaの型を自分でもう一つ書く以外に)どうにかする方法ってなかったりしますか
@tsk バリデーションライブラリを書く話です
@rinsuki@mstdn.rinsuki.net 自分だったらValidator<T>みたいなinterfaceとそれを組み合わせてオブジェクトのValidatorを作る関数群(組み合わせる時に一緒に型も合成する)を書くかな。そうすると最終的に手に入る型も自然に得られる
@tsk 俺もそれやりたいなあという気持ちはあるんですが、TypeScriptで{hoge: validation.isNumber(), fuga: validation.isString()}みたいなやつから{hoge: number, fuga: string}みたいなのを生成ってできるのかが気になっている(現時点で私はやり方を知らない)
@rinsuki@mstdn.rinsuki.net Mapped Typeで簡単にいける
@tsk あれなんかよくわかってないんだけどわかりやすいexample知ってたりしませんか
@tsk サンガツ、シャーワあびたらやってみるわ
@rinsuki@mstdn.rinsuki.net 自分で作る、どの範囲の話なんだろうか(バリデーションライブラリを自分で書くって話なのか、このライブラリをラップしたりしてうまく使うって話なのか)