generated at
newtype-ts
TypeScriptでHaskellのnewtypeのような型を作る
手動でfp-tsmonocle-tsを別途入れる必要がある
入れないと iso() の返り値が any になるmrsekut



READMEに書いている例
ts
import { Newtype, iso } from 'newtype-ts' // この2つを定義しておく interface EUR extends Newtype<{ readonly EUR: unique symbol }, number> {} const isoEUR = iso<EUR>() // :: Iso<EUR, number> const myamount = isoEUR.wrap(0.85) // :: EUR const n = isoEUR.unwrap(myamount) // :: number = 0.85
ここで、 isoEUR.wrap() がいわゆるsmart constructorに相当する
対応
newtype-tshaskell
interface EUR extends Newtype<..>newtype EUR = EUR ..
const isoEUR = ..
isoEUR.wrapmkEUR
isoEUR.unwrapunEUR