jsaddle-dom-0.10.0.0: src/JSDOM/Generated/Response.hs
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from fetch (webref). Do not edit.
module JSDOM.Generated.Response
(newResponse, clone, clone_, error, error_, json, json_, redirect, redirect_, getType, getUrl, getRedirected, getStatus, getOk, getStatusText, getHeaders, Response(..), gTypeResponse)
where
import Prelude ((.), (==), (>>=), (<$>), (++), Bool(..), Maybe(..), IO, Int, Word, Double, Float)
import qualified Prelude as P
import Control.Monad (void)
import Control.Lens.Operators ((^.))
import Language.Javascript.JSaddle (JSM, JSVal, JSString, toJSVal, valToBool, valToNumber, js, jss, jsf, jsg, new, function, asyncFunction, jsUndefined, jsNull)
import JSDOM.Types
import qualified JSDOM.Types as Types
import JSDOM.EventTargetClosures (EventName, unsafeEventName, unsafeEventNameAsync)
import JSDOM.Generated.Enums
-- | <https://developer.mozilla.org/docs/Web/API/Response/Response MDN Response. documentation>
newResponse :: (MonadDOM m, IsBodyInit body) => Maybe body -> Maybe ResponseInit -> m Response
newResponse body init = liftDOM (((new (jsg "Response") [toJSVal body, P.maybe (P.return jsUndefined) toJSVal init]) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/Response/clone MDN Response.clone documentation>
clone :: (MonadDOM m) => Response -> m Response
clone self = liftDOM (((self ^. jsf "clone" ()) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/Response/clone MDN Response.clone documentation>
clone_ :: (MonadDOM m) => Response -> m ()
clone_ self = liftDOM (void (self ^. jsf "clone" ()))
-- | <https://developer.mozilla.org/docs/Web/API/Response/error_static MDN Response.error documentation>
error :: (MonadDOM m) => m Response
error = liftDOM ((((jsg "Response") ^. jsf "error" ()) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/Response/error_static MDN Response.error documentation>
error_ :: (MonadDOM m) => m ()
error_ = liftDOM (void ((jsg "Response") ^. jsf "error" ()))
-- | <https://developer.mozilla.org/docs/Web/API/Response/json_static MDN Response.json documentation>
json :: (MonadDOM m) => JSVal -> Maybe ResponseInit -> m Response
json data' init = liftDOM ((((jsg "Response") ^. jsf "json" [toJSVal data', P.maybe (P.return jsUndefined) toJSVal init]) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/Response/json_static MDN Response.json documentation>
json_ :: (MonadDOM m) => JSVal -> Maybe ResponseInit -> m ()
json_ data' init = liftDOM (void ((jsg "Response") ^. jsf "json" [toJSVal data', P.maybe (P.return jsUndefined) toJSVal init]))
-- | <https://developer.mozilla.org/docs/Web/API/Response/redirect_static MDN Response.redirect documentation>
redirect :: (MonadDOM m, ToJSString url) => url -> Maybe Word -> m Response
redirect url status = liftDOM ((((jsg "Response") ^. jsf "redirect" [toJSVal url, P.maybe (P.return jsUndefined) toJSVal status]) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/Response/redirect_static MDN Response.redirect documentation>
redirect_ :: (MonadDOM m, ToJSString url) => url -> Maybe Word -> m ()
redirect_ url status = liftDOM (void ((jsg "Response") ^. jsf "redirect" [toJSVal url, P.maybe (P.return jsUndefined) toJSVal status]))
-- | <https://developer.mozilla.org/docs/Web/API/Response/type MDN Response.type documentation>
getType :: (MonadDOM m) => Response -> m ResponseType
getType self = liftDOM (((self ^. js "type") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/Response/url MDN Response.url documentation>
getUrl :: (MonadDOM m, FromJSString result) => Response -> m result
getUrl self = liftDOM (((self ^. js "url") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/Response/redirected MDN Response.redirected documentation>
getRedirected :: (MonadDOM m) => Response -> m Bool
getRedirected self = liftDOM (((self ^. js "redirected") >>= valToBool))
-- | <https://developer.mozilla.org/docs/Web/API/Response/status MDN Response.status documentation>
getStatus :: (MonadDOM m) => Response -> m Word
getStatus self = liftDOM ((P.round <$> ((self ^. js "status") >>= valToNumber)))
-- | <https://developer.mozilla.org/docs/Web/API/Response/ok MDN Response.ok documentation>
getOk :: (MonadDOM m) => Response -> m Bool
getOk self = liftDOM (((self ^. js "ok") >>= valToBool))
-- | <https://developer.mozilla.org/docs/Web/API/Response/statusText MDN Response.statusText documentation>
getStatusText :: (MonadDOM m, FromJSString result) => Response -> m result
getStatusText self = liftDOM (((self ^. js "statusText") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/Response/headers MDN Response.headers documentation>
getHeaders :: (MonadDOM m) => Response -> m Headers
getHeaders self = liftDOM (((self ^. js "headers") >>= fromJSValUnchecked))