jsaddle-dom-0.10.0.0: src/JSDOM/Generated/Headers.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.Headers
(newHeaders, append, delete, get, get_, getUnsafe, getUnchecked, getSetCookie, getSetCookie_, has, has_, set, Headers(..), gTypeHeaders)
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/Headers/Headers MDN Headers. documentation>
newHeaders :: (MonadDOM m, IsHeadersInit init) => Maybe init -> m Headers
newHeaders init = liftDOM (((new (jsg "Headers") [P.maybe (P.return jsUndefined) toJSVal init]) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/Headers/append MDN Headers.append documentation>
append :: (MonadDOM m, ToJSString name, ToJSString value) => Headers -> name -> value -> m ()
append self name value = liftDOM (void (self ^. jsf "append" [toJSVal name, toJSVal value]))
-- | <https://developer.mozilla.org/docs/Web/API/Headers/delete MDN Headers.delete documentation>
delete :: (MonadDOM m, ToJSString name) => Headers -> name -> m ()
delete self name = liftDOM (void (self ^. jsf "delete" [toJSVal name]))
-- | <https://developer.mozilla.org/docs/Web/API/Headers/get MDN Headers.get documentation>
get :: (MonadDOM m, ToJSString name, FromJSString result) => Headers -> name -> m (Maybe result)
get self name = liftDOM (((self ^. jsf "get" [toJSVal name]) >>= fromMaybeJSString))
-- | <https://developer.mozilla.org/docs/Web/API/Headers/get MDN Headers.get documentation>
get_ :: (MonadDOM m, ToJSString name) => Headers -> name -> m ()
get_ self name = liftDOM (void (self ^. jsf "get" [toJSVal name]))
-- | <https://developer.mozilla.org/docs/Web/API/Headers/get MDN Headers.get documentation>
getUnsafe :: (MonadDOM m, ToJSString name, HasCallStack, FromJSString result) => Headers -> name -> m result
getUnsafe self name = liftDOM ((((self ^. jsf "get" [toJSVal name]) >>= fromMaybeJSString) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://developer.mozilla.org/docs/Web/API/Headers/get MDN Headers.get documentation>
getUnchecked :: (MonadDOM m, ToJSString name, FromJSString result) => Headers -> name -> m result
getUnchecked self name = liftDOM (((self ^. jsf "get" [toJSVal name]) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/Headers/getSetCookie MDN Headers.getSetCookie documentation>
getSetCookie :: (MonadDOM m, FromJSString result) => Headers -> m [result]
getSetCookie self = liftDOM (((self ^. jsf "getSetCookie" ()) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/Headers/getSetCookie MDN Headers.getSetCookie documentation>
getSetCookie_ :: (MonadDOM m) => Headers -> m ()
getSetCookie_ self = liftDOM (void (self ^. jsf "getSetCookie" ()))
-- | <https://developer.mozilla.org/docs/Web/API/Headers/has MDN Headers.has documentation>
has :: (MonadDOM m, ToJSString name) => Headers -> name -> m Bool
has self name = liftDOM (((self ^. jsf "has" [toJSVal name]) >>= valToBool))
-- | <https://developer.mozilla.org/docs/Web/API/Headers/has MDN Headers.has documentation>
has_ :: (MonadDOM m, ToJSString name) => Headers -> name -> m ()
has_ self name = liftDOM (void (self ^. jsf "has" [toJSVal name]))
-- | <https://developer.mozilla.org/docs/Web/API/Headers/set MDN Headers.set documentation>
set :: (MonadDOM m, ToJSString name, ToJSString value) => Headers -> name -> value -> m ()
set self name value = liftDOM (void (self ^. jsf "set" [toJSVal name, toJSVal value]))