diff --git a/IdrisScript.idr b/IdrisScript.idr index f455866..ed09ba9 100644 --- a/IdrisScript.idr +++ b/IdrisScript.idr @@ -81,9 +81,15 @@ interface ToJS from (to : JSType) where implementation ToJS String JSString where toJS str = MkJSString (believe_me str) +implementation ToJS Nat JSNumber where + toJS num = MkJSNumber (believe_me num) + implementation ToJS Int JSNumber where toJS num = MkJSNumber (believe_me num) +implementation ToJS Integer JSNumber where + toJS num = MkJSNumber (believe_me num) + implementation ToJS Double JSNumber where toJS num = MkJSNumber (believe_me num) @@ -100,6 +106,9 @@ implementation FromJS JSString String where implementation FromJS JSNumber Int where fromJS (MkJSNumber num) = cast {from=Double} {to=Int} (believe_me num) +implementation FromJS JSNumber Integer where + fromJS (MkJSNumber num) = cast {from=Double} {to=Integer} (believe_me num) + implementation FromJS JSNumber Double where fromJS (MkJSNumber num) = believe_me num diff --git a/IdrisScript/Objects.idr b/IdrisScript/Objects.idr index 2de5be5..180c7b1 100644 --- a/IdrisScript/Objects.idr +++ b/IdrisScript/Objects.idr @@ -24,7 +24,7 @@ setProperty : (prop : String) -> (obj : JSValue (JSObject c)) -> JS_IO (JSValue (JSObject c)) setProperty prop val obj = do - jscall "%0[%1] = %2" (Ptr -> String -> Ptr -> JS_IO Ptr) + jscall "%0[%1] = %2" (Ptr -> String -> Ptr -> JS_IO ()) (unpack obj) prop (unpack val) pure obj