packages feed

jsaddle-dom-0.10.0.0: src/JSDOM/Generated/URLSearchParams.hs

{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from url (webref). Do not edit.
module JSDOM.Generated.URLSearchParams
       (newURLSearchParams, append, delete, delete', get, get_, getUnsafe, getUnchecked, getAll, getAll_, has, has_, has', has'_, set, sort, getSize, URLSearchParams(..), gTypeURLSearchParams)
       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/URLSearchParams/URLSearchParams MDN URLSearchParams. documentation>
newURLSearchParams :: (MonadDOM m, IsSequenceSequenceStringOrRecordStringStringOrString init) => Maybe init -> m URLSearchParams
newURLSearchParams init = liftDOM (((new (jsg "URLSearchParams") [P.maybe (P.return jsUndefined) toJSVal init]) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/URLSearchParams/append MDN URLSearchParams.append documentation>
append :: (MonadDOM m, ToJSString name, ToJSString value) => URLSearchParams -> name -> value -> m ()
append self name value = liftDOM (void (self ^. jsf "append" [toJSVal name, toJSVal value]))

-- | <https://developer.mozilla.org/docs/Web/API/URLSearchParams/delete MDN URLSearchParams.delete documentation>
delete :: (MonadDOM m, ToJSString name) => URLSearchParams -> name -> m ()
delete self name = liftDOM (void (self ^. jsf "delete" [toJSVal name]))

-- | <https://developer.mozilla.org/docs/Web/API/URLSearchParams/delete MDN URLSearchParams.delete documentation>
delete' :: (MonadDOM m, ToJSString name, ToJSString value) => URLSearchParams -> name -> Maybe value -> m ()
delete' self name value = liftDOM (void (self ^. jsf "delete" [toJSVal name, P.maybe (P.return jsUndefined) toJSVal value]))

-- | <https://developer.mozilla.org/docs/Web/API/URLSearchParams/get MDN URLSearchParams.get documentation>
get :: (MonadDOM m, ToJSString name, FromJSString result) => URLSearchParams -> name -> m (Maybe result)
get self name = liftDOM (((self ^. jsf "get" [toJSVal name]) >>= fromMaybeJSString))

-- | <https://developer.mozilla.org/docs/Web/API/URLSearchParams/get MDN URLSearchParams.get documentation>
get_ :: (MonadDOM m, ToJSString name) => URLSearchParams -> name -> m ()
get_ self name = liftDOM (void (self ^. jsf "get" [toJSVal name]))

-- | <https://developer.mozilla.org/docs/Web/API/URLSearchParams/get MDN URLSearchParams.get documentation>
getUnsafe :: (MonadDOM m, ToJSString name, HasCallStack, FromJSString result) => URLSearchParams -> 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/URLSearchParams/get MDN URLSearchParams.get documentation>
getUnchecked :: (MonadDOM m, ToJSString name, FromJSString result) => URLSearchParams -> name -> m result
getUnchecked self name = liftDOM (((self ^. jsf "get" [toJSVal name]) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/URLSearchParams/getAll MDN URLSearchParams.getAll documentation>
getAll :: (MonadDOM m, ToJSString name, FromJSString result) => URLSearchParams -> name -> m [result]
getAll self name = liftDOM (((self ^. jsf "getAll" [toJSVal name]) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/URLSearchParams/getAll MDN URLSearchParams.getAll documentation>
getAll_ :: (MonadDOM m, ToJSString name) => URLSearchParams -> name -> m ()
getAll_ self name = liftDOM (void (self ^. jsf "getAll" [toJSVal name]))

-- | <https://developer.mozilla.org/docs/Web/API/URLSearchParams/has MDN URLSearchParams.has documentation>
has :: (MonadDOM m, ToJSString name) => URLSearchParams -> name -> m Bool
has self name = liftDOM (((self ^. jsf "has" [toJSVal name]) >>= valToBool))

-- | <https://developer.mozilla.org/docs/Web/API/URLSearchParams/has MDN URLSearchParams.has documentation>
has_ :: (MonadDOM m, ToJSString name) => URLSearchParams -> name -> m ()
has_ self name = liftDOM (void (self ^. jsf "has" [toJSVal name]))

-- | <https://developer.mozilla.org/docs/Web/API/URLSearchParams/has MDN URLSearchParams.has documentation>
has' :: (MonadDOM m, ToJSString name, ToJSString value) => URLSearchParams -> name -> Maybe value -> m Bool
has' self name value = liftDOM (((self ^. jsf "has" [toJSVal name, P.maybe (P.return jsUndefined) toJSVal value]) >>= valToBool))

-- | <https://developer.mozilla.org/docs/Web/API/URLSearchParams/has MDN URLSearchParams.has documentation>
has'_ :: (MonadDOM m, ToJSString name, ToJSString value) => URLSearchParams -> name -> Maybe value -> m ()
has'_ self name value = liftDOM (void (self ^. jsf "has" [toJSVal name, P.maybe (P.return jsUndefined) toJSVal value]))

-- | <https://developer.mozilla.org/docs/Web/API/URLSearchParams/set MDN URLSearchParams.set documentation>
set :: (MonadDOM m, ToJSString name, ToJSString value) => URLSearchParams -> name -> value -> m ()
set self name value = liftDOM (void (self ^. jsf "set" [toJSVal name, toJSVal value]))

-- | <https://developer.mozilla.org/docs/Web/API/URLSearchParams/sort MDN URLSearchParams.sort documentation>
sort :: (MonadDOM m) => URLSearchParams -> m ()
sort self = liftDOM (void (self ^. jsf "sort" ()))

-- | <https://developer.mozilla.org/docs/Web/API/URLSearchParams/size MDN URLSearchParams.size documentation>
getSize :: (MonadDOM m) => URLSearchParams -> m Word
getSize self = liftDOM ((P.round <$> ((self ^. js "size") >>= valToNumber)))