Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions jsaddle/src-ghc/GHCJS/Marshal/Internal.hs
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ import qualified Data.JSString.Internal.Type as JSS
import qualified JavaScript.Object.Internal as OI (Object(..), create, setProp, getProp)
import qualified JavaScript.Array.Internal as AI (SomeJSArray(..), create, push, read, fromListIO, toListIO)

import Language.Javascript.JSaddle.Types (JSM, MutableJSArray, GHCJSPure(..), ghcjsPure, ghcjsPureMap, JSadddleHasCallStack)
import Language.Javascript.JSaddle.Types (JSM, MutableJSArray, GHCJSPure(..), ghcjsPure, ghcjsPureMap, JSaddleHasCallStack)
import Language.Javascript.JSaddle.String (textToStr)

data Purity = PureShared -- ^ conversion is pure even if the original value is shared
Expand All @@ -61,15 +61,15 @@ class ToJSVal a where
default toJSVal :: (Generic a, GToJSVal (Rep a ())) => a -> JSM JSVal
toJSVal = toJSVal_generic id

fromJustWithStack :: JSadddleHasCallStack => Maybe a -> a
fromJustWithStack :: JSaddleHasCallStack => Maybe a -> a
fromJustWithStack Nothing = error "fromJSValUnchecked: fromJSVal result was Nothing"
fromJustWithStack (Just x) = x

class FromJSVal a where
fromJSVal :: JSVal -> JSM (Maybe a)

#if MIN_VERSION_base(4,9,0) && defined(JSADDLE_HAS_CALL_STACK)
fromJSValUnchecked :: JSadddleHasCallStack => JSVal -> JSM a
fromJSValUnchecked :: JSaddleHasCallStack => JSVal -> JSM a
#ifdef CHECK_UNCHECKED
fromJSValUnchecked v = fromJSVal v >>= \case
Nothing -> error "fromJSValUnchecked: fromJSVal result was Nothing"
Expand All @@ -87,7 +87,7 @@ class FromJSVal a where
fromJSValListOf = fmap sequence . (mapM fromJSVal <=< AI.toListIO . coerce) -- fixme should check that it's an array

#if MIN_VERSION_base(4,9,0) && defined(JSADDLE_HAS_CALL_STACK)
fromJSValUncheckedListOf :: JSadddleHasCallStack => JSVal -> JSM [a]
fromJSValUncheckedListOf :: JSaddleHasCallStack => JSVal -> JSM [a]
#else
fromJSValUncheckedListOf :: JSVal -> JSM [a]
#endif
Expand Down
6 changes: 3 additions & 3 deletions jsaddle/src/Language/Javascript/JSaddle/Types.hs
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ module Language.Javascript.JSaddle.Types (
, JSCallAsFunction

-- * Debugging
, JSadddleHasCallStack
, JSaddleHasCallStack

-- * Sync JSM
, syncPoint
Expand Down Expand Up @@ -517,9 +517,9 @@ instance FromJSON Results

-- | Like HasCallStack, but only when jsaddle cabal flag check-unchecked is set
#if MIN_VERSION_base(4,9,0) && defined(CHECK_UNCHECKED)
type JSadddleHasCallStack = HasCallStack
type JSaddleHasCallStack = HasCallStack
#else
type JSadddleHasCallStack = (() :: Constraint)
type JSaddleHasCallStack = (() :: Constraint)
#endif