@@ -107,21 +107,21 @@ data JSValue = ValNull -- ^ null
107-- All values in JavaScript convert to bool.
107-- All values in JavaScript convert to bool.
109-- >>> testJSC $ valToBool JSNull
109-- >>> testJSC $ valToBool JSNull
111-- >>> testJSC $ valToBool ()
111-- >>> testJSC $ valToBool ()
113-- >>> testJSC $ valToBool True
113-- >>> testJSC $ valToBool True
115-- >>> testJSC $ valToBool False
115-- >>> testJSC $ valToBool False
117-- >>> testJSC $ valToBool (1.0 :: Double)
117-- >>> testJSC $ valToBool (1.0 :: Double)
119-- >>> testJSC $ valToBool (0.0 :: Double)
119-- >>> testJSC $ valToBool (0.0 :: Double)
121-- >>> testJSC $ valToBool ""
121-- >>> testJSC $ valToBool ""
123-- >>> testJSC $ valToBool "1"
123-- >>> testJSC $ valToBool "1"
125valToBool :: MakeValueRef val => val -> JSC JSBool
125valToBool :: MakeValueRef val => val -> JSC JSBool
126valToBool val = do
126valToBool val = do
127 gctxt <- ask
127 gctxt <- ask
@@ -131,21 +131,21 @@ valToBool val = do
131-- | Given a JavaScript value get its numeric value.
131-- | Given a JavaScript value get its numeric value.
132-- May throw JSException.
132-- May throw JSException.
134−-- >>> testJSC $ valToNumber JSNull
134+-- >>> testJSC $ show <$> valToNumber JSNull
136−-- >>> testJSC $ valToNumber ()
136+-- >>> testJSC $ show <$> valToNumber ()
138−-- >>> testJSC $ valToNumber True
138+-- >>> testJSC $ show <$> valToNumber True
140−-- >>> testJSC $ valToNumber False
140+-- >>> testJSC $ show <$> valToNumber False
142−-- >>> testJSC $ valToNumber (1.0 :: Double)
142+-- >>> testJSC $ show <$> valToNumber (1.0 :: Double)
144−-- >>> testJSC $ valToNumber (0.0 :: Double)
144+-- >>> testJSC $ show <$> valToNumber (0.0 :: Double)
146−-- >>> testJSC $ valToNumber ""
146+-- >>> testJSC $ show <$> valToNumber ""
148−-- >>> testJSC $ valToNumber "1"
148+-- >>> testJSC $ show <$> valToNumber "1"
150valToNumber :: MakeValueRef val => val -> JSC JSNumber
150valToNumber :: MakeValueRef val => val -> JSC JSNumber
151valToNumber val = do
151valToNumber val = do
@@ -157,21 +157,21 @@ valToNumber val = do
157-- May throw JSException.
157-- May throw JSException.
159-- >>> testJSC $ valToStr JSNull >>= strToText
159-- >>> testJSC $ valToStr JSNull >>= strToText
161-- >>> testJSC $ valToStr () >>= strToText
161-- >>> testJSC $ valToStr () >>= strToText
162−-- "undefined"
162+-- undefined
163-- >>> testJSC $ valToStr True >>= strToText
163-- >>> testJSC $ valToStr True >>= strToText
165-- >>> testJSC $ valToStr False >>= strToText
165-- >>> testJSC $ valToStr False >>= strToText
166−-- "false"
166+-- false
167-- >>> testJSC $ valToStr (1.0 :: Double) >>= strToText
167-- >>> testJSC $ valToStr (1.0 :: Double) >>= strToText
169-- >>> testJSC $ valToStr (0.0 :: Double) >>= strToText
169-- >>> testJSC $ valToStr (0.0 :: Double) >>= strToText
171-- >>> testJSC $ valToStr "" >>= strToText
171-- >>> testJSC $ valToStr "" >>= strToText
173-- >>> testJSC $ valToStr "1" >>= strToText
173-- >>> testJSC $ valToStr "1" >>= strToText
175valToStr :: MakeValueRef val => val -> JSC JSStringRef
175valToStr :: MakeValueRef val => val -> JSC JSStringRef
176valToStr val = do
176valToStr val = do
177 gctxt <- ask
177 gctxt <- ask
@@ -181,21 +181,21 @@ valToStr val = do
181-- | Given a JavaScript value get its string value (as a Haskell 'Text').
181-- | Given a JavaScript value get its string value (as a Haskell 'Text').
182-- May throw JSException.
182-- May throw JSException.
184−-- >>> testJSC $ valToText JSNull
184+-- >>> testJSC $ show <$> valToText JSNull
186−-- >>> testJSC $ valToText ()
186+-- >>> testJSC $ show <$> valToText ()
187-- "undefined"
187-- "undefined"
188−-- >>> testJSC $ valToText True
188+-- >>> testJSC $ show <$> valToText True
190−-- >>> testJSC $ valToText False
190+-- >>> testJSC $ show <$> valToText False
191-- "false"
191-- "false"
192−-- >>> testJSC $ valToText (1.0 :: Double)
192+-- >>> testJSC $ show <$> valToText (1.0 :: Double)
194−-- >>> testJSC $ valToText (0.0 :: Double)
194+-- >>> testJSC $ show <$> valToText (0.0 :: Double)
196−-- >>> testJSC $ valToText ""
196+-- >>> testJSC $ show <$> valToText ""
198−-- >>> testJSC $ valToText "1"
198+-- >>> testJSC $ show <$> valToText "1"
200valToText :: MakeValueRef val => val -> JSC Text
200valToText :: MakeValueRef val => val -> JSC Text
201valToText jsvar = valToStr jsvar >>= strToText
201valToText jsvar = valToStr jsvar >>= strToText
@@ -204,21 +204,21 @@ valToText jsvar = valToStr jsvar >>= strToText
204-- May throw JSException.
204-- May throw JSException.
206-- >>> testJSC $ (valToObject JSNull >>= valToText) `catch` \ (JSException e) -> valToText e
206-- >>> testJSC $ (valToObject JSNull >>= valToText) `catch` \ (JSException e) -> valToText e
207−-- "TypeError: 'null' is not an object"
207+-- TypeError: 'null' is not an object
208-- >>> testJSC $ (valToObject () >>= valToText) `catch` \ (JSException e) -> valToText e
208-- >>> testJSC $ (valToObject () >>= valToText) `catch` \ (JSException e) -> valToText e
209−-- "TypeError: 'undefined' is not an object"
209+-- TypeError: 'undefined' is not an object
210−-- >>> testJSC $ $ valToObject True
210+-- >>> testJSC $ valToObject True
212-- >>> testJSC $ valToObject False
212-- >>> testJSC $ valToObject False
213−-- "false"
213+-- false
214-- >>> testJSC $ valToObject (1.0 :: Double)
214-- >>> testJSC $ valToObject (1.0 :: Double)
216-- >>> testJSC $ valToObject (0.0 :: Double)
216-- >>> testJSC $ valToObject (0.0 :: Double)
218-- >>> testJSC $ valToObject ""
218-- >>> testJSC $ valToObject ""
220-- >>> testJSC $ valToObject "1"
220-- >>> testJSC $ valToObject "1"
222valToObject :: MakeValueRef val => val -> JSC JSObjectRef
222valToObject :: MakeValueRef val => val -> JSC JSObjectRef
223valToObject val = do
223valToObject val = do
224 gctxt <- ask
224 gctxt <- ask
@@ -326,23 +326,23 @@ instance MakeValueRef String where
327-- | Derefernce a value reference.
327-- | Derefernce a value reference.
329−-- >>> testJSC $ deRefVal JSNull
329+-- >>> testJSC $ show <$> deRefVal JSNull
330-- ValNull
330-- ValNull
331−-- >>> testJSC $ deRefVal ()
331+-- >>> testJSC $ show <$> deRefVal ()
332-- ValUndefined
332-- ValUndefined
333−-- >>> testJSC $ deRefVal True
333+-- >>> testJSC $ show <$> deRefVal True
334-- ValBool True
334-- ValBool True
335−-- >>> testJSC $ deRefVal False
335+-- >>> testJSC $ show <$> deRefVal False
336-- ValBool False
336-- ValBool False
337−-- >>> testJSC $ deRefVal (1.0 :: Double)
337+-- >>> testJSC $ show <$> deRefVal (1.0 :: Double)
338-- ValNumber 1.0
338-- ValNumber 1.0
339−-- >>> testJSC $ deRefVal (0.0 :: Double)
339+-- >>> testJSC $ show <$> deRefVal (0.0 :: Double)
340-- ValNumber 0.0
340-- ValNumber 0.0
341−-- >>> testJSC $ deRefVal ""
341+-- >>> testJSC $ show <$> deRefVal ""
342-- ValString ""
342-- ValString ""
343−-- >>> testJSC $ deRefVal "1"
343+-- >>> testJSC $ show <$> deRefVal "1"
344-- ValString "1"
344-- ValString "1"
345−-- >>> testJSC $ valToObject True >>= deRefVal
345+-- >>> testJSC $ show <$> valToObject True >>= deRefVal
346-- ValObject 0x...
346-- ValObject 0x...
347deRefVal :: MakeValueRef val => val -> JSC JSValue
347deRefVal :: MakeValueRef val => val -> JSC JSValue
348deRefVal val = do
348deRefVal val = do