{-# LANGUAGE PatternSynonyms #-} -- For HasCallStack compatibility {-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-} {-# OPTIONS_GHC -fno-warn-unused-imports #-} module JSDOM.Generated.TextDecoder (newTextDecoder, decode, decode_, getEncoding, getFatal, getIgnoreBOM, TextDecoder(..), gTypeTextDecoder) where import Prelude ((.), (==), (>>=), return, IO, Int, Float, Double, Bool(..), Maybe, maybe, fromIntegral, round, realToFrac, fmap, Show, Read, Eq, Ord, Maybe(..)) import qualified Prelude (error) import Data.Typeable (Typeable) import Data.Traversable (mapM) import Language.Javascript.JSaddle (JSM(..), JSVal(..), JSString, strictEqual, toJSVal, valToStr, valToNumber, valToBool, js, jss, jsf, jsg, function, asyncFunction, new, array, jsUndefined, (!), (!!)) import Data.Int (Int64) import Data.Word (Word, Word64) import JSDOM.Types import Control.Applicative ((<$>)) import Control.Monad (void) import Control.Lens.Operators ((^.)) import JSDOM.EventTargetClosures (EventName, unsafeEventName, unsafeEventNameAsync) import JSDOM.Enums -- | newTextDecoder :: (MonadDOM m, ToJSString label) => Maybe label -> Maybe TextDecoderOptions -> m TextDecoder newTextDecoder label options = liftDOM (TextDecoder <$> new (jsg "TextDecoder") [toJSVal label, toJSVal options]) -- | decode :: (MonadDOM m, IsBufferSource input, FromJSString result) => TextDecoder -> Maybe input -> Maybe TextDecodeOptions -> m result decode self input options = liftDOM ((self ^. jsf "decode" [toJSVal input, toJSVal options]) >>= fromJSValUnchecked) -- | decode_ :: (MonadDOM m, IsBufferSource input) => TextDecoder -> Maybe input -> Maybe TextDecodeOptions -> m () decode_ self input options = liftDOM (void (self ^. jsf "decode" [toJSVal input, toJSVal options])) -- | getEncoding :: (MonadDOM m, FromJSString result) => TextDecoder -> m result getEncoding self = liftDOM ((self ^. js "encoding") >>= fromJSValUnchecked) -- | getFatal :: (MonadDOM m) => TextDecoder -> m Bool getFatal self = liftDOM ((self ^. js "fatal") >>= valToBool) -- | getIgnoreBOM :: (MonadDOM m) => TextDecoder -> m Bool getIgnoreBOM self = liftDOM ((self ^. js "ignoreBOM") >>= valToBool)