ghcjs-base-stub 0.1.0.0 → 0.1.0.1
raw patch · 2 files changed
+29/−4 lines, 2 filesPVP: minor bump suggested
API additions: PVP suggests at least a minor version bump
API changes (from Hackage documentation)
+ JavaScript.Cast: cast :: forall a. Cast a => JSVal -> Maybe a
+ JavaScript.Cast: class Cast a
+ JavaScript.Cast: instanceRef :: Cast a => a -> JSVal
+ JavaScript.Cast: unsafeCast :: Cast a => JSVal -> a
+ JavaScript.Cast: unsafeWrap :: Cast a => JSVal -> a
Files
- ghcjs-base-stub.cabal +5/−4
- src/JavaScript/Cast.hs +24/−0
ghcjs-base-stub.cabal view
@@ -1,5 +1,5 @@ name: ghcjs-base-stub-version: 0.1.0.0+version: 0.1.0.1 synopsis: Allow GHCJS projects to compile under GHC and develop using intero. description: Allow GHCJS projects to compile under GHC and develop using intero. homepage: https://github.com/louispan/javascript-stub#readme@@ -27,21 +27,22 @@ Data.JSString.Internal.Search Data.JSString.Text GHCJS.Concurrent- GHCJS.Foreign.Internal GHCJS.Foreign GHCJS.Foreign.Callback GHCJS.Foreign.Callback.Internal GHCJS.Foreign.Export+ GHCJS.Foreign.Internal GHCJS.Marshal GHCJS.Marshal.Internal GHCJS.Marshal.Pure GHCJS.Nullable GHCJS.Prim GHCJS.Types- JavaScript.Object- JavaScript.Object.Internal JavaScript.Array JavaScript.Array.Internal+ JavaScript.Cast+ JavaScript.Object+ JavaScript.Object.Internal build-depends: aeson >= 0.11 && < 1 , attoparsec >= 0.13 && < 1 , deepseq >= 1.4 && < 2
+ src/JavaScript/Cast.hs view
@@ -0,0 +1,24 @@+{-# OPTIONS_GHC -Wno-redundant-constraints #-}+{-# LANGUAGE ScopedTypeVariables, ForeignFunctionInterface, JavaScriptFFI #-}++module JavaScript.Cast ( Cast(..)+ , cast+ , unsafeCast+ ) where++import GHCJS.Prim++import Unsafe.Coerce++cast :: forall a. Cast a => JSVal -> Maybe a+cast _ = Nothing+{-# INLINE cast #-}++-- | Don't ever run this in GHC - guaranteed segfault+unsafeCast :: Cast a => JSVal -> a+unsafeCast = unsafeCoerce+{-# INLINE unsafeCast #-}++class Cast a where+ unsafeWrap :: JSVal -> a+ instanceRef :: a -> JSVal