module GHCJS.Nullable ( Nullable(..) , nullableToMaybe , maybeToNullable ) where import GHCJS.Prim (JSVal(..)) import GHCJS.Marshal.Pure (PToJSVal(..), PFromJSVal(..)) newtype Nullable a = Nullable JSVal nullableToMaybe :: PFromJSVal a => Nullable a -> Maybe a nullableToMaybe (Nullable r) = pFromJSVal r {-# INLINE nullableToMaybe #-} maybeToNullable :: PToJSVal a => Maybe a -> Nullable a maybeToNullable = Nullable . pToJSVal {-# INLINE maybeToNullable #-}