From df2b83c6aa9ec4e99a018dfdbcad77fc0d95be06 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Mon, 11 Jun 2018 14:09:24 +1200 Subject: [PATCH] Fix functions returning `Maybe string` --- domconv-webkit-jsaddle.hs | 26 +++++++++++--------------- 1 file changed, 11 insertions(+), 15 deletions(-) diff --git a/domconv-webkit-jsaddle.hs b/domconv-webkit-jsaddle.hs index f8db27f..ccd7afb 100644 --- a/domconv-webkit-jsaddle.hs +++ b/domconv-webkit-jsaddle.hs @@ -1090,21 +1090,17 @@ returnType enums t ext Unsafe e = (mkVar "maybe") (H.HsParen (H.HsApp (mkVar "Prelude.error") (H.HsLit $ H.HsString "Nothing to return")))) (mkVar "return")) -returnType _ (I.TyName "DOMString" Nothing) ext wrapType e - = H.HsInfixApp - (H.HsParen e) - (H.HsQVarOp (mkSymbol ">>=")) - (mkVar "fromJSValUnchecked") -returnType _ (I.TyName "ByteString" Nothing) ext wrapType e - = H.HsInfixApp - (H.HsParen e) - (H.HsQVarOp (mkSymbol ">>=")) - (mkVar "fromJSValUnchecked") -returnType _ (I.TyName "USVString" Nothing) ext wrapType e - = H.HsInfixApp - (H.HsParen e) - (H.HsQVarOp (mkSymbol ">>=")) - (mkVar "fromJSValUnchecked") +returnType _ t ext wrapType e + | isOptionalStringType t && wrapType /= Unchecked = + H.HsInfixApp + (H.HsParen e) + (H.HsQVarOp (mkSymbol ">>=")) + (mkVar "fromMaybeJSString") + | isStringType t = + H.HsInfixApp + (H.HsParen e) + (H.HsQVarOp (mkSymbol ">>=")) + (mkVar "fromJSValUnchecked") returnType _ (I.TyName "DOMTimeStamp" Nothing) _ _ e = H.HsApp (H.HsApp (mkVar "round") (mkVar "<$>")) (H.HsParen ( H.HsInfixApp (H.HsParen e)