@tsk github.com/Grant-Zietsman/vali 、schemaのTS上の型と実行時の型が異なるのがもやもやするんだけど、もしかして現状のTypeScriptだとこれを(schemaの型を自分でもう一つ書く以外に)どうにかする方法ってなかったりしますか

@rinsuki@mstdn.rinsuki.net そういう型だと宣言されるともうどうしようもなくて、そういうライブラリだと思って使うしかないような気がする(個人的には使いたくないね)

@tsk あーいや自分で作るとしたときに、これを現状のTypeScriptの型システムでもうちょいマシにできるのかな〜という話です

@rinsuki@mstdn.rinsuki.net 自分で作る、どの範囲の話なんだろうか(バリデーションライブラリを自分で書くって話なのか、このライブラリをラップしたりしてうまく使うって話なのか)

Follow

@tsk バリデーションライブラリを書く話です

· · Web · 1 · 0 · 1

@rinsuki@mstdn.rinsuki.net 自分だったらValidator<T>みたいなinterfaceとそれを組み合わせてオブジェクトのValidatorを作る関数群(組み合わせる時に一緒に型も合成する)を書くかな。そうすると最終的に手に入る型も自然に得られる

@tsk 俺もそれやりたいなあという気持ちはあるんですが、TypeScriptで{hoge: validation.isNumber(), fuga: validation.isString()}みたいなやつから{hoge: number, fuga: string}みたいなのを生成ってできるのかが気になっている(現時点で私はやり方を知らない)

@tsk あれなんかよくわかってないんだけどわかりやすいexample知ってたりしませんか

@tsk サンガツ、シャーワあびたらやってみるわ

Sign in to participate in the conversation
Mastodon

The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!