on master help sign in
call functions safely in `(#)`, `jsf`, etc.

I think this is a much better default since: * We define the function-calling function once, therefore bloat is not a concern; * The functions accept arbitrary user-provided functions, and therefore it's dangerous to make assumptions about their safety.

commitb4810734c8a3567022e875254e727cc8caa07241 authorFrancesco Mazzoli <f@mazzo.li> dateSun 7 Jul 2019, 16:18 (7 years ago) parentc745863
2 files changed+3−3
jsaddle/src/Language/Javascript/JSaddle/Evaluate.hs+1−1 jsaddle/src/Language/Javascript/JSaddle/Object.hs+2−2
jsaddle/src/Language/Javascript/JSaddle/Evaluate.hs+1−1
@@ -50,7 +50,7 @@ eval :: (ToJSString script)
5050 -> JSM JSVal
5151#ifdef ghcjs_HOST_OS
5252eval script = liftIO $ js_eval (toJSString script)
53−foreign import javascript unsafe "$r = eval($1);"
53+foreign import javascript safe "$r = eval($1);"
5454 js_eval :: JSString -> IO JSVal
5555#else
5656eval = evaluateScript . toJSString
jsaddle/src/Language/Javascript/JSaddle/Object.hs+2−2
@@ -557,7 +557,7 @@ objCallAsFunction :: MakeArgs args
557557objCallAsFunction f this args = do
558558 rargs <- makeArgs args >>= liftIO . Array.fromListIO
559559 liftIO $ js_apply f this rargs
560−foreign import javascript unsafe "$r = $1.apply($2, $3)"
560+foreign import javascript safe "$r = $1.apply($2, $3)"
561561 js_apply :: Object -> Object -> MutableJSArray -> IO JSVal
562562#else
563563objCallAsFunction f this args = do
@@ -577,7 +577,7 @@ objCallAsConstructor :: MakeArgs args
577577objCallAsConstructor f args = do
578578 rargs <- makeArgs args >>= liftIO . Array.fromListIO
579579 liftIO $ js_new f rargs
580−foreign import javascript unsafe "\
580+foreign import javascript safe "\
581581 switch($2.length) {\
582582 case 0 : $r = new $1(); break;\
583583 case 1 : $r = new $1($2[0]); break;\