packages feed

jsaddle 0.9.8.3 → 0.9.9.0

raw patch · 7 files changed

+133/−25 lines, 7 filesdep ~containersdep ~primitive

Dependency ranges changed: containers, primitive

Files

jsaddle.cabal view
@@ -1,5 +1,5 @@ name: jsaddle-version: 0.9.8.3+version: 0.9.9.0 cabal-version: >=1.10 build-type: Simple license: MIT@@ -29,14 +29,17 @@  library -    if impl(ghcjs -any)+    if impl(ghcjs -any) || arch(javascript)         build-depends:-            ghcjs-base -any,-            ghcjs-prim -any+            ghcjs-base -any+        -- GHC includes GHC.JS.Prim in base+        if impl(ghcjs -any)+            build-depends:+                ghcjs-prim -any     else         build-depends:             attoparsec >=0.11 && <0.15,-            containers >=0.5.6.2 && <0.7,+            containers >=0.5.6.2 && <0.8,             deepseq >=1.3 && < 1.6,             filepath >=1.4.0.0 && <1.5,             ghc-prim,@@ -114,7 +117,7 @@         bytestring >=0.10.6.0 && <0.13,         exceptions >=0.8 && <0.11,         lens >=3.8.5 && <5.3,-        primitive >=0.6.1.0 && <0.9,+        primitive >=0.6.1.0 && <0.10,         text >=1.2.1.3 && <1.3 || >= 2.0 && < 2.2,         transformers >=0.4.2.0 && <0.7     default-language: Haskell2010
src-ghc/JavaScript/TypedArray/DataView/Internal.hs view
@@ -1,5 +1,4 @@ {-# LANGUAGE CPP #-}-{-# LANGUAGE JavaScriptFFI #-} {-# LANGUAGE ForeignFunctionInterface #-} {-# LANGUAGE UnliftedFFITypes #-} {-# LANGUAGE GHCForeignImportPrim #-}
src/Language/Javascript/JSaddle/Evaluate.hs view
@@ -50,7 +50,12 @@      -> JSM JSVal #ifdef ghcjs_HOST_OS eval script = liftIO $ js_eval (toJSString script)-foreign import javascript safe "$r = eval($1);"+foreign import javascript safe+#if __GLASGOW_HASKELL__ >= 900+  "(($1) => { return eval($1); })"+#else+  "$r = eval($1);"+#endif     js_eval :: JSString -> IO JSVal #else eval = evaluateScript . toJSString
src/Language/Javascript/JSaddle/Exception.hs view
@@ -19,7 +19,11 @@  import qualified Control.Exception as E (Exception) #ifdef ghcjs_HOST_OS+#if __GLASGOW_HASKELL__ >= 900+import GHC.JS.Prim (JSVal)+#else import GHCJS.Prim (JSVal)+#endif #else import GHCJS.Prim.Internal (JSVal) #endif
src/Language/Javascript/JSaddle/Object.hs view
@@ -102,7 +102,11 @@ import Data.Coerce (coerce) #ifdef ghcjs_HOST_OS import GHCJS.Types (nullRef)+#if __GLASGOW_HASKELL__ >= 900+import GHC.JS.Foreign.Callback+#else import GHCJS.Foreign.Callback+#endif        (releaseCallback, syncCallback2, asyncCallback2, OnBlocked(..), Callback) import GHCJS.Marshal (ToJSVal(..)) import JavaScript.Array (MutableJSArray)@@ -440,7 +444,13 @@   #ifdef ghcjs_HOST_OS-foreign import javascript unsafe "$r = function () { $1(this, arguments); }"+-- Do not replace `function ()` with `=>` as `arguments` will not work+foreign import javascript unsafe+#if __GLASGOW_HASKELL__ >= 900+  "(($1) => { return function () { $1(this, arguments); }; })"+#else+  "$r = function () { $1(this, arguments); }"+#endif     makeFunctionWithCallback :: Callback (JSVal -> JSVal -> IO ()) -> IO Object #endif @@ -527,7 +537,12 @@  -- | JavaScript's global object #ifdef ghcjs_HOST_OS-foreign import javascript unsafe "$r = globalThis"+foreign import javascript unsafe+#if __GLASGOW_HASKELL__ >= 900+  "(() => { return globalThis; })"+#else+  "$r = globalThis"+#endif     global :: Object #else global :: Object@@ -556,7 +571,12 @@ objCallAsFunction f this args = do     rargs <- makeArgs args >>= liftIO . Array.fromListIO     liftIO $ js_apply f this rargs-foreign import javascript safe "$r = $1.apply($2, $3)"+foreign import javascript safe+#if __GLASGOW_HASKELL__ >= 900+  "(($1,$2,$3) => { return $1.apply($2, $3); })"+#else+  "$r = $1.apply($2, $3)"+#endif     js_apply :: Object -> Object -> MutableJSArray -> IO JSVal #else objCallAsFunction f this args = do@@ -576,7 +596,9 @@ objCallAsConstructor f args = do     rargs <- makeArgs args >>= liftIO . Array.fromListIO     liftIO $ js_new f rargs-foreign import javascript safe "\+foreign import javascript safe+#if __GLASGOW_HASKELL__ >= 900+  "(($1,$2) => {\         switch($2.length) {\             case 0 : $r = new $1(); break;\             case 1 : $r = new $1($2[0]); break;\@@ -598,7 +620,33 @@                     i.constructor = $1;\                     $r = i;\                 }\+        }\+        return $r;\+  })"+#else+       "switch($2.length) {\+            case 0 : $r = new $1(); break;\+            case 1 : $r = new $1($2[0]); break;\+            case 2 : $r = new $1($2[0],$2[1]); break;\+            case 3 : $r = new $1($2[0],$2[1],$2[2]); break;\+            case 4 : $r = new $1($2[0],$2[1],$2[2],$2[3]); break;\+            case 5 : $r = new $1($2[0],$2[1],$2[2],$2[3],$2[4]); break;\+            case 6 : $r = new $1($2[0],$2[1],$2[2],$2[3],$2[4],$2[5]); break;\+            case 7 : $r = new $1($2[0],$2[1],$2[2],$2[3],$2[4],$2[5],$2[6]); break;\+            default:\+                var temp = function() {\+                    ret = $1.apply(this, $2);\+                };\+                temp.prototype = $1.prototype;\+                var i = new temp();\+                if(ret instanceof Object) {\+                    $r = ret;\+                } else {\+                    i.constructor = $1;\+                    $r = i;\+                }\         }"+#endif     js_new :: Object -> MutableJSArray -> IO JSVal #else objCallAsConstructor f args = do
src/Language/Javascript/JSaddle/Properties.hs view
@@ -60,7 +60,12 @@                       -> JSM JSVal -- ^ returns the property value. #ifdef ghcjs_HOST_OS objGetPropertyAtIndex this index = js_tryIndex index this-foreign import javascript unsafe "$r=$2[$1]"+foreign import javascript unsafe+#if __GLASGOW_HASKELL__ >= 900+  "(($1,$2) => { return $2[$1]; })"+#else+  "$r=$2[$1]"+#endif     js_tryIndex :: Int -> Object -> IO JSVal #else objGetPropertyAtIndex this index =@@ -87,7 +92,12 @@ objSetPropertyAtIndex this index val = do     vref <- toJSVal val     js_trySetAtIndex index this vref-foreign import javascript unsafe "$2[$1]=$3"+foreign import javascript unsafe+#if __GLASGOW_HASKELL__ >= 900+  "(($1,$2,$3) => { return $2[$1]=$3; })"+#else+  "$2[$1]=$3"+#endif     js_trySetAtIndex :: Int -> Object -> JSVal -> IO () #else objSetPropertyAtIndex this index val =
src/Language/Javascript/JSaddle/Value.hs view
@@ -189,8 +189,14 @@ valToNumber :: ToJSVal value => value -> JSM Double #ifdef ghcjs_HOST_OS valToNumber value = jsrefToNumber <$> toJSVal value-foreign import javascript unsafe "$r = Number($1);" jsrefToNumber :: JSVal -> Double+foreign import javascript unsafe+#if __GLASGOW_HASKELL__ >= 900+  "(($1) => { return Number($1); })" #else+  "$r = Number($1);"+#endif+     jsrefToNumber :: JSVal -> Double+#else valToNumber value = toJSVal value >>= valueToNumber #endif @@ -216,8 +222,14 @@ valToStr :: ToJSVal value => value -> JSM JSString #ifdef ghcjs_HOST_OS valToStr value = jsrefToString <$> toJSVal value-foreign import javascript unsafe "$r = $1.toString();" jsrefToString :: JSVal -> JSString+foreign import javascript unsafe+#if __GLASGOW_HASKELL__ >= 900+  "(($1) => { return $1.toString(); })" #else+  "$r = $1.toString();"+#endif+    jsrefToString :: JSVal -> JSString+#else valToStr value = toJSVal value >>= valueToString #endif @@ -267,8 +279,14 @@ valToJSON :: ToJSVal value => value -> JSM JSString #ifdef ghcjs_HOST_OS valToJSON value = jsrefToJSON <$> toJSVal value-foreign import javascript unsafe "$r = $1 === undefined ? \"\" : JSON.stringify($1);" jsrefToJSON :: JSVal -> JSString+foreign import javascript unsafe+#if __GLASGOW_HASKELL__ >= 900+  "(($1) => { return $1 === undefined ? \"\" : JSON.stringify($1); })" #else+  "$r = $1 === undefined ? \"\" : JSON.stringify($1);"+#endif+    jsrefToJSON :: JSVal -> JSString+#else valToJSON value = toJSVal value >>= valueToJSON #endif @@ -611,13 +629,24 @@         4 -> ValString <$> valToText valref         5 -> ValObject <$> valToObject valref         _ -> error "Unexpected result dereferencing JSaddle value"-foreign import javascript unsafe "$r = ($1 === undefined)?0:\-                                       ($1===null)?1:\-                                       (typeof $1===\"boolean\")?2:\-                                       (typeof $1===\"number\")?3:\-                                       (typeof $1===\"string\")?4:\-                                       (typeof $1===\"object\")?5:-1;" jsrefGetType :: JSVal -> Int+foreign import javascript unsafe+#if __GLASGOW_HASKELL__ >= 900+  "(($1) => { return ($1 === undefined)?0:\+                     ($1===null)?1:\+                     (typeof $1===\"boolean\")?2:\+                     (typeof $1===\"number\")?3:\+                     (typeof $1===\"string\")?4:\+                     (typeof $1===\"object\")?5:-1; })" #else+  "$r = ($1 === undefined)?0:\+        ($1===null)?1:\+        (typeof $1===\"boolean\")?2:\+        (typeof $1===\"number\")?3:\+        (typeof $1===\"string\")?4:\+        (typeof $1===\"object\")?5:-1;"+#endif+    jsrefGetType :: JSVal -> Int+#else deRefVal value = do     v <- toJSVal value     result <- N.deRefVal v@@ -669,8 +698,13 @@  #ifdef ghcjs_HOST_OS foreign import javascript unsafe-  "$1===$2" jsvalueisstrictequal :: JSVal -> JSVal -> Bool+#if __GLASGOW_HASKELL__ >= 900+  "(($1,$2) => { return $1===$2; })"+#else+  "$1===$2" #endif+    jsvalueisstrictequal :: JSVal -> JSVal -> Bool+#endif  -- | Determine if two values are equal (JavaScripts ===) -- >>> testJSaddle $ strictEqual True False@@ -692,7 +726,12 @@ #endif  #ifdef ghcjs_HOST_OS-foreign import javascript unsafe "$1 instanceof $2"+foreign import javascript unsafe+#if __GLASGOW_HASKELL__ >= 900+  "(($1,$2) => { return $1 instanceof $2; })"+#else+  "$1 instanceof $2"+#endif   js_isInstanceOf :: JSVal -> Object -> Bool #endif