{-# LANGUAGE PatternSynonyms #-} {-# LANGUAGE ForeignFunctionInterface #-} {-# LANGUAGE JavaScriptFFI #-} -- For HasCallStack compatibility {-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-} module GHCJS.DOM.JSFFI.Generated.Enums (KeyType(..), PToJSVal, ToJSVal, PFromJSVal, FromJSVal, js_KeyTypePublic, js_KeyTypePrivate, js_KeyTypeSecret, CryptoKeyUsage(..), js_CryptoKeyUsageEncrypt, js_CryptoKeyUsageDecrypt, js_CryptoKeyUsageSign, js_CryptoKeyUsageVerify, js_CryptoKeyUsageDeriveKey, js_CryptoKeyUsageDeriveBits, js_CryptoKeyUsageWrapKey, js_CryptoKeyUsageUnwrapKey, KeyFormat(..), js_KeyFormatRaw, js_KeyFormatSpki, js_KeyFormatPkcs8, js_KeyFormatJwk, FontFaceLoadStatus(..), js_FontFaceLoadStatusUnloaded, js_FontFaceLoadStatusLoading, js_FontFaceLoadStatusLoaded, js_FontFaceLoadStatusError, FontFaceSetLoadStatus(..), js_FontFaceSetLoadStatusLoading, js_FontFaceSetLoadStatusLoaded, VisibilityState(..), js_VisibilityStateHidden, js_VisibilityStateVisible, js_VisibilityStatePrerender, DocumentReadyState(..), js_DocumentReadyStateLoading, js_DocumentReadyStateInteractive, js_DocumentReadyStateComplete, ShadowRootMode(..), js_ShadowRootModeUserAgent, js_ShadowRootModeClosed, js_ShadowRootModeOpen, BlobLineEndings(..), js_BlobLineEndingsTransparent, js_BlobLineEndingsNative, ImageSmoothingQuality(..), js_ImageSmoothingQualityLow, js_ImageSmoothingQualityMedium, js_ImageSmoothingQualityHigh, CanvasWindingRule(..), js_CanvasWindingRuleNonzero, js_CanvasWindingRuleEvenodd, WebGLPowerPreference(..), js_WebGLPowerPreferenceDefault, js_WebGLPowerPreferenceLowPower, js_WebGLPowerPreferenceHighPerformance, WebGPUCompareFunction(..), js_WebGPUCompareFunctionNever, js_WebGPUCompareFunctionLess, js_WebGPUCompareFunctionEqual, js_WebGPUCompareFunctionLessequal, js_WebGPUCompareFunctionGreater, js_WebGPUCompareFunctionNotequal, js_WebGPUCompareFunctionGreaterequal, js_WebGPUCompareFunctionAlways, WebGPUPixelFormat(..), js_WebGPUPixelFormatBGRA8Unorm, WebGPULoadAction(..), js_WebGPULoadActionDontcare, js_WebGPULoadActionLoad, js_WebGPULoadActionClear, WebGPUStoreAction(..), js_WebGPUStoreActionDontcare, js_WebGPUStoreActionStore, js_WebGPUStoreActionMultisampleresolve, WebGPUPrimitiveType(..), js_WebGPUPrimitiveTypePoint, js_WebGPUPrimitiveTypeLine, js_WebGPUPrimitiveTypeLinestrip, js_WebGPUPrimitiveTypeTriangle, js_WebGPUPrimitiveTypeTrianglestrip, WebGPUFunctionType(..), js_WebGPUFunctionTypeFragment, js_WebGPUFunctionTypeVertex, WebGPUStencilOperation(..), js_WebGPUStencilOperationKeep, js_WebGPUStencilOperationZero, js_WebGPUStencilOperationReplace, js_WebGPUStencilOperationIncrementclamp, js_WebGPUStencilOperationDecrementclamp, js_WebGPUStencilOperationInvert, js_WebGPUStencilOperationIncrementwrap, js_WebGPUStencilOperationDecrementwrap, WebGPUStatus(..), js_WebGPUStatusNotenqueued, js_WebGPUStatusEnqueued, js_WebGPUStatusCommitted, js_WebGPUStatusScheduled, js_WebGPUStatusCompleted, js_WebGPUStatusError, WebGPUSamplerAddressMode(..), js_WebGPUSamplerAddressModeClamptoedge, js_WebGPUSamplerAddressModeMirrorclamptoedge, js_WebGPUSamplerAddressModeRepeat, js_WebGPUSamplerAddressModeMirrorrepeat, js_WebGPUSamplerAddressModeClamptozero, WebGPUSamplerMinMagFilter(..), js_WebGPUSamplerMinMagFilterNearest, js_WebGPUSamplerMinMagFilterLinear, WebGPUSamplerMipFilter(..), js_WebGPUSamplerMipFilterNotmipmapped, js_WebGPUSamplerMipFilterNearest, js_WebGPUSamplerMipFilterLinear, WebGPUCullMode(..), js_WebGPUCullModeNone, js_WebGPUCullModeFront, js_WebGPUCullModeBack, WebGPUIndexType(..), js_WebGPUIndexTypeUint16, js_WebGPUIndexTypeUint32, WebGPUVisibilityResultMode(..), js_WebGPUVisibilityResultModeDisabled, js_WebGPUVisibilityResultModeBoolean, js_WebGPUVisibilityResultModeCounting, WebGPUWinding(..), js_WebGPUWindingClockwise, js_WebGPUWindingCounterclockwise, WebGPUDepthClipMode(..), js_WebGPUDepthClipModeClip, js_WebGPUDepthClipModeClamp, WebGPUTriangleFillMode(..), js_WebGPUTriangleFillModeFill, js_WebGPUTriangleFillModeLines, WebGPUCPUCacheMode(..), js_WebGPUCPUCacheModeDefaultcache, js_WebGPUCPUCacheModeWritecombined, WebGPUStorageMode(..), js_WebGPUStorageModeShared, js_WebGPUStorageModeManaged, js_WebGPUStorageModePrivate, WebGPUResourceOptions(..), js_WebGPUResourceOptionsCpucachemodedefaultcache, js_WebGPUResourceOptionsCpucachemodewritecombined, js_WebGPUResourceOptionsStoragemodeshared, js_WebGPUResourceOptionsStoragemodemanaged, js_WebGPUResourceOptionsStoragemodeprivate, js_WebGPUResourceOptionsOptioncpucachemodedefaultcache, js_WebGPUResourceOptionsOptioncpucachemodewritecombined, WebGPUTextureUsage(..), js_WebGPUTextureUsageUnknown, js_WebGPUTextureUsageShaderread, js_WebGPUTextureUsageShaderwrite, js_WebGPUTextureUsageRendertarget, js_WebGPUTextureUsagePixelformatview, WebGPUBlendOperation(..), js_WebGPUBlendOperationAdd, js_WebGPUBlendOperationSubtract, js_WebGPUBlendOperationReversesubtract, js_WebGPUBlendOperationMin, js_WebGPUBlendOperationMax, WebGPUBlendFactor(..), js_WebGPUBlendFactorZero, js_WebGPUBlendFactorOne, js_WebGPUBlendFactorSourcecolor, js_WebGPUBlendFactorOneminussourcecolor, js_WebGPUBlendFactorSourcealpha, js_WebGPUBlendFactorOneminussourcealpha, js_WebGPUBlendFactorDestinationcolor, js_WebGPUBlendFactorOneminusdestinationcolor, js_WebGPUBlendFactorDestinationalpha, js_WebGPUBlendFactorOneminusdestinationalpha, js_WebGPUBlendFactorSourcealphasaturated, js_WebGPUBlendFactorBlendcolor, js_WebGPUBlendFactorOneminusblendcolor, js_WebGPUBlendFactorBlendalpha, js_WebGPUBlendFactorOneminusblendalpha, WebGPUColorWriteMask(..), js_WebGPUColorWriteMaskNone, js_WebGPUColorWriteMaskRed, js_WebGPUColorWriteMaskGreen, js_WebGPUColorWriteMaskBlue, js_WebGPUColorWriteMaskAlpha, js_WebGPUColorWriteMaskAll, WebGPUMultisampleDepthResolveFilter(..), js_WebGPUMultisampleDepthResolveFilterSample0, js_WebGPUMultisampleDepthResolveFilterMin, js_WebGPUMultisampleDepthResolveFilterMax, WebGPUFeatureSet(..), js_WebGPUFeatureSetLevel1, js_WebGPUFeatureSetLevel2, VideoPresentationMode(..), js_VideoPresentationModeFullscreen, js_VideoPresentationModePictureInPicture, js_VideoPresentationModeInline, TextTrackMode(..), js_TextTrackModeDisabled, js_TextTrackModeHidden, js_TextTrackModeShowing, TextTrackKind(..), js_TextTrackKindSubtitles, js_TextTrackKindCaptions, js_TextTrackKindDescriptions, js_TextTrackKindChapters, js_TextTrackKindMetadata, js_TextTrackKindForced, ApplePayErrorCode(..), js_ApplePayErrorCodeUnknown, js_ApplePayErrorCodeShippingContactInvalid, js_ApplePayErrorCodeBillingContactInvalid, js_ApplePayErrorCodeAddressUnservicable, ApplePayErrorContactField(..), js_ApplePayErrorContactFieldPhoneNumber, js_ApplePayErrorContactFieldEmailAddress, js_ApplePayErrorContactFieldName, js_ApplePayErrorContactFieldPostalAddress, js_ApplePayErrorContactFieldAddressLines, js_ApplePayErrorContactFieldLocality, js_ApplePayErrorContactFieldPostalCode, js_ApplePayErrorContactFieldAdministrativeArea, js_ApplePayErrorContactFieldCountry, ApplePayLineItemType(..), js_ApplePayLineItemTypePending, js_ApplePayLineItemTypeFinal, ApplePayPaymentMethodType(..), js_ApplePayPaymentMethodTypeDebit, js_ApplePayPaymentMethodTypeCredit, js_ApplePayPaymentMethodTypePrepaid, js_ApplePayPaymentMethodTypeStore, ApplePayPaymentPassActivationState(..), js_ApplePayPaymentPassActivationStateActivated, js_ApplePayPaymentPassActivationStateRequiresActivation, js_ApplePayPaymentPassActivationStateActivating, js_ApplePayPaymentPassActivationStateSuspended, js_ApplePayPaymentPassActivationStateDeactivated, ApplePayMerchantCapability(..), js_ApplePayMerchantCapabilitySupports3DS, js_ApplePayMerchantCapabilitySupportsEMV, js_ApplePayMerchantCapabilitySupportsCredit, js_ApplePayMerchantCapabilitySupportsDebit, ApplePayContactField(..), js_ApplePayContactFieldEmail, js_ApplePayContactFieldName, js_ApplePayContactFieldPhone, js_ApplePayContactFieldPostalAddress, ApplePayShippingType(..), js_ApplePayShippingTypeShipping, js_ApplePayShippingTypeDelivery, js_ApplePayShippingTypeStorePickup, js_ApplePayShippingTypeServicePickup, MediaKeyMessageType(..), js_MediaKeyMessageTypeLicenseRequest, js_MediaKeyMessageTypeLicenseRenewal, js_MediaKeyMessageTypeLicenseRelease, js_MediaKeyMessageTypeIndividualizationRequest, MediaKeySessionType(..), js_MediaKeySessionTypeTemporary, js_MediaKeySessionTypePersistentUsageRecord, js_MediaKeySessionTypePersistentLicense, MediaKeysRequirement(..), js_MediaKeysRequirementRequired, js_MediaKeysRequirementOptional, js_MediaKeysRequirementNotAllowed, MediaKeyStatus(..), js_MediaKeyStatusUsable, js_MediaKeyStatusExpired, js_MediaKeyStatusReleased, js_MediaKeyStatusOutputRestricted, js_MediaKeyStatusOutputDownscaled, js_MediaKeyStatusStatusPending, js_MediaKeyStatusInternalError, RequestType(..), js_RequestType, js_RequestTypeAudio, js_RequestTypeFont, js_RequestTypeImage, js_RequestTypeScript, js_RequestTypeStyle, js_RequestTypeTrack, js_RequestTypeVideo, RequestDestination(..), js_RequestDestination, js_RequestDestinationDocument, js_RequestDestinationSharedworker, js_RequestDestinationSubresource, js_RequestDestinationUnknown, js_RequestDestinationWorker, RequestMode(..), js_RequestModeNavigate, js_RequestModeSameOrigin, js_RequestModeNoCors, js_RequestModeCors, RequestCredentials(..), js_RequestCredentialsOmit, js_RequestCredentialsSameOrigin, js_RequestCredentialsInclude, RequestCache(..), js_RequestCacheDefault, js_RequestCacheNoStore, js_RequestCacheReload, js_RequestCacheNoCache, js_RequestCacheForceCache, js_RequestCacheOnlyIfCached, RequestRedirect(..), js_RequestRedirectFollow, js_RequestRedirectError, js_RequestRedirectManual, ReferrerPolicy(..), js_ReferrerPolicy, js_ReferrerPolicyNoReferrer, js_ReferrerPolicyNoReferrerWhenDowngrade, js_ReferrerPolicyOrigin, js_ReferrerPolicyOriginWhenCrossOrigin, js_ReferrerPolicyUnsafeUrl, ResponseType(..), js_ResponseTypeBasic, js_ResponseTypeCors, js_ResponseTypeDefault, js_ResponseTypeError, js_ResponseTypeOpaque, js_ResponseTypeOpaqueredirect, IDBCursorDirection(..), js_IDBCursorDirectionNext, js_IDBCursorDirectionNextunique, js_IDBCursorDirectionPrev, js_IDBCursorDirectionPrevunique, IDBRequestReadyState(..), js_IDBRequestReadyStatePending, js_IDBRequestReadyStateDone, IDBTransactionMode(..), js_IDBTransactionModeReadonly, js_IDBTransactionModeReadwrite, js_IDBTransactionModeVersionchange, DeviceType(..), js_DeviceTypeNone, js_DeviceTypeAirplay, js_DeviceTypeTvout, MediaSessionKind(..), js_MediaSessionKindContent, js_MediaSessionKindTransient, js_MediaSessionKindTransientSolo, js_MediaSessionKindAmbient, EndOfStreamError(..), js_EndOfStreamErrorNetwork, js_EndOfStreamErrorDecode, ReadyState(..), js_ReadyStateClosed, js_ReadyStateOpen, js_ReadyStateEnded, AppendMode(..), js_AppendModeSegments, js_AppendModeSequence, MediaDeviceKind(..), js_MediaDeviceKindAudioinput, js_MediaDeviceKindAudiooutput, js_MediaDeviceKindVideoinput, MediaStreamTrackState(..), js_MediaStreamTrackStateLive, js_MediaStreamTrackStateEnded, RTCIceTransportPolicy(..), js_RTCIceTransportPolicyRelay, js_RTCIceTransportPolicyAll, RTCBundlePolicy(..), js_RTCBundlePolicyBalanced, js_RTCBundlePolicyMaxCompat, js_RTCBundlePolicyMaxBundle, RTCDataChannelState(..), js_RTCDataChannelStateConnecting, js_RTCDataChannelStateOpen, js_RTCDataChannelStateClosing, js_RTCDataChannelStateClosed, RTCIceConnectionState(..), js_RTCIceConnectionStateNew, js_RTCIceConnectionStateChecking, js_RTCIceConnectionStateConnected, js_RTCIceConnectionStateCompleted, js_RTCIceConnectionStateFailed, js_RTCIceConnectionStateDisconnected, js_RTCIceConnectionStateClosed, RTCIceGatheringState(..), js_RTCIceGatheringStateNew, js_RTCIceGatheringStateGathering, js_RTCIceGatheringStateComplete, RTCIceTransportState(..), js_RTCIceTransportStateNew, js_RTCIceTransportStateChecking, js_RTCIceTransportStateConnected, js_RTCIceTransportStateCompleted, js_RTCIceTransportStateFailed, js_RTCIceTransportStateDisconnected, js_RTCIceTransportStateClosed, RTCPeerConnectionState(..), js_RTCPeerConnectionStateNew, js_RTCPeerConnectionStateConnecting, js_RTCPeerConnectionStateConnected, js_RTCPeerConnectionStateDisconnected, js_RTCPeerConnectionStateFailed, js_RTCPeerConnectionStateClosed, RTCDegradationPreference(..), js_RTCDegradationPreferenceMaintainFramerate, js_RTCDegradationPreferenceMaintainResolution, js_RTCDegradationPreferenceBalanced, RTCDtxStatus(..), js_RTCDtxStatusDisabled, js_RTCDtxStatusEnabled, RTCPriorityType(..), js_RTCPriorityTypeVeryLow, js_RTCPriorityTypeLow, js_RTCPriorityTypeMedium, js_RTCPriorityTypeHigh, RTCRtpTransceiverDirection(..), js_RTCRtpTransceiverDirectionSendrecv, js_RTCRtpTransceiverDirectionSendonly, js_RTCRtpTransceiverDirectionRecvonly, js_RTCRtpTransceiverDirectionInactive, RTCSdpType(..), js_RTCSdpTypeOffer, js_RTCSdpTypePranswer, js_RTCSdpTypeAnswer, js_RTCSdpTypeRollback, RTCSignalingState(..), js_RTCSignalingStateStable, js_RTCSignalingStateHaveLocalOffer, js_RTCSignalingStateHaveRemoteOffer, js_RTCSignalingStateHaveLocalPranswer, js_RTCSignalingStateHaveRemotePranswer, RTCStatsType(..), js_RTCStatsTypeCodec, js_RTCStatsTypeInboundRtp, js_RTCStatsTypeOutboundRtp, js_RTCStatsTypePeerConnection, js_RTCStatsTypeDataChannel, js_RTCStatsTypeTrack, js_RTCStatsTypeTransport, js_RTCStatsTypeCandidatePair, js_RTCStatsTypeLocalCandidate, js_RTCStatsTypeRemoteCandidate, js_RTCStatsTypeCertificate, NotificationDirection(..), js_NotificationDirectionAuto, js_NotificationDirectionLtr, js_NotificationDirectionRtl, AudioContextState(..), js_AudioContextStateSuspended, js_AudioContextStateRunning, js_AudioContextStateInterrupted, js_AudioContextStateClosed, BiquadFilterType(..), js_BiquadFilterTypeLowpass, js_BiquadFilterTypeHighpass, js_BiquadFilterTypeBandpass, js_BiquadFilterTypeLowshelf, js_BiquadFilterTypeHighshelf, js_BiquadFilterTypePeaking, js_BiquadFilterTypeNotch, js_BiquadFilterTypeAllpass, OscillatorType(..), js_OscillatorTypeSine, js_OscillatorTypeSquare, js_OscillatorTypeSawtooth, js_OscillatorTypeTriangle, js_OscillatorTypeCustom, PanningModelType(..), js_PanningModelTypeEqualpower, js_PanningModelTypeHRTF, DistanceModelType(..), js_DistanceModelTypeLinear, js_DistanceModelTypeInverse, js_DistanceModelTypeExponential, OverSampleType(..), js_OverSampleTypeNone, js_OverSampleType2x, js_OverSampleType4x, ScrollRestoration(..), js_ScrollRestorationAuto, js_ScrollRestorationManual, XMLHttpRequestResponseType(..), js_XMLHttpRequestResponseType, js_XMLHttpRequestResponseTypeArraybuffer, js_XMLHttpRequestResponseTypeBlob, js_XMLHttpRequestResponseTypeDocument, js_XMLHttpRequestResponseTypeJson, js_XMLHttpRequestResponseTypeText) where import Prelude ((.), (==), (>>=), return, IO, Int, Float, Double, Bool(..), Maybe, maybe, fromIntegral, round, fmap, Show, Read, Eq, Ord) import qualified Prelude (error) import Data.Typeable (Typeable) import GHCJS.Types (JSVal(..), JSString) import GHCJS.Foreign (jsNull, jsUndefined) import GHCJS.Foreign.Callback (syncCallback, asyncCallback, syncCallback1, asyncCallback1, syncCallback2, asyncCallback2, OnBlocked(..)) import GHCJS.Marshal (ToJSVal(..), FromJSVal(..)) import GHCJS.Marshal.Pure (PToJSVal(..), PFromJSVal(..)) import Control.Monad (void) import Control.Monad.IO.Class (MonadIO(..)) import Data.Int (Int64) import Data.Word (Word, Word64) import Data.Maybe (fromJust) import Data.Traversable (mapM) import GHCJS.DOM.Types import Control.Applicative ((<$>)) data KeyType = KeyTypePublic | KeyTypePrivate | KeyTypeSecret deriving (Show, Read, Eq, Ord, Typeable) instance PToJSVal KeyType where pToJSVal KeyTypePublic = js_KeyTypePublic pToJSVal KeyTypePrivate = js_KeyTypePrivate pToJSVal KeyTypeSecret = js_KeyTypeSecret instance ToJSVal KeyType where toJSVal = return . pToJSVal instance PFromJSVal KeyType where pFromJSVal x | x `js_eq` js_KeyTypePublic = KeyTypePublic pFromJSVal x | x `js_eq` js_KeyTypePrivate = KeyTypePrivate pFromJSVal x | x `js_eq` js_KeyTypeSecret = KeyTypeSecret instance FromJSVal KeyType where fromJSValUnchecked = return . pFromJSVal fromJSVal = return . pFromJSVal foreign import javascript unsafe "\"public\"" js_KeyTypePublic :: JSVal foreign import javascript unsafe "\"private\"" js_KeyTypePrivate :: JSVal foreign import javascript unsafe "\"secret\"" js_KeyTypeSecret :: JSVal data CryptoKeyUsage = CryptoKeyUsageEncrypt | CryptoKeyUsageDecrypt | CryptoKeyUsageSign | CryptoKeyUsageVerify | CryptoKeyUsageDeriveKey | CryptoKeyUsageDeriveBits | CryptoKeyUsageWrapKey | CryptoKeyUsageUnwrapKey deriving (Show, Read, Eq, Ord, Typeable) instance PToJSVal CryptoKeyUsage where pToJSVal CryptoKeyUsageEncrypt = js_CryptoKeyUsageEncrypt pToJSVal CryptoKeyUsageDecrypt = js_CryptoKeyUsageDecrypt pToJSVal CryptoKeyUsageSign = js_CryptoKeyUsageSign pToJSVal CryptoKeyUsageVerify = js_CryptoKeyUsageVerify pToJSVal CryptoKeyUsageDeriveKey = js_CryptoKeyUsageDeriveKey pToJSVal CryptoKeyUsageDeriveBits = js_CryptoKeyUsageDeriveBits pToJSVal CryptoKeyUsageWrapKey = js_CryptoKeyUsageWrapKey pToJSVal CryptoKeyUsageUnwrapKey = js_CryptoKeyUsageUnwrapKey instance ToJSVal CryptoKeyUsage where toJSVal = return . pToJSVal instance PFromJSVal CryptoKeyUsage where pFromJSVal x | x `js_eq` js_CryptoKeyUsageEncrypt = CryptoKeyUsageEncrypt pFromJSVal x | x `js_eq` js_CryptoKeyUsageDecrypt = CryptoKeyUsageDecrypt pFromJSVal x | x `js_eq` js_CryptoKeyUsageSign = CryptoKeyUsageSign pFromJSVal x | x `js_eq` js_CryptoKeyUsageVerify = CryptoKeyUsageVerify pFromJSVal x | x `js_eq` js_CryptoKeyUsageDeriveKey = CryptoKeyUsageDeriveKey pFromJSVal x | x `js_eq` js_CryptoKeyUsageDeriveBits = CryptoKeyUsageDeriveBits pFromJSVal x | x `js_eq` js_CryptoKeyUsageWrapKey = CryptoKeyUsageWrapKey pFromJSVal x | x `js_eq` js_CryptoKeyUsageUnwrapKey = CryptoKeyUsageUnwrapKey instance FromJSVal CryptoKeyUsage where fromJSValUnchecked = return . pFromJSVal fromJSVal = return . pFromJSVal foreign import javascript unsafe "\"encrypt\"" js_CryptoKeyUsageEncrypt :: JSVal foreign import javascript unsafe "\"decrypt\"" js_CryptoKeyUsageDecrypt :: JSVal foreign import javascript unsafe "\"sign\"" js_CryptoKeyUsageSign :: JSVal foreign import javascript unsafe "\"verify\"" js_CryptoKeyUsageVerify :: JSVal foreign import javascript unsafe "\"deriveKey\"" js_CryptoKeyUsageDeriveKey :: JSVal foreign import javascript unsafe "\"deriveBits\"" js_CryptoKeyUsageDeriveBits :: JSVal foreign import javascript unsafe "\"wrapKey\"" js_CryptoKeyUsageWrapKey :: JSVal foreign import javascript unsafe "\"unwrapKey\"" js_CryptoKeyUsageUnwrapKey :: JSVal data KeyFormat = KeyFormatRaw | KeyFormatSpki | KeyFormatPkcs8 | KeyFormatJwk deriving (Show, Read, Eq, Ord, Typeable) instance PToJSVal KeyFormat where pToJSVal KeyFormatRaw = js_KeyFormatRaw pToJSVal KeyFormatSpki = js_KeyFormatSpki pToJSVal KeyFormatPkcs8 = js_KeyFormatPkcs8 pToJSVal KeyFormatJwk = js_KeyFormatJwk instance ToJSVal KeyFormat where toJSVal = return . pToJSVal instance PFromJSVal KeyFormat where pFromJSVal x | x `js_eq` js_KeyFormatRaw = KeyFormatRaw pFromJSVal x | x `js_eq` js_KeyFormatSpki = KeyFormatSpki pFromJSVal x | x `js_eq` js_KeyFormatPkcs8 = KeyFormatPkcs8 pFromJSVal x | x `js_eq` js_KeyFormatJwk = KeyFormatJwk instance FromJSVal KeyFormat where fromJSValUnchecked = return . pFromJSVal fromJSVal = return . pFromJSVal foreign import javascript unsafe "\"raw\"" js_KeyFormatRaw :: JSVal foreign import javascript unsafe "\"spki\"" js_KeyFormatSpki :: JSVal foreign import javascript unsafe "\"pkcs8\"" js_KeyFormatPkcs8 :: JSVal foreign import javascript unsafe "\"jwk\"" js_KeyFormatJwk :: JSVal data FontFaceLoadStatus = FontFaceLoadStatusUnloaded | FontFaceLoadStatusLoading | FontFaceLoadStatusLoaded | FontFaceLoadStatusError deriving (Show, Read, Eq, Ord, Typeable) instance PToJSVal FontFaceLoadStatus where pToJSVal FontFaceLoadStatusUnloaded = js_FontFaceLoadStatusUnloaded pToJSVal FontFaceLoadStatusLoading = js_FontFaceLoadStatusLoading pToJSVal FontFaceLoadStatusLoaded = js_FontFaceLoadStatusLoaded pToJSVal FontFaceLoadStatusError = js_FontFaceLoadStatusError instance ToJSVal FontFaceLoadStatus where toJSVal = return . pToJSVal instance PFromJSVal FontFaceLoadStatus where pFromJSVal x | x `js_eq` js_FontFaceLoadStatusUnloaded = FontFaceLoadStatusUnloaded pFromJSVal x | x `js_eq` js_FontFaceLoadStatusLoading = FontFaceLoadStatusLoading pFromJSVal x | x `js_eq` js_FontFaceLoadStatusLoaded = FontFaceLoadStatusLoaded pFromJSVal x | x `js_eq` js_FontFaceLoadStatusError = FontFaceLoadStatusError instance FromJSVal FontFaceLoadStatus where fromJSValUnchecked = return . pFromJSVal fromJSVal = return . pFromJSVal foreign import javascript unsafe "\"unloaded\"" js_FontFaceLoadStatusUnloaded :: JSVal foreign import javascript unsafe "\"loading\"" js_FontFaceLoadStatusLoading :: JSVal foreign import javascript unsafe "\"loaded\"" js_FontFaceLoadStatusLoaded :: JSVal foreign import javascript unsafe "\"error\"" js_FontFaceLoadStatusError :: JSVal data FontFaceSetLoadStatus = FontFaceSetLoadStatusLoading | FontFaceSetLoadStatusLoaded deriving (Show, Read, Eq, Ord, Typeable) instance PToJSVal FontFaceSetLoadStatus where pToJSVal FontFaceSetLoadStatusLoading = js_FontFaceSetLoadStatusLoading pToJSVal FontFaceSetLoadStatusLoaded = js_FontFaceSetLoadStatusLoaded instance ToJSVal FontFaceSetLoadStatus where toJSVal = return . pToJSVal instance PFromJSVal FontFaceSetLoadStatus where pFromJSVal x | x `js_eq` js_FontFaceSetLoadStatusLoading = FontFaceSetLoadStatusLoading pFromJSVal x | x `js_eq` js_FontFaceSetLoadStatusLoaded = FontFaceSetLoadStatusLoaded instance FromJSVal FontFaceSetLoadStatus where fromJSValUnchecked = return . pFromJSVal fromJSVal = return . pFromJSVal foreign import javascript unsafe "\"loading\"" js_FontFaceSetLoadStatusLoading :: JSVal foreign import javascript unsafe "\"loaded\"" js_FontFaceSetLoadStatusLoaded :: JSVal data VisibilityState = VisibilityStateHidden | VisibilityStateVisible | VisibilityStatePrerender deriving (Show, Read, Eq, Ord, Typeable) instance PToJSVal VisibilityState where pToJSVal VisibilityStateHidden = js_VisibilityStateHidden pToJSVal VisibilityStateVisible = js_VisibilityStateVisible pToJSVal VisibilityStatePrerender = js_VisibilityStatePrerender instance ToJSVal VisibilityState where toJSVal = return . pToJSVal instance PFromJSVal VisibilityState where pFromJSVal x | x `js_eq` js_VisibilityStateHidden = VisibilityStateHidden pFromJSVal x | x `js_eq` js_VisibilityStateVisible = VisibilityStateVisible pFromJSVal x | x `js_eq` js_VisibilityStatePrerender = VisibilityStatePrerender instance FromJSVal VisibilityState where fromJSValUnchecked = return . pFromJSVal fromJSVal = return . pFromJSVal foreign import javascript unsafe "\"hidden\"" js_VisibilityStateHidden :: JSVal foreign import javascript unsafe "\"visible\"" js_VisibilityStateVisible :: JSVal foreign import javascript unsafe "\"prerender\"" js_VisibilityStatePrerender :: JSVal data DocumentReadyState = DocumentReadyStateLoading | DocumentReadyStateInteractive | DocumentReadyStateComplete deriving (Show, Read, Eq, Ord, Typeable) instance PToJSVal DocumentReadyState where pToJSVal DocumentReadyStateLoading = js_DocumentReadyStateLoading pToJSVal DocumentReadyStateInteractive = js_DocumentReadyStateInteractive pToJSVal DocumentReadyStateComplete = js_DocumentReadyStateComplete instance ToJSVal DocumentReadyState where toJSVal = return . pToJSVal instance PFromJSVal DocumentReadyState where pFromJSVal x | x `js_eq` js_DocumentReadyStateLoading = DocumentReadyStateLoading pFromJSVal x | x `js_eq` js_DocumentReadyStateInteractive = DocumentReadyStateInteractive pFromJSVal x | x `js_eq` js_DocumentReadyStateComplete = DocumentReadyStateComplete instance FromJSVal DocumentReadyState where fromJSValUnchecked = return . pFromJSVal fromJSVal = return . pFromJSVal foreign import javascript unsafe "\"loading\"" js_DocumentReadyStateLoading :: JSVal foreign import javascript unsafe "\"interactive\"" js_DocumentReadyStateInteractive :: JSVal foreign import javascript unsafe "\"complete\"" js_DocumentReadyStateComplete :: JSVal data ShadowRootMode = ShadowRootModeUserAgent | ShadowRootModeClosed | ShadowRootModeOpen deriving (Show, Read, Eq, Ord, Typeable) instance PToJSVal ShadowRootMode where pToJSVal ShadowRootModeUserAgent = js_ShadowRootModeUserAgent pToJSVal ShadowRootModeClosed = js_ShadowRootModeClosed pToJSVal ShadowRootModeOpen = js_ShadowRootModeOpen instance ToJSVal ShadowRootMode where toJSVal = return . pToJSVal instance PFromJSVal ShadowRootMode where pFromJSVal x | x `js_eq` js_ShadowRootModeUserAgent = ShadowRootModeUserAgent pFromJSVal x | x `js_eq` js_ShadowRootModeClosed = ShadowRootModeClosed pFromJSVal x | x `js_eq` js_ShadowRootModeOpen = ShadowRootModeOpen instance FromJSVal ShadowRootMode where fromJSValUnchecked = return . pFromJSVal fromJSVal = return . pFromJSVal foreign import javascript unsafe "\"user-agent\"" js_ShadowRootModeUserAgent :: JSVal foreign import javascript unsafe "\"closed\"" js_ShadowRootModeClosed :: JSVal foreign import javascript unsafe "\"open\"" js_ShadowRootModeOpen :: JSVal data BlobLineEndings = BlobLineEndingsTransparent | BlobLineEndingsNative deriving (Show, Read, Eq, Ord, Typeable) instance PToJSVal BlobLineEndings where pToJSVal BlobLineEndingsTransparent = js_BlobLineEndingsTransparent pToJSVal BlobLineEndingsNative = js_BlobLineEndingsNative instance ToJSVal BlobLineEndings where toJSVal = return . pToJSVal instance PFromJSVal BlobLineEndings where pFromJSVal x | x `js_eq` js_BlobLineEndingsTransparent = BlobLineEndingsTransparent pFromJSVal x | x `js_eq` js_BlobLineEndingsNative = BlobLineEndingsNative instance FromJSVal BlobLineEndings where fromJSValUnchecked = return . pFromJSVal fromJSVal = return . pFromJSVal foreign import javascript unsafe "\"transparent\"" js_BlobLineEndingsTransparent :: JSVal foreign import javascript unsafe "\"native\"" js_BlobLineEndingsNative :: JSVal data ImageSmoothingQuality = ImageSmoothingQualityLow | ImageSmoothingQualityMedium | ImageSmoothingQualityHigh deriving (Show, Read, Eq, Ord, Typeable) instance PToJSVal ImageSmoothingQuality where pToJSVal ImageSmoothingQualityLow = js_ImageSmoothingQualityLow pToJSVal ImageSmoothingQualityMedium = js_ImageSmoothingQualityMedium pToJSVal ImageSmoothingQualityHigh = js_ImageSmoothingQualityHigh instance ToJSVal ImageSmoothingQuality where toJSVal = return . pToJSVal instance PFromJSVal ImageSmoothingQuality where pFromJSVal x | x `js_eq` js_ImageSmoothingQualityLow = ImageSmoothingQualityLow pFromJSVal x | x `js_eq` js_ImageSmoothingQualityMedium = ImageSmoothingQualityMedium pFromJSVal x | x `js_eq` js_ImageSmoothingQualityHigh = ImageSmoothingQualityHigh instance FromJSVal ImageSmoothingQuality where fromJSValUnchecked = return . pFromJSVal fromJSVal = return . pFromJSVal foreign import javascript unsafe "\"low\"" js_ImageSmoothingQualityLow :: JSVal foreign import javascript unsafe "\"medium\"" js_ImageSmoothingQualityMedium :: JSVal foreign import javascript unsafe "\"high\"" js_ImageSmoothingQualityHigh :: JSVal data CanvasWindingRule = CanvasWindingRuleNonzero | CanvasWindingRuleEvenodd deriving (Show, Read, Eq, Ord, Typeable) instance PToJSVal CanvasWindingRule where pToJSVal CanvasWindingRuleNonzero = js_CanvasWindingRuleNonzero pToJSVal CanvasWindingRuleEvenodd = js_CanvasWindingRuleEvenodd instance ToJSVal CanvasWindingRule where toJSVal = return . pToJSVal instance PFromJSVal CanvasWindingRule where pFromJSVal x | x `js_eq` js_CanvasWindingRuleNonzero = CanvasWindingRuleNonzero pFromJSVal x | x `js_eq` js_CanvasWindingRuleEvenodd = CanvasWindingRuleEvenodd instance FromJSVal CanvasWindingRule where fromJSValUnchecked = return . pFromJSVal fromJSVal = return . pFromJSVal foreign import javascript unsafe "\"nonzero\"" js_CanvasWindingRuleNonzero :: JSVal foreign import javascript unsafe "\"evenodd\"" js_CanvasWindingRuleEvenodd :: JSVal data WebGLPowerPreference = WebGLPowerPreferenceDefault | WebGLPowerPreferenceLowPower | WebGLPowerPreferenceHighPerformance deriving (Show, Read, Eq, Ord, Typeable) instance PToJSVal WebGLPowerPreference where pToJSVal WebGLPowerPreferenceDefault = js_WebGLPowerPreferenceDefault pToJSVal WebGLPowerPreferenceLowPower = js_WebGLPowerPreferenceLowPower pToJSVal WebGLPowerPreferenceHighPerformance = js_WebGLPowerPreferenceHighPerformance instance ToJSVal WebGLPowerPreference where toJSVal = return . pToJSVal instance PFromJSVal WebGLPowerPreference where pFromJSVal x | x `js_eq` js_WebGLPowerPreferenceDefault = WebGLPowerPreferenceDefault pFromJSVal x | x `js_eq` js_WebGLPowerPreferenceLowPower = WebGLPowerPreferenceLowPower pFromJSVal x | x `js_eq` js_WebGLPowerPreferenceHighPerformance = WebGLPowerPreferenceHighPerformance instance FromJSVal WebGLPowerPreference where fromJSValUnchecked = return . pFromJSVal fromJSVal = return . pFromJSVal foreign import javascript unsafe "\"default\"" js_WebGLPowerPreferenceDefault :: JSVal foreign import javascript unsafe "\"low-power\"" js_WebGLPowerPreferenceLowPower :: JSVal foreign import javascript unsafe "\"high-performance\"" js_WebGLPowerPreferenceHighPerformance :: JSVal data WebGPUCompareFunction = WebGPUCompareFunctionNever | WebGPUCompareFunctionLess | WebGPUCompareFunctionEqual | WebGPUCompareFunctionLessequal | WebGPUCompareFunctionGreater | WebGPUCompareFunctionNotequal | WebGPUCompareFunctionGreaterequal | WebGPUCompareFunctionAlways deriving (Show, Read, Eq, Ord, Typeable) instance PToJSVal WebGPUCompareFunction where pToJSVal WebGPUCompareFunctionNever = js_WebGPUCompareFunctionNever pToJSVal WebGPUCompareFunctionLess = js_WebGPUCompareFunctionLess pToJSVal WebGPUCompareFunctionEqual = js_WebGPUCompareFunctionEqual pToJSVal WebGPUCompareFunctionLessequal = js_WebGPUCompareFunctionLessequal pToJSVal WebGPUCompareFunctionGreater = js_WebGPUCompareFunctionGreater pToJSVal WebGPUCompareFunctionNotequal = js_WebGPUCompareFunctionNotequal pToJSVal WebGPUCompareFunctionGreaterequal = js_WebGPUCompareFunctionGreaterequal pToJSVal WebGPUCompareFunctionAlways = js_WebGPUCompareFunctionAlways instance ToJSVal WebGPUCompareFunction where toJSVal = return . pToJSVal instance PFromJSVal WebGPUCompareFunction where pFromJSVal x | x `js_eq` js_WebGPUCompareFunctionNever = WebGPUCompareFunctionNever pFromJSVal x | x `js_eq` js_WebGPUCompareFunctionLess = WebGPUCompareFunctionLess pFromJSVal x | x `js_eq` js_WebGPUCompareFunctionEqual = WebGPUCompareFunctionEqual pFromJSVal x | x `js_eq` js_WebGPUCompareFunctionLessequal = WebGPUCompareFunctionLessequal pFromJSVal x | x `js_eq` js_WebGPUCompareFunctionGreater = WebGPUCompareFunctionGreater pFromJSVal x | x `js_eq` js_WebGPUCompareFunctionNotequal = WebGPUCompareFunctionNotequal pFromJSVal x | x `js_eq` js_WebGPUCompareFunctionGreaterequal = WebGPUCompareFunctionGreaterequal pFromJSVal x | x `js_eq` js_WebGPUCompareFunctionAlways = WebGPUCompareFunctionAlways instance FromJSVal WebGPUCompareFunction where fromJSValUnchecked = return . pFromJSVal fromJSVal = return . pFromJSVal foreign import javascript unsafe "\"never\"" js_WebGPUCompareFunctionNever :: JSVal foreign import javascript unsafe "\"less\"" js_WebGPUCompareFunctionLess :: JSVal foreign import javascript unsafe "\"equal\"" js_WebGPUCompareFunctionEqual :: JSVal foreign import javascript unsafe "\"lessequal\"" js_WebGPUCompareFunctionLessequal :: JSVal foreign import javascript unsafe "\"greater\"" js_WebGPUCompareFunctionGreater :: JSVal foreign import javascript unsafe "\"notequal\"" js_WebGPUCompareFunctionNotequal :: JSVal foreign import javascript unsafe "\"greaterequal\"" js_WebGPUCompareFunctionGreaterequal :: JSVal foreign import javascript unsafe "\"always\"" js_WebGPUCompareFunctionAlways :: JSVal data WebGPUPixelFormat = WebGPUPixelFormatBGRA8Unorm deriving (Show, Read, Eq, Ord, Typeable) instance PToJSVal WebGPUPixelFormat where pToJSVal WebGPUPixelFormatBGRA8Unorm = js_WebGPUPixelFormatBGRA8Unorm instance ToJSVal WebGPUPixelFormat where toJSVal = return . pToJSVal instance PFromJSVal WebGPUPixelFormat where pFromJSVal x | x `js_eq` js_WebGPUPixelFormatBGRA8Unorm = WebGPUPixelFormatBGRA8Unorm instance FromJSVal WebGPUPixelFormat where fromJSValUnchecked = return . pFromJSVal fromJSVal = return . pFromJSVal foreign import javascript unsafe "\"BGRA8Unorm\"" js_WebGPUPixelFormatBGRA8Unorm :: JSVal data WebGPULoadAction = WebGPULoadActionDontcare | WebGPULoadActionLoad | WebGPULoadActionClear deriving (Show, Read, Eq, Ord, Typeable) instance PToJSVal WebGPULoadAction where pToJSVal WebGPULoadActionDontcare = js_WebGPULoadActionDontcare pToJSVal WebGPULoadActionLoad = js_WebGPULoadActionLoad pToJSVal WebGPULoadActionClear = js_WebGPULoadActionClear instance ToJSVal WebGPULoadAction where toJSVal = return . pToJSVal instance PFromJSVal WebGPULoadAction where pFromJSVal x | x `js_eq` js_WebGPULoadActionDontcare = WebGPULoadActionDontcare pFromJSVal x | x `js_eq` js_WebGPULoadActionLoad = WebGPULoadActionLoad pFromJSVal x | x `js_eq` js_WebGPULoadActionClear = WebGPULoadActionClear instance FromJSVal WebGPULoadAction where fromJSValUnchecked = return . pFromJSVal fromJSVal = return . pFromJSVal foreign import javascript unsafe "\"dontcare\"" js_WebGPULoadActionDontcare :: JSVal foreign import javascript unsafe "\"load\"" js_WebGPULoadActionLoad :: JSVal foreign import javascript unsafe "\"clear\"" js_WebGPULoadActionClear :: JSVal data WebGPUStoreAction = WebGPUStoreActionDontcare | WebGPUStoreActionStore | WebGPUStoreActionMultisampleresolve deriving (Show, Read, Eq, Ord, Typeable) instance PToJSVal WebGPUStoreAction where pToJSVal WebGPUStoreActionDontcare = js_WebGPUStoreActionDontcare pToJSVal WebGPUStoreActionStore = js_WebGPUStoreActionStore pToJSVal WebGPUStoreActionMultisampleresolve = js_WebGPUStoreActionMultisampleresolve instance ToJSVal WebGPUStoreAction where toJSVal = return . pToJSVal instance PFromJSVal WebGPUStoreAction where pFromJSVal x | x `js_eq` js_WebGPUStoreActionDontcare = WebGPUStoreActionDontcare pFromJSVal x | x `js_eq` js_WebGPUStoreActionStore = WebGPUStoreActionStore pFromJSVal x | x `js_eq` js_WebGPUStoreActionMultisampleresolve = WebGPUStoreActionMultisampleresolve instance FromJSVal WebGPUStoreAction where fromJSValUnchecked = return . pFromJSVal fromJSVal = return . pFromJSVal foreign import javascript unsafe "\"dontcare\"" js_WebGPUStoreActionDontcare :: JSVal foreign import javascript unsafe "\"store\"" js_WebGPUStoreActionStore :: JSVal foreign import javascript unsafe "\"multisampleresolve\"" js_WebGPUStoreActionMultisampleresolve :: JSVal data WebGPUPrimitiveType = WebGPUPrimitiveTypePoint | WebGPUPrimitiveTypeLine | WebGPUPrimitiveTypeLinestrip | WebGPUPrimitiveTypeTriangle | WebGPUPrimitiveTypeTrianglestrip deriving (Show, Read, Eq, Ord, Typeable) instance PToJSVal WebGPUPrimitiveType where pToJSVal WebGPUPrimitiveTypePoint = js_WebGPUPrimitiveTypePoint pToJSVal WebGPUPrimitiveTypeLine = js_WebGPUPrimitiveTypeLine pToJSVal WebGPUPrimitiveTypeLinestrip = js_WebGPUPrimitiveTypeLinestrip pToJSVal WebGPUPrimitiveTypeTriangle = js_WebGPUPrimitiveTypeTriangle pToJSVal WebGPUPrimitiveTypeTrianglestrip = js_WebGPUPrimitiveTypeTrianglestrip instance ToJSVal WebGPUPrimitiveType where toJSVal = return . pToJSVal instance PFromJSVal WebGPUPrimitiveType where pFromJSVal x | x `js_eq` js_WebGPUPrimitiveTypePoint = WebGPUPrimitiveTypePoint pFromJSVal x | x `js_eq` js_WebGPUPrimitiveTypeLine = WebGPUPrimitiveTypeLine pFromJSVal x | x `js_eq` js_WebGPUPrimitiveTypeLinestrip = WebGPUPrimitiveTypeLinestrip pFromJSVal x | x `js_eq` js_WebGPUPrimitiveTypeTriangle = WebGPUPrimitiveTypeTriangle pFromJSVal x | x `js_eq` js_WebGPUPrimitiveTypeTrianglestrip = WebGPUPrimitiveTypeTrianglestrip instance FromJSVal WebGPUPrimitiveType where fromJSValUnchecked = return . pFromJSVal fromJSVal = return . pFromJSVal foreign import javascript unsafe "\"point\"" js_WebGPUPrimitiveTypePoint :: JSVal foreign import javascript unsafe "\"line\"" js_WebGPUPrimitiveTypeLine :: JSVal foreign import javascript unsafe "\"linestrip\"" js_WebGPUPrimitiveTypeLinestrip :: JSVal foreign import javascript unsafe "\"triangle\"" js_WebGPUPrimitiveTypeTriangle :: JSVal foreign import javascript unsafe "\"trianglestrip\"" js_WebGPUPrimitiveTypeTrianglestrip :: JSVal data WebGPUFunctionType = WebGPUFunctionTypeFragment | WebGPUFunctionTypeVertex deriving (Show, Read, Eq, Ord, Typeable) instance PToJSVal WebGPUFunctionType where pToJSVal WebGPUFunctionTypeFragment = js_WebGPUFunctionTypeFragment pToJSVal WebGPUFunctionTypeVertex = js_WebGPUFunctionTypeVertex instance ToJSVal WebGPUFunctionType where toJSVal = return . pToJSVal instance PFromJSVal WebGPUFunctionType where pFromJSVal x | x `js_eq` js_WebGPUFunctionTypeFragment = WebGPUFunctionTypeFragment pFromJSVal x | x `js_eq` js_WebGPUFunctionTypeVertex = WebGPUFunctionTypeVertex instance FromJSVal WebGPUFunctionType where fromJSValUnchecked = return . pFromJSVal fromJSVal = return . pFromJSVal foreign import javascript unsafe "\"fragment\"" js_WebGPUFunctionTypeFragment :: JSVal foreign import javascript unsafe "\"vertex\"" js_WebGPUFunctionTypeVertex :: JSVal data WebGPUStencilOperation = WebGPUStencilOperationKeep | WebGPUStencilOperationZero | WebGPUStencilOperationReplace | WebGPUStencilOperationIncrementclamp | WebGPUStencilOperationDecrementclamp | WebGPUStencilOperationInvert | WebGPUStencilOperationIncrementwrap | WebGPUStencilOperationDecrementwrap deriving (Show, Read, Eq, Ord, Typeable) instance PToJSVal WebGPUStencilOperation where pToJSVal WebGPUStencilOperationKeep = js_WebGPUStencilOperationKeep pToJSVal WebGPUStencilOperationZero = js_WebGPUStencilOperationZero pToJSVal WebGPUStencilOperationReplace = js_WebGPUStencilOperationReplace pToJSVal WebGPUStencilOperationIncrementclamp = js_WebGPUStencilOperationIncrementclamp pToJSVal WebGPUStencilOperationDecrementclamp = js_WebGPUStencilOperationDecrementclamp pToJSVal WebGPUStencilOperationInvert = js_WebGPUStencilOperationInvert pToJSVal WebGPUStencilOperationIncrementwrap = js_WebGPUStencilOperationIncrementwrap pToJSVal WebGPUStencilOperationDecrementwrap = js_WebGPUStencilOperationDecrementwrap instance ToJSVal WebGPUStencilOperation where toJSVal = return . pToJSVal instance PFromJSVal WebGPUStencilOperation where pFromJSVal x | x `js_eq` js_WebGPUStencilOperationKeep = WebGPUStencilOperationKeep pFromJSVal x | x `js_eq` js_WebGPUStencilOperationZero = WebGPUStencilOperationZero pFromJSVal x | x `js_eq` js_WebGPUStencilOperationReplace = WebGPUStencilOperationReplace pFromJSVal x | x `js_eq` js_WebGPUStencilOperationIncrementclamp = WebGPUStencilOperationIncrementclamp pFromJSVal x | x `js_eq` js_WebGPUStencilOperationDecrementclamp = WebGPUStencilOperationDecrementclamp pFromJSVal x | x `js_eq` js_WebGPUStencilOperationInvert = WebGPUStencilOperationInvert pFromJSVal x | x `js_eq` js_WebGPUStencilOperationIncrementwrap = WebGPUStencilOperationIncrementwrap pFromJSVal x | x `js_eq` js_WebGPUStencilOperationDecrementwrap = WebGPUStencilOperationDecrementwrap instance FromJSVal WebGPUStencilOperation where fromJSValUnchecked = return . pFromJSVal fromJSVal = return . pFromJSVal foreign import javascript unsafe "\"keep\"" js_WebGPUStencilOperationKeep :: JSVal foreign import javascript unsafe "\"zero\"" js_WebGPUStencilOperationZero :: JSVal foreign import javascript unsafe "\"replace\"" js_WebGPUStencilOperationReplace :: JSVal foreign import javascript unsafe "\"incrementclamp\"" js_WebGPUStencilOperationIncrementclamp :: JSVal foreign import javascript unsafe "\"decrementclamp\"" js_WebGPUStencilOperationDecrementclamp :: JSVal foreign import javascript unsafe "\"invert\"" js_WebGPUStencilOperationInvert :: JSVal foreign import javascript unsafe "\"incrementwrap\"" js_WebGPUStencilOperationIncrementwrap :: JSVal foreign import javascript unsafe "\"decrementwrap\"" js_WebGPUStencilOperationDecrementwrap :: JSVal data WebGPUStatus = WebGPUStatusNotenqueued | WebGPUStatusEnqueued | WebGPUStatusCommitted | WebGPUStatusScheduled | WebGPUStatusCompleted | WebGPUStatusError deriving (Show, Read, Eq, Ord, Typeable) instance PToJSVal WebGPUStatus where pToJSVal WebGPUStatusNotenqueued = js_WebGPUStatusNotenqueued pToJSVal WebGPUStatusEnqueued = js_WebGPUStatusEnqueued pToJSVal WebGPUStatusCommitted = js_WebGPUStatusCommitted pToJSVal WebGPUStatusScheduled = js_WebGPUStatusScheduled pToJSVal WebGPUStatusCompleted = js_WebGPUStatusCompleted pToJSVal WebGPUStatusError = js_WebGPUStatusError instance ToJSVal WebGPUStatus where toJSVal = return . pToJSVal instance PFromJSVal WebGPUStatus where pFromJSVal x | x `js_eq` js_WebGPUStatusNotenqueued = WebGPUStatusNotenqueued pFromJSVal x | x `js_eq` js_WebGPUStatusEnqueued = WebGPUStatusEnqueued pFromJSVal x | x `js_eq` js_WebGPUStatusCommitted = WebGPUStatusCommitted pFromJSVal x | x `js_eq` js_WebGPUStatusScheduled = WebGPUStatusScheduled pFromJSVal x | x `js_eq` js_WebGPUStatusCompleted = WebGPUStatusCompleted pFromJSVal x | x `js_eq` js_WebGPUStatusError = WebGPUStatusError instance FromJSVal WebGPUStatus where fromJSValUnchecked = return . pFromJSVal fromJSVal = return . pFromJSVal foreign import javascript unsafe "\"notenqueued\"" js_WebGPUStatusNotenqueued :: JSVal foreign import javascript unsafe "\"enqueued\"" js_WebGPUStatusEnqueued :: JSVal foreign import javascript unsafe "\"committed\"" js_WebGPUStatusCommitted :: JSVal foreign import javascript unsafe "\"scheduled\"" js_WebGPUStatusScheduled :: JSVal foreign import javascript unsafe "\"completed\"" js_WebGPUStatusCompleted :: JSVal foreign import javascript unsafe "\"error\"" js_WebGPUStatusError :: JSVal data WebGPUSamplerAddressMode = WebGPUSamplerAddressModeClamptoedge | WebGPUSamplerAddressModeMirrorclamptoedge | WebGPUSamplerAddressModeRepeat | WebGPUSamplerAddressModeMirrorrepeat | WebGPUSamplerAddressModeClamptozero deriving (Show, Read, Eq, Ord, Typeable) instance PToJSVal WebGPUSamplerAddressMode where pToJSVal WebGPUSamplerAddressModeClamptoedge = js_WebGPUSamplerAddressModeClamptoedge pToJSVal WebGPUSamplerAddressModeMirrorclamptoedge = js_WebGPUSamplerAddressModeMirrorclamptoedge pToJSVal WebGPUSamplerAddressModeRepeat = js_WebGPUSamplerAddressModeRepeat pToJSVal WebGPUSamplerAddressModeMirrorrepeat = js_WebGPUSamplerAddressModeMirrorrepeat pToJSVal WebGPUSamplerAddressModeClamptozero = js_WebGPUSamplerAddressModeClamptozero instance ToJSVal WebGPUSamplerAddressMode where toJSVal = return . pToJSVal instance PFromJSVal WebGPUSamplerAddressMode where pFromJSVal x | x `js_eq` js_WebGPUSamplerAddressModeClamptoedge = WebGPUSamplerAddressModeClamptoedge pFromJSVal x | x `js_eq` js_WebGPUSamplerAddressModeMirrorclamptoedge = WebGPUSamplerAddressModeMirrorclamptoedge pFromJSVal x | x `js_eq` js_WebGPUSamplerAddressModeRepeat = WebGPUSamplerAddressModeRepeat pFromJSVal x | x `js_eq` js_WebGPUSamplerAddressModeMirrorrepeat = WebGPUSamplerAddressModeMirrorrepeat pFromJSVal x | x `js_eq` js_WebGPUSamplerAddressModeClamptozero = WebGPUSamplerAddressModeClamptozero instance FromJSVal WebGPUSamplerAddressMode where fromJSValUnchecked = return . pFromJSVal fromJSVal = return . pFromJSVal foreign import javascript unsafe "\"clamptoedge\"" js_WebGPUSamplerAddressModeClamptoedge :: JSVal foreign import javascript unsafe "\"mirrorclamptoedge\"" js_WebGPUSamplerAddressModeMirrorclamptoedge :: JSVal foreign import javascript unsafe "\"repeat\"" js_WebGPUSamplerAddressModeRepeat :: JSVal foreign import javascript unsafe "\"mirrorrepeat\"" js_WebGPUSamplerAddressModeMirrorrepeat :: JSVal foreign import javascript unsafe "\"clamptozero\"" js_WebGPUSamplerAddressModeClamptozero :: JSVal data WebGPUSamplerMinMagFilter = WebGPUSamplerMinMagFilterNearest | WebGPUSamplerMinMagFilterLinear deriving (Show, Read, Eq, Ord, Typeable) instance PToJSVal WebGPUSamplerMinMagFilter where pToJSVal WebGPUSamplerMinMagFilterNearest = js_WebGPUSamplerMinMagFilterNearest pToJSVal WebGPUSamplerMinMagFilterLinear = js_WebGPUSamplerMinMagFilterLinear instance ToJSVal WebGPUSamplerMinMagFilter where toJSVal = return . pToJSVal instance PFromJSVal WebGPUSamplerMinMagFilter where pFromJSVal x | x `js_eq` js_WebGPUSamplerMinMagFilterNearest = WebGPUSamplerMinMagFilterNearest pFromJSVal x | x `js_eq` js_WebGPUSamplerMinMagFilterLinear = WebGPUSamplerMinMagFilterLinear instance FromJSVal WebGPUSamplerMinMagFilter where fromJSValUnchecked = return . pFromJSVal fromJSVal = return . pFromJSVal foreign import javascript unsafe "\"nearest\"" js_WebGPUSamplerMinMagFilterNearest :: JSVal foreign import javascript unsafe "\"linear\"" js_WebGPUSamplerMinMagFilterLinear :: JSVal data WebGPUSamplerMipFilter = WebGPUSamplerMipFilterNotmipmapped | WebGPUSamplerMipFilterNearest | WebGPUSamplerMipFilterLinear deriving (Show, Read, Eq, Ord, Typeable) instance PToJSVal WebGPUSamplerMipFilter where pToJSVal WebGPUSamplerMipFilterNotmipmapped = js_WebGPUSamplerMipFilterNotmipmapped pToJSVal WebGPUSamplerMipFilterNearest = js_WebGPUSamplerMipFilterNearest pToJSVal WebGPUSamplerMipFilterLinear = js_WebGPUSamplerMipFilterLinear instance ToJSVal WebGPUSamplerMipFilter where toJSVal = return . pToJSVal instance PFromJSVal WebGPUSamplerMipFilter where pFromJSVal x | x `js_eq` js_WebGPUSamplerMipFilterNotmipmapped = WebGPUSamplerMipFilterNotmipmapped pFromJSVal x | x `js_eq` js_WebGPUSamplerMipFilterNearest = WebGPUSamplerMipFilterNearest pFromJSVal x | x `js_eq` js_WebGPUSamplerMipFilterLinear = WebGPUSamplerMipFilterLinear instance FromJSVal WebGPUSamplerMipFilter where fromJSValUnchecked = return . pFromJSVal fromJSVal = return . pFromJSVal foreign import javascript unsafe "\"notmipmapped\"" js_WebGPUSamplerMipFilterNotmipmapped :: JSVal foreign import javascript unsafe "\"nearest\"" js_WebGPUSamplerMipFilterNearest :: JSVal foreign import javascript unsafe "\"linear\"" js_WebGPUSamplerMipFilterLinear :: JSVal data WebGPUCullMode = WebGPUCullModeNone | WebGPUCullModeFront | WebGPUCullModeBack deriving (Show, Read, Eq, Ord, Typeable) instance PToJSVal WebGPUCullMode where pToJSVal WebGPUCullModeNone = js_WebGPUCullModeNone pToJSVal WebGPUCullModeFront = js_WebGPUCullModeFront pToJSVal WebGPUCullModeBack = js_WebGPUCullModeBack instance ToJSVal WebGPUCullMode where toJSVal = return . pToJSVal instance PFromJSVal WebGPUCullMode where pFromJSVal x | x `js_eq` js_WebGPUCullModeNone = WebGPUCullModeNone pFromJSVal x | x `js_eq` js_WebGPUCullModeFront = WebGPUCullModeFront pFromJSVal x | x `js_eq` js_WebGPUCullModeBack = WebGPUCullModeBack instance FromJSVal WebGPUCullMode where fromJSValUnchecked = return . pFromJSVal fromJSVal = return . pFromJSVal foreign import javascript unsafe "\"none\"" js_WebGPUCullModeNone :: JSVal foreign import javascript unsafe "\"front\"" js_WebGPUCullModeFront :: JSVal foreign import javascript unsafe "\"back\"" js_WebGPUCullModeBack :: JSVal data WebGPUIndexType = WebGPUIndexTypeUint16 | WebGPUIndexTypeUint32 deriving (Show, Read, Eq, Ord, Typeable) instance PToJSVal WebGPUIndexType where pToJSVal WebGPUIndexTypeUint16 = js_WebGPUIndexTypeUint16 pToJSVal WebGPUIndexTypeUint32 = js_WebGPUIndexTypeUint32 instance ToJSVal WebGPUIndexType where toJSVal = return . pToJSVal instance PFromJSVal WebGPUIndexType where pFromJSVal x | x `js_eq` js_WebGPUIndexTypeUint16 = WebGPUIndexTypeUint16 pFromJSVal x | x `js_eq` js_WebGPUIndexTypeUint32 = WebGPUIndexTypeUint32 instance FromJSVal WebGPUIndexType where fromJSValUnchecked = return . pFromJSVal fromJSVal = return . pFromJSVal foreign import javascript unsafe "\"uint16\"" js_WebGPUIndexTypeUint16 :: JSVal foreign import javascript unsafe "\"uint32\"" js_WebGPUIndexTypeUint32 :: JSVal data WebGPUVisibilityResultMode = WebGPUVisibilityResultModeDisabled | WebGPUVisibilityResultModeBoolean | WebGPUVisibilityResultModeCounting deriving (Show, Read, Eq, Ord, Typeable) instance PToJSVal WebGPUVisibilityResultMode where pToJSVal WebGPUVisibilityResultModeDisabled = js_WebGPUVisibilityResultModeDisabled pToJSVal WebGPUVisibilityResultModeBoolean = js_WebGPUVisibilityResultModeBoolean pToJSVal WebGPUVisibilityResultModeCounting = js_WebGPUVisibilityResultModeCounting instance ToJSVal WebGPUVisibilityResultMode where toJSVal = return . pToJSVal instance PFromJSVal WebGPUVisibilityResultMode where pFromJSVal x | x `js_eq` js_WebGPUVisibilityResultModeDisabled = WebGPUVisibilityResultModeDisabled pFromJSVal x | x `js_eq` js_WebGPUVisibilityResultModeBoolean = WebGPUVisibilityResultModeBoolean pFromJSVal x | x `js_eq` js_WebGPUVisibilityResultModeCounting = WebGPUVisibilityResultModeCounting instance FromJSVal WebGPUVisibilityResultMode where fromJSValUnchecked = return . pFromJSVal fromJSVal = return . pFromJSVal foreign import javascript unsafe "\"disabled\"" js_WebGPUVisibilityResultModeDisabled :: JSVal foreign import javascript unsafe "\"boolean\"" js_WebGPUVisibilityResultModeBoolean :: JSVal foreign import javascript unsafe "\"counting\"" js_WebGPUVisibilityResultModeCounting :: JSVal data WebGPUWinding = WebGPUWindingClockwise | WebGPUWindingCounterclockwise deriving (Show, Read, Eq, Ord, Typeable) instance PToJSVal WebGPUWinding where pToJSVal WebGPUWindingClockwise = js_WebGPUWindingClockwise pToJSVal WebGPUWindingCounterclockwise = js_WebGPUWindingCounterclockwise instance ToJSVal WebGPUWinding where toJSVal = return . pToJSVal instance PFromJSVal WebGPUWinding where pFromJSVal x | x `js_eq` js_WebGPUWindingClockwise = WebGPUWindingClockwise pFromJSVal x | x `js_eq` js_WebGPUWindingCounterclockwise = WebGPUWindingCounterclockwise instance FromJSVal WebGPUWinding where fromJSValUnchecked = return . pFromJSVal fromJSVal = return . pFromJSVal foreign import javascript unsafe "\"clockwise\"" js_WebGPUWindingClockwise :: JSVal foreign import javascript unsafe "\"counterclockwise\"" js_WebGPUWindingCounterclockwise :: JSVal data WebGPUDepthClipMode = WebGPUDepthClipModeClip | WebGPUDepthClipModeClamp deriving (Show, Read, Eq, Ord, Typeable) instance PToJSVal WebGPUDepthClipMode where pToJSVal WebGPUDepthClipModeClip = js_WebGPUDepthClipModeClip pToJSVal WebGPUDepthClipModeClamp = js_WebGPUDepthClipModeClamp instance ToJSVal WebGPUDepthClipMode where toJSVal = return . pToJSVal instance PFromJSVal WebGPUDepthClipMode where pFromJSVal x | x `js_eq` js_WebGPUDepthClipModeClip = WebGPUDepthClipModeClip pFromJSVal x | x `js_eq` js_WebGPUDepthClipModeClamp = WebGPUDepthClipModeClamp instance FromJSVal WebGPUDepthClipMode where fromJSValUnchecked = return . pFromJSVal fromJSVal = return . pFromJSVal foreign import javascript unsafe "\"clip\"" js_WebGPUDepthClipModeClip :: JSVal foreign import javascript unsafe "\"clamp\"" js_WebGPUDepthClipModeClamp :: JSVal data WebGPUTriangleFillMode = WebGPUTriangleFillModeFill | WebGPUTriangleFillModeLines deriving (Show, Read, Eq, Ord, Typeable) instance PToJSVal WebGPUTriangleFillMode where pToJSVal WebGPUTriangleFillModeFill = js_WebGPUTriangleFillModeFill pToJSVal WebGPUTriangleFillModeLines = js_WebGPUTriangleFillModeLines instance ToJSVal WebGPUTriangleFillMode where toJSVal = return . pToJSVal instance PFromJSVal WebGPUTriangleFillMode where pFromJSVal x | x `js_eq` js_WebGPUTriangleFillModeFill = WebGPUTriangleFillModeFill pFromJSVal x | x `js_eq` js_WebGPUTriangleFillModeLines = WebGPUTriangleFillModeLines instance FromJSVal WebGPUTriangleFillMode where fromJSValUnchecked = return . pFromJSVal fromJSVal = return . pFromJSVal foreign import javascript unsafe "\"fill\"" js_WebGPUTriangleFillModeFill :: JSVal foreign import javascript unsafe "\"lines\"" js_WebGPUTriangleFillModeLines :: JSVal data WebGPUCPUCacheMode = WebGPUCPUCacheModeDefaultcache | WebGPUCPUCacheModeWritecombined deriving (Show, Read, Eq, Ord, Typeable) instance PToJSVal WebGPUCPUCacheMode where pToJSVal WebGPUCPUCacheModeDefaultcache = js_WebGPUCPUCacheModeDefaultcache pToJSVal WebGPUCPUCacheModeWritecombined = js_WebGPUCPUCacheModeWritecombined instance ToJSVal WebGPUCPUCacheMode where toJSVal = return . pToJSVal instance PFromJSVal WebGPUCPUCacheMode where pFromJSVal x | x `js_eq` js_WebGPUCPUCacheModeDefaultcache = WebGPUCPUCacheModeDefaultcache pFromJSVal x | x `js_eq` js_WebGPUCPUCacheModeWritecombined = WebGPUCPUCacheModeWritecombined instance FromJSVal WebGPUCPUCacheMode where fromJSValUnchecked = return . pFromJSVal fromJSVal = return . pFromJSVal foreign import javascript unsafe "\"defaultcache\"" js_WebGPUCPUCacheModeDefaultcache :: JSVal foreign import javascript unsafe "\"writecombined\"" js_WebGPUCPUCacheModeWritecombined :: JSVal data WebGPUStorageMode = WebGPUStorageModeShared | WebGPUStorageModeManaged | WebGPUStorageModePrivate deriving (Show, Read, Eq, Ord, Typeable) instance PToJSVal WebGPUStorageMode where pToJSVal WebGPUStorageModeShared = js_WebGPUStorageModeShared pToJSVal WebGPUStorageModeManaged = js_WebGPUStorageModeManaged pToJSVal WebGPUStorageModePrivate = js_WebGPUStorageModePrivate instance ToJSVal WebGPUStorageMode where toJSVal = return . pToJSVal instance PFromJSVal WebGPUStorageMode where pFromJSVal x | x `js_eq` js_WebGPUStorageModeShared = WebGPUStorageModeShared pFromJSVal x | x `js_eq` js_WebGPUStorageModeManaged = WebGPUStorageModeManaged pFromJSVal x | x `js_eq` js_WebGPUStorageModePrivate = WebGPUStorageModePrivate instance FromJSVal WebGPUStorageMode where fromJSValUnchecked = return . pFromJSVal fromJSVal = return . pFromJSVal foreign import javascript unsafe "\"shared\"" js_WebGPUStorageModeShared :: JSVal foreign import javascript unsafe "\"managed\"" js_WebGPUStorageModeManaged :: JSVal foreign import javascript unsafe "\"private\"" js_WebGPUStorageModePrivate :: JSVal data WebGPUResourceOptions = WebGPUResourceOptionsCpucachemodedefaultcache | WebGPUResourceOptionsCpucachemodewritecombined | WebGPUResourceOptionsStoragemodeshared | WebGPUResourceOptionsStoragemodemanaged | WebGPUResourceOptionsStoragemodeprivate | WebGPUResourceOptionsOptioncpucachemodedefaultcache | WebGPUResourceOptionsOptioncpucachemodewritecombined deriving (Show, Read, Eq, Ord, Typeable) instance PToJSVal WebGPUResourceOptions where pToJSVal WebGPUResourceOptionsCpucachemodedefaultcache = js_WebGPUResourceOptionsCpucachemodedefaultcache pToJSVal WebGPUResourceOptionsCpucachemodewritecombined = js_WebGPUResourceOptionsCpucachemodewritecombined pToJSVal WebGPUResourceOptionsStoragemodeshared = js_WebGPUResourceOptionsStoragemodeshared pToJSVal WebGPUResourceOptionsStoragemodemanaged = js_WebGPUResourceOptionsStoragemodemanaged pToJSVal WebGPUResourceOptionsStoragemodeprivate = js_WebGPUResourceOptionsStoragemodeprivate pToJSVal WebGPUResourceOptionsOptioncpucachemodedefaultcache = js_WebGPUResourceOptionsOptioncpucachemodedefaultcache pToJSVal WebGPUResourceOptionsOptioncpucachemodewritecombined = js_WebGPUResourceOptionsOptioncpucachemodewritecombined instance ToJSVal WebGPUResourceOptions where toJSVal = return . pToJSVal instance PFromJSVal WebGPUResourceOptions where pFromJSVal x | x `js_eq` js_WebGPUResourceOptionsCpucachemodedefaultcache = WebGPUResourceOptionsCpucachemodedefaultcache pFromJSVal x | x `js_eq` js_WebGPUResourceOptionsCpucachemodewritecombined = WebGPUResourceOptionsCpucachemodewritecombined pFromJSVal x | x `js_eq` js_WebGPUResourceOptionsStoragemodeshared = WebGPUResourceOptionsStoragemodeshared pFromJSVal x | x `js_eq` js_WebGPUResourceOptionsStoragemodemanaged = WebGPUResourceOptionsStoragemodemanaged pFromJSVal x | x `js_eq` js_WebGPUResourceOptionsStoragemodeprivate = WebGPUResourceOptionsStoragemodeprivate pFromJSVal x | x `js_eq` js_WebGPUResourceOptionsOptioncpucachemodedefaultcache = WebGPUResourceOptionsOptioncpucachemodedefaultcache pFromJSVal x | x `js_eq` js_WebGPUResourceOptionsOptioncpucachemodewritecombined = WebGPUResourceOptionsOptioncpucachemodewritecombined instance FromJSVal WebGPUResourceOptions where fromJSValUnchecked = return . pFromJSVal fromJSVal = return . pFromJSVal foreign import javascript unsafe "\"cpucachemodedefaultcache\"" js_WebGPUResourceOptionsCpucachemodedefaultcache :: JSVal foreign import javascript unsafe "\"cpucachemodewritecombined\"" js_WebGPUResourceOptionsCpucachemodewritecombined :: JSVal foreign import javascript unsafe "\"storagemodeshared\"" js_WebGPUResourceOptionsStoragemodeshared :: JSVal foreign import javascript unsafe "\"storagemodemanaged\"" js_WebGPUResourceOptionsStoragemodemanaged :: JSVal foreign import javascript unsafe "\"storagemodeprivate\"" js_WebGPUResourceOptionsStoragemodeprivate :: JSVal foreign import javascript unsafe "\"optioncpucachemodedefaultcache\"" js_WebGPUResourceOptionsOptioncpucachemodedefaultcache :: JSVal foreign import javascript unsafe "\"optioncpucachemodewritecombined\"" js_WebGPUResourceOptionsOptioncpucachemodewritecombined :: JSVal data WebGPUTextureUsage = WebGPUTextureUsageUnknown | WebGPUTextureUsageShaderread | WebGPUTextureUsageShaderwrite | WebGPUTextureUsageRendertarget | WebGPUTextureUsagePixelformatview deriving (Show, Read, Eq, Ord, Typeable) instance PToJSVal WebGPUTextureUsage where pToJSVal WebGPUTextureUsageUnknown = js_WebGPUTextureUsageUnknown pToJSVal WebGPUTextureUsageShaderread = js_WebGPUTextureUsageShaderread pToJSVal WebGPUTextureUsageShaderwrite = js_WebGPUTextureUsageShaderwrite pToJSVal WebGPUTextureUsageRendertarget = js_WebGPUTextureUsageRendertarget pToJSVal WebGPUTextureUsagePixelformatview = js_WebGPUTextureUsagePixelformatview instance ToJSVal WebGPUTextureUsage where toJSVal = return . pToJSVal instance PFromJSVal WebGPUTextureUsage where pFromJSVal x | x `js_eq` js_WebGPUTextureUsageUnknown = WebGPUTextureUsageUnknown pFromJSVal x | x `js_eq` js_WebGPUTextureUsageShaderread = WebGPUTextureUsageShaderread pFromJSVal x | x `js_eq` js_WebGPUTextureUsageShaderwrite = WebGPUTextureUsageShaderwrite pFromJSVal x | x `js_eq` js_WebGPUTextureUsageRendertarget = WebGPUTextureUsageRendertarget pFromJSVal x | x `js_eq` js_WebGPUTextureUsagePixelformatview = WebGPUTextureUsagePixelformatview instance FromJSVal WebGPUTextureUsage where fromJSValUnchecked = return . pFromJSVal fromJSVal = return . pFromJSVal foreign import javascript unsafe "\"unknown\"" js_WebGPUTextureUsageUnknown :: JSVal foreign import javascript unsafe "\"shaderread\"" js_WebGPUTextureUsageShaderread :: JSVal foreign import javascript unsafe "\"shaderwrite\"" js_WebGPUTextureUsageShaderwrite :: JSVal foreign import javascript unsafe "\"rendertarget\"" js_WebGPUTextureUsageRendertarget :: JSVal foreign import javascript unsafe "\"pixelformatview\"" js_WebGPUTextureUsagePixelformatview :: JSVal data WebGPUBlendOperation = WebGPUBlendOperationAdd | WebGPUBlendOperationSubtract | WebGPUBlendOperationReversesubtract | WebGPUBlendOperationMin | WebGPUBlendOperationMax deriving (Show, Read, Eq, Ord, Typeable) instance PToJSVal WebGPUBlendOperation where pToJSVal WebGPUBlendOperationAdd = js_WebGPUBlendOperationAdd pToJSVal WebGPUBlendOperationSubtract = js_WebGPUBlendOperationSubtract pToJSVal WebGPUBlendOperationReversesubtract = js_WebGPUBlendOperationReversesubtract pToJSVal WebGPUBlendOperationMin = js_WebGPUBlendOperationMin pToJSVal WebGPUBlendOperationMax = js_WebGPUBlendOperationMax instance ToJSVal WebGPUBlendOperation where toJSVal = return . pToJSVal instance PFromJSVal WebGPUBlendOperation where pFromJSVal x | x `js_eq` js_WebGPUBlendOperationAdd = WebGPUBlendOperationAdd pFromJSVal x | x `js_eq` js_WebGPUBlendOperationSubtract = WebGPUBlendOperationSubtract pFromJSVal x | x `js_eq` js_WebGPUBlendOperationReversesubtract = WebGPUBlendOperationReversesubtract pFromJSVal x | x `js_eq` js_WebGPUBlendOperationMin = WebGPUBlendOperationMin pFromJSVal x | x `js_eq` js_WebGPUBlendOperationMax = WebGPUBlendOperationMax instance FromJSVal WebGPUBlendOperation where fromJSValUnchecked = return . pFromJSVal fromJSVal = return . pFromJSVal foreign import javascript unsafe "\"add\"" js_WebGPUBlendOperationAdd :: JSVal foreign import javascript unsafe "\"subtract\"" js_WebGPUBlendOperationSubtract :: JSVal foreign import javascript unsafe "\"reversesubtract\"" js_WebGPUBlendOperationReversesubtract :: JSVal foreign import javascript unsafe "\"min\"" js_WebGPUBlendOperationMin :: JSVal foreign import javascript unsafe "\"max\"" js_WebGPUBlendOperationMax :: JSVal data WebGPUBlendFactor = WebGPUBlendFactorZero | WebGPUBlendFactorOne | WebGPUBlendFactorSourcecolor | WebGPUBlendFactorOneminussourcecolor | WebGPUBlendFactorSourcealpha | WebGPUBlendFactorOneminussourcealpha | WebGPUBlendFactorDestinationcolor | WebGPUBlendFactorOneminusdestinationcolor | WebGPUBlendFactorDestinationalpha | WebGPUBlendFactorOneminusdestinationalpha | WebGPUBlendFactorSourcealphasaturated | WebGPUBlendFactorBlendcolor | WebGPUBlendFactorOneminusblendcolor | WebGPUBlendFactorBlendalpha | WebGPUBlendFactorOneminusblendalpha deriving (Show, Read, Eq, Ord, Typeable) instance PToJSVal WebGPUBlendFactor where pToJSVal WebGPUBlendFactorZero = js_WebGPUBlendFactorZero pToJSVal WebGPUBlendFactorOne = js_WebGPUBlendFactorOne pToJSVal WebGPUBlendFactorSourcecolor = js_WebGPUBlendFactorSourcecolor pToJSVal WebGPUBlendFactorOneminussourcecolor = js_WebGPUBlendFactorOneminussourcecolor pToJSVal WebGPUBlendFactorSourcealpha = js_WebGPUBlendFactorSourcealpha pToJSVal WebGPUBlendFactorOneminussourcealpha = js_WebGPUBlendFactorOneminussourcealpha pToJSVal WebGPUBlendFactorDestinationcolor = js_WebGPUBlendFactorDestinationcolor pToJSVal WebGPUBlendFactorOneminusdestinationcolor = js_WebGPUBlendFactorOneminusdestinationcolor pToJSVal WebGPUBlendFactorDestinationalpha = js_WebGPUBlendFactorDestinationalpha pToJSVal WebGPUBlendFactorOneminusdestinationalpha = js_WebGPUBlendFactorOneminusdestinationalpha pToJSVal WebGPUBlendFactorSourcealphasaturated = js_WebGPUBlendFactorSourcealphasaturated pToJSVal WebGPUBlendFactorBlendcolor = js_WebGPUBlendFactorBlendcolor pToJSVal WebGPUBlendFactorOneminusblendcolor = js_WebGPUBlendFactorOneminusblendcolor pToJSVal WebGPUBlendFactorBlendalpha = js_WebGPUBlendFactorBlendalpha pToJSVal WebGPUBlendFactorOneminusblendalpha = js_WebGPUBlendFactorOneminusblendalpha instance ToJSVal WebGPUBlendFactor where toJSVal = return . pToJSVal instance PFromJSVal WebGPUBlendFactor where pFromJSVal x | x `js_eq` js_WebGPUBlendFactorZero = WebGPUBlendFactorZero pFromJSVal x | x `js_eq` js_WebGPUBlendFactorOne = WebGPUBlendFactorOne pFromJSVal x | x `js_eq` js_WebGPUBlendFactorSourcecolor = WebGPUBlendFactorSourcecolor pFromJSVal x | x `js_eq` js_WebGPUBlendFactorOneminussourcecolor = WebGPUBlendFactorOneminussourcecolor pFromJSVal x | x `js_eq` js_WebGPUBlendFactorSourcealpha = WebGPUBlendFactorSourcealpha pFromJSVal x | x `js_eq` js_WebGPUBlendFactorOneminussourcealpha = WebGPUBlendFactorOneminussourcealpha pFromJSVal x | x `js_eq` js_WebGPUBlendFactorDestinationcolor = WebGPUBlendFactorDestinationcolor pFromJSVal x | x `js_eq` js_WebGPUBlendFactorOneminusdestinationcolor = WebGPUBlendFactorOneminusdestinationcolor pFromJSVal x | x `js_eq` js_WebGPUBlendFactorDestinationalpha = WebGPUBlendFactorDestinationalpha pFromJSVal x | x `js_eq` js_WebGPUBlendFactorOneminusdestinationalpha = WebGPUBlendFactorOneminusdestinationalpha pFromJSVal x | x `js_eq` js_WebGPUBlendFactorSourcealphasaturated = WebGPUBlendFactorSourcealphasaturated pFromJSVal x | x `js_eq` js_WebGPUBlendFactorBlendcolor = WebGPUBlendFactorBlendcolor pFromJSVal x | x `js_eq` js_WebGPUBlendFactorOneminusblendcolor = WebGPUBlendFactorOneminusblendcolor pFromJSVal x | x `js_eq` js_WebGPUBlendFactorBlendalpha = WebGPUBlendFactorBlendalpha pFromJSVal x | x `js_eq` js_WebGPUBlendFactorOneminusblendalpha = WebGPUBlendFactorOneminusblendalpha instance FromJSVal WebGPUBlendFactor where fromJSValUnchecked = return . pFromJSVal fromJSVal = return . pFromJSVal foreign import javascript unsafe "\"zero\"" js_WebGPUBlendFactorZero :: JSVal foreign import javascript unsafe "\"one\"" js_WebGPUBlendFactorOne :: JSVal foreign import javascript unsafe "\"sourcecolor\"" js_WebGPUBlendFactorSourcecolor :: JSVal foreign import javascript unsafe "\"oneminussourcecolor\"" js_WebGPUBlendFactorOneminussourcecolor :: JSVal foreign import javascript unsafe "\"sourcealpha\"" js_WebGPUBlendFactorSourcealpha :: JSVal foreign import javascript unsafe "\"oneminussourcealpha\"" js_WebGPUBlendFactorOneminussourcealpha :: JSVal foreign import javascript unsafe "\"destinationcolor\"" js_WebGPUBlendFactorDestinationcolor :: JSVal foreign import javascript unsafe "\"oneminusdestinationcolor\"" js_WebGPUBlendFactorOneminusdestinationcolor :: JSVal foreign import javascript unsafe "\"destinationalpha\"" js_WebGPUBlendFactorDestinationalpha :: JSVal foreign import javascript unsafe "\"oneminusdestinationalpha\"" js_WebGPUBlendFactorOneminusdestinationalpha :: JSVal foreign import javascript unsafe "\"sourcealphasaturated\"" js_WebGPUBlendFactorSourcealphasaturated :: JSVal foreign import javascript unsafe "\"blendcolor\"" js_WebGPUBlendFactorBlendcolor :: JSVal foreign import javascript unsafe "\"oneminusblendcolor\"" js_WebGPUBlendFactorOneminusblendcolor :: JSVal foreign import javascript unsafe "\"blendalpha\"" js_WebGPUBlendFactorBlendalpha :: JSVal foreign import javascript unsafe "\"oneminusblendalpha\"" js_WebGPUBlendFactorOneminusblendalpha :: JSVal data WebGPUColorWriteMask = WebGPUColorWriteMaskNone | WebGPUColorWriteMaskRed | WebGPUColorWriteMaskGreen | WebGPUColorWriteMaskBlue | WebGPUColorWriteMaskAlpha | WebGPUColorWriteMaskAll deriving (Show, Read, Eq, Ord, Typeable) instance PToJSVal WebGPUColorWriteMask where pToJSVal WebGPUColorWriteMaskNone = js_WebGPUColorWriteMaskNone pToJSVal WebGPUColorWriteMaskRed = js_WebGPUColorWriteMaskRed pToJSVal WebGPUColorWriteMaskGreen = js_WebGPUColorWriteMaskGreen pToJSVal WebGPUColorWriteMaskBlue = js_WebGPUColorWriteMaskBlue pToJSVal WebGPUColorWriteMaskAlpha = js_WebGPUColorWriteMaskAlpha pToJSVal WebGPUColorWriteMaskAll = js_WebGPUColorWriteMaskAll instance ToJSVal WebGPUColorWriteMask where toJSVal = return . pToJSVal instance PFromJSVal WebGPUColorWriteMask where pFromJSVal x | x `js_eq` js_WebGPUColorWriteMaskNone = WebGPUColorWriteMaskNone pFromJSVal x | x `js_eq` js_WebGPUColorWriteMaskRed = WebGPUColorWriteMaskRed pFromJSVal x | x `js_eq` js_WebGPUColorWriteMaskGreen = WebGPUColorWriteMaskGreen pFromJSVal x | x `js_eq` js_WebGPUColorWriteMaskBlue = WebGPUColorWriteMaskBlue pFromJSVal x | x `js_eq` js_WebGPUColorWriteMaskAlpha = WebGPUColorWriteMaskAlpha pFromJSVal x | x `js_eq` js_WebGPUColorWriteMaskAll = WebGPUColorWriteMaskAll instance FromJSVal WebGPUColorWriteMask where fromJSValUnchecked = return . pFromJSVal fromJSVal = return . pFromJSVal foreign import javascript unsafe "\"none\"" js_WebGPUColorWriteMaskNone :: JSVal foreign import javascript unsafe "\"red\"" js_WebGPUColorWriteMaskRed :: JSVal foreign import javascript unsafe "\"green\"" js_WebGPUColorWriteMaskGreen :: JSVal foreign import javascript unsafe "\"blue\"" js_WebGPUColorWriteMaskBlue :: JSVal foreign import javascript unsafe "\"alpha\"" js_WebGPUColorWriteMaskAlpha :: JSVal foreign import javascript unsafe "\"all\"" js_WebGPUColorWriteMaskAll :: JSVal data WebGPUMultisampleDepthResolveFilter = WebGPUMultisampleDepthResolveFilterSample0 | WebGPUMultisampleDepthResolveFilterMin | WebGPUMultisampleDepthResolveFilterMax deriving (Show, Read, Eq, Ord, Typeable) instance PToJSVal WebGPUMultisampleDepthResolveFilter where pToJSVal WebGPUMultisampleDepthResolveFilterSample0 = js_WebGPUMultisampleDepthResolveFilterSample0 pToJSVal WebGPUMultisampleDepthResolveFilterMin = js_WebGPUMultisampleDepthResolveFilterMin pToJSVal WebGPUMultisampleDepthResolveFilterMax = js_WebGPUMultisampleDepthResolveFilterMax instance ToJSVal WebGPUMultisampleDepthResolveFilter where toJSVal = return . pToJSVal instance PFromJSVal WebGPUMultisampleDepthResolveFilter where pFromJSVal x | x `js_eq` js_WebGPUMultisampleDepthResolveFilterSample0 = WebGPUMultisampleDepthResolveFilterSample0 pFromJSVal x | x `js_eq` js_WebGPUMultisampleDepthResolveFilterMin = WebGPUMultisampleDepthResolveFilterMin pFromJSVal x | x `js_eq` js_WebGPUMultisampleDepthResolveFilterMax = WebGPUMultisampleDepthResolveFilterMax instance FromJSVal WebGPUMultisampleDepthResolveFilter where fromJSValUnchecked = return . pFromJSVal fromJSVal = return . pFromJSVal foreign import javascript unsafe "\"sample0\"" js_WebGPUMultisampleDepthResolveFilterSample0 :: JSVal foreign import javascript unsafe "\"min\"" js_WebGPUMultisampleDepthResolveFilterMin :: JSVal foreign import javascript unsafe "\"max\"" js_WebGPUMultisampleDepthResolveFilterMax :: JSVal data WebGPUFeatureSet = WebGPUFeatureSetLevel1 | WebGPUFeatureSetLevel2 deriving (Show, Read, Eq, Ord, Typeable) instance PToJSVal WebGPUFeatureSet where pToJSVal WebGPUFeatureSetLevel1 = js_WebGPUFeatureSetLevel1 pToJSVal WebGPUFeatureSetLevel2 = js_WebGPUFeatureSetLevel2 instance ToJSVal WebGPUFeatureSet where toJSVal = return . pToJSVal instance PFromJSVal WebGPUFeatureSet where pFromJSVal x | x `js_eq` js_WebGPUFeatureSetLevel1 = WebGPUFeatureSetLevel1 pFromJSVal x | x `js_eq` js_WebGPUFeatureSetLevel2 = WebGPUFeatureSetLevel2 instance FromJSVal WebGPUFeatureSet where fromJSValUnchecked = return . pFromJSVal fromJSVal = return . pFromJSVal foreign import javascript unsafe "\"level1\"" js_WebGPUFeatureSetLevel1 :: JSVal foreign import javascript unsafe "\"level2\"" js_WebGPUFeatureSetLevel2 :: JSVal data VideoPresentationMode = VideoPresentationModeFullscreen | VideoPresentationModePictureInPicture | VideoPresentationModeInline deriving (Show, Read, Eq, Ord, Typeable) instance PToJSVal VideoPresentationMode where pToJSVal VideoPresentationModeFullscreen = js_VideoPresentationModeFullscreen pToJSVal VideoPresentationModePictureInPicture = js_VideoPresentationModePictureInPicture pToJSVal VideoPresentationModeInline = js_VideoPresentationModeInline instance ToJSVal VideoPresentationMode where toJSVal = return . pToJSVal instance PFromJSVal VideoPresentationMode where pFromJSVal x | x `js_eq` js_VideoPresentationModeFullscreen = VideoPresentationModeFullscreen pFromJSVal x | x `js_eq` js_VideoPresentationModePictureInPicture = VideoPresentationModePictureInPicture pFromJSVal x | x `js_eq` js_VideoPresentationModeInline = VideoPresentationModeInline instance FromJSVal VideoPresentationMode where fromJSValUnchecked = return . pFromJSVal fromJSVal = return . pFromJSVal foreign import javascript unsafe "\"fullscreen\"" js_VideoPresentationModeFullscreen :: JSVal foreign import javascript unsafe "\"picture-in-picture\"" js_VideoPresentationModePictureInPicture :: JSVal foreign import javascript unsafe "\"inline\"" js_VideoPresentationModeInline :: JSVal data TextTrackMode = TextTrackModeDisabled | TextTrackModeHidden | TextTrackModeShowing deriving (Show, Read, Eq, Ord, Typeable) instance PToJSVal TextTrackMode where pToJSVal TextTrackModeDisabled = js_TextTrackModeDisabled pToJSVal TextTrackModeHidden = js_TextTrackModeHidden pToJSVal TextTrackModeShowing = js_TextTrackModeShowing instance ToJSVal TextTrackMode where toJSVal = return . pToJSVal instance PFromJSVal TextTrackMode where pFromJSVal x | x `js_eq` js_TextTrackModeDisabled = TextTrackModeDisabled pFromJSVal x | x `js_eq` js_TextTrackModeHidden = TextTrackModeHidden pFromJSVal x | x `js_eq` js_TextTrackModeShowing = TextTrackModeShowing instance FromJSVal TextTrackMode where fromJSValUnchecked = return . pFromJSVal fromJSVal = return . pFromJSVal foreign import javascript unsafe "\"disabled\"" js_TextTrackModeDisabled :: JSVal foreign import javascript unsafe "\"hidden\"" js_TextTrackModeHidden :: JSVal foreign import javascript unsafe "\"showing\"" js_TextTrackModeShowing :: JSVal data TextTrackKind = TextTrackKindSubtitles | TextTrackKindCaptions | TextTrackKindDescriptions | TextTrackKindChapters | TextTrackKindMetadata | TextTrackKindForced deriving (Show, Read, Eq, Ord, Typeable) instance PToJSVal TextTrackKind where pToJSVal TextTrackKindSubtitles = js_TextTrackKindSubtitles pToJSVal TextTrackKindCaptions = js_TextTrackKindCaptions pToJSVal TextTrackKindDescriptions = js_TextTrackKindDescriptions pToJSVal TextTrackKindChapters = js_TextTrackKindChapters pToJSVal TextTrackKindMetadata = js_TextTrackKindMetadata pToJSVal TextTrackKindForced = js_TextTrackKindForced instance ToJSVal TextTrackKind where toJSVal = return . pToJSVal instance PFromJSVal TextTrackKind where pFromJSVal x | x `js_eq` js_TextTrackKindSubtitles = TextTrackKindSubtitles pFromJSVal x | x `js_eq` js_TextTrackKindCaptions = TextTrackKindCaptions pFromJSVal x | x `js_eq` js_TextTrackKindDescriptions = TextTrackKindDescriptions pFromJSVal x | x `js_eq` js_TextTrackKindChapters = TextTrackKindChapters pFromJSVal x | x `js_eq` js_TextTrackKindMetadata = TextTrackKindMetadata pFromJSVal x | x `js_eq` js_TextTrackKindForced = TextTrackKindForced instance FromJSVal TextTrackKind where fromJSValUnchecked = return . pFromJSVal fromJSVal = return . pFromJSVal foreign import javascript unsafe "\"subtitles\"" js_TextTrackKindSubtitles :: JSVal foreign import javascript unsafe "\"captions\"" js_TextTrackKindCaptions :: JSVal foreign import javascript unsafe "\"descriptions\"" js_TextTrackKindDescriptions :: JSVal foreign import javascript unsafe "\"chapters\"" js_TextTrackKindChapters :: JSVal foreign import javascript unsafe "\"metadata\"" js_TextTrackKindMetadata :: JSVal foreign import javascript unsafe "\"forced\"" js_TextTrackKindForced :: JSVal data ApplePayErrorCode = ApplePayErrorCodeUnknown | ApplePayErrorCodeShippingContactInvalid | ApplePayErrorCodeBillingContactInvalid | ApplePayErrorCodeAddressUnservicable deriving (Show, Read, Eq, Ord, Typeable) instance PToJSVal ApplePayErrorCode where pToJSVal ApplePayErrorCodeUnknown = js_ApplePayErrorCodeUnknown pToJSVal ApplePayErrorCodeShippingContactInvalid = js_ApplePayErrorCodeShippingContactInvalid pToJSVal ApplePayErrorCodeBillingContactInvalid = js_ApplePayErrorCodeBillingContactInvalid pToJSVal ApplePayErrorCodeAddressUnservicable = js_ApplePayErrorCodeAddressUnservicable instance ToJSVal ApplePayErrorCode where toJSVal = return . pToJSVal instance PFromJSVal ApplePayErrorCode where pFromJSVal x | x `js_eq` js_ApplePayErrorCodeUnknown = ApplePayErrorCodeUnknown pFromJSVal x | x `js_eq` js_ApplePayErrorCodeShippingContactInvalid = ApplePayErrorCodeShippingContactInvalid pFromJSVal x | x `js_eq` js_ApplePayErrorCodeBillingContactInvalid = ApplePayErrorCodeBillingContactInvalid pFromJSVal x | x `js_eq` js_ApplePayErrorCodeAddressUnservicable = ApplePayErrorCodeAddressUnservicable instance FromJSVal ApplePayErrorCode where fromJSValUnchecked = return . pFromJSVal fromJSVal = return . pFromJSVal foreign import javascript unsafe "\"unknown\"" js_ApplePayErrorCodeUnknown :: JSVal foreign import javascript unsafe "\"shippingContactInvalid\"" js_ApplePayErrorCodeShippingContactInvalid :: JSVal foreign import javascript unsafe "\"billingContactInvalid\"" js_ApplePayErrorCodeBillingContactInvalid :: JSVal foreign import javascript unsafe "\"addressUnservicable\"" js_ApplePayErrorCodeAddressUnservicable :: JSVal data ApplePayErrorContactField = ApplePayErrorContactFieldPhoneNumber | ApplePayErrorContactFieldEmailAddress | ApplePayErrorContactFieldName | ApplePayErrorContactFieldPostalAddress | ApplePayErrorContactFieldAddressLines | ApplePayErrorContactFieldLocality | ApplePayErrorContactFieldPostalCode | ApplePayErrorContactFieldAdministrativeArea | ApplePayErrorContactFieldCountry deriving (Show, Read, Eq, Ord, Typeable) instance PToJSVal ApplePayErrorContactField where pToJSVal ApplePayErrorContactFieldPhoneNumber = js_ApplePayErrorContactFieldPhoneNumber pToJSVal ApplePayErrorContactFieldEmailAddress = js_ApplePayErrorContactFieldEmailAddress pToJSVal ApplePayErrorContactFieldName = js_ApplePayErrorContactFieldName pToJSVal ApplePayErrorContactFieldPostalAddress = js_ApplePayErrorContactFieldPostalAddress pToJSVal ApplePayErrorContactFieldAddressLines = js_ApplePayErrorContactFieldAddressLines pToJSVal ApplePayErrorContactFieldLocality = js_ApplePayErrorContactFieldLocality pToJSVal ApplePayErrorContactFieldPostalCode = js_ApplePayErrorContactFieldPostalCode pToJSVal ApplePayErrorContactFieldAdministrativeArea = js_ApplePayErrorContactFieldAdministrativeArea pToJSVal ApplePayErrorContactFieldCountry = js_ApplePayErrorContactFieldCountry instance ToJSVal ApplePayErrorContactField where toJSVal = return . pToJSVal instance PFromJSVal ApplePayErrorContactField where pFromJSVal x | x `js_eq` js_ApplePayErrorContactFieldPhoneNumber = ApplePayErrorContactFieldPhoneNumber pFromJSVal x | x `js_eq` js_ApplePayErrorContactFieldEmailAddress = ApplePayErrorContactFieldEmailAddress pFromJSVal x | x `js_eq` js_ApplePayErrorContactFieldName = ApplePayErrorContactFieldName pFromJSVal x | x `js_eq` js_ApplePayErrorContactFieldPostalAddress = ApplePayErrorContactFieldPostalAddress pFromJSVal x | x `js_eq` js_ApplePayErrorContactFieldAddressLines = ApplePayErrorContactFieldAddressLines pFromJSVal x | x `js_eq` js_ApplePayErrorContactFieldLocality = ApplePayErrorContactFieldLocality pFromJSVal x | x `js_eq` js_ApplePayErrorContactFieldPostalCode = ApplePayErrorContactFieldPostalCode pFromJSVal x | x `js_eq` js_ApplePayErrorContactFieldAdministrativeArea = ApplePayErrorContactFieldAdministrativeArea pFromJSVal x | x `js_eq` js_ApplePayErrorContactFieldCountry = ApplePayErrorContactFieldCountry instance FromJSVal ApplePayErrorContactField where fromJSValUnchecked = return . pFromJSVal fromJSVal = return . pFromJSVal foreign import javascript unsafe "\"phoneNumber\"" js_ApplePayErrorContactFieldPhoneNumber :: JSVal foreign import javascript unsafe "\"emailAddress\"" js_ApplePayErrorContactFieldEmailAddress :: JSVal foreign import javascript unsafe "\"name\"" js_ApplePayErrorContactFieldName :: JSVal foreign import javascript unsafe "\"postalAddress\"" js_ApplePayErrorContactFieldPostalAddress :: JSVal foreign import javascript unsafe "\"addressLines\"" js_ApplePayErrorContactFieldAddressLines :: JSVal foreign import javascript unsafe "\"locality\"" js_ApplePayErrorContactFieldLocality :: JSVal foreign import javascript unsafe "\"postalCode\"" js_ApplePayErrorContactFieldPostalCode :: JSVal foreign import javascript unsafe "\"administrativeArea\"" js_ApplePayErrorContactFieldAdministrativeArea :: JSVal foreign import javascript unsafe "\"country\"" js_ApplePayErrorContactFieldCountry :: JSVal data ApplePayLineItemType = ApplePayLineItemTypePending | ApplePayLineItemTypeFinal deriving (Show, Read, Eq, Ord, Typeable) instance PToJSVal ApplePayLineItemType where pToJSVal ApplePayLineItemTypePending = js_ApplePayLineItemTypePending pToJSVal ApplePayLineItemTypeFinal = js_ApplePayLineItemTypeFinal instance ToJSVal ApplePayLineItemType where toJSVal = return . pToJSVal instance PFromJSVal ApplePayLineItemType where pFromJSVal x | x `js_eq` js_ApplePayLineItemTypePending = ApplePayLineItemTypePending pFromJSVal x | x `js_eq` js_ApplePayLineItemTypeFinal = ApplePayLineItemTypeFinal instance FromJSVal ApplePayLineItemType where fromJSValUnchecked = return . pFromJSVal fromJSVal = return . pFromJSVal foreign import javascript unsafe "\"pending\"" js_ApplePayLineItemTypePending :: JSVal foreign import javascript unsafe "\"final\"" js_ApplePayLineItemTypeFinal :: JSVal data ApplePayPaymentMethodType = ApplePayPaymentMethodTypeDebit | ApplePayPaymentMethodTypeCredit | ApplePayPaymentMethodTypePrepaid | ApplePayPaymentMethodTypeStore deriving (Show, Read, Eq, Ord, Typeable) instance PToJSVal ApplePayPaymentMethodType where pToJSVal ApplePayPaymentMethodTypeDebit = js_ApplePayPaymentMethodTypeDebit pToJSVal ApplePayPaymentMethodTypeCredit = js_ApplePayPaymentMethodTypeCredit pToJSVal ApplePayPaymentMethodTypePrepaid = js_ApplePayPaymentMethodTypePrepaid pToJSVal ApplePayPaymentMethodTypeStore = js_ApplePayPaymentMethodTypeStore instance ToJSVal ApplePayPaymentMethodType where toJSVal = return . pToJSVal instance PFromJSVal ApplePayPaymentMethodType where pFromJSVal x | x `js_eq` js_ApplePayPaymentMethodTypeDebit = ApplePayPaymentMethodTypeDebit pFromJSVal x | x `js_eq` js_ApplePayPaymentMethodTypeCredit = ApplePayPaymentMethodTypeCredit pFromJSVal x | x `js_eq` js_ApplePayPaymentMethodTypePrepaid = ApplePayPaymentMethodTypePrepaid pFromJSVal x | x `js_eq` js_ApplePayPaymentMethodTypeStore = ApplePayPaymentMethodTypeStore instance FromJSVal ApplePayPaymentMethodType where fromJSValUnchecked = return . pFromJSVal fromJSVal = return . pFromJSVal foreign import javascript unsafe "\"debit\"" js_ApplePayPaymentMethodTypeDebit :: JSVal foreign import javascript unsafe "\"credit\"" js_ApplePayPaymentMethodTypeCredit :: JSVal foreign import javascript unsafe "\"prepaid\"" js_ApplePayPaymentMethodTypePrepaid :: JSVal foreign import javascript unsafe "\"store\"" js_ApplePayPaymentMethodTypeStore :: JSVal data ApplePayPaymentPassActivationState = ApplePayPaymentPassActivationStateActivated | ApplePayPaymentPassActivationStateRequiresActivation | ApplePayPaymentPassActivationStateActivating | ApplePayPaymentPassActivationStateSuspended | ApplePayPaymentPassActivationStateDeactivated deriving (Show, Read, Eq, Ord, Typeable) instance PToJSVal ApplePayPaymentPassActivationState where pToJSVal ApplePayPaymentPassActivationStateActivated = js_ApplePayPaymentPassActivationStateActivated pToJSVal ApplePayPaymentPassActivationStateRequiresActivation = js_ApplePayPaymentPassActivationStateRequiresActivation pToJSVal ApplePayPaymentPassActivationStateActivating = js_ApplePayPaymentPassActivationStateActivating pToJSVal ApplePayPaymentPassActivationStateSuspended = js_ApplePayPaymentPassActivationStateSuspended pToJSVal ApplePayPaymentPassActivationStateDeactivated = js_ApplePayPaymentPassActivationStateDeactivated instance ToJSVal ApplePayPaymentPassActivationState where toJSVal = return . pToJSVal instance PFromJSVal ApplePayPaymentPassActivationState where pFromJSVal x | x `js_eq` js_ApplePayPaymentPassActivationStateActivated = ApplePayPaymentPassActivationStateActivated pFromJSVal x | x `js_eq` js_ApplePayPaymentPassActivationStateRequiresActivation = ApplePayPaymentPassActivationStateRequiresActivation pFromJSVal x | x `js_eq` js_ApplePayPaymentPassActivationStateActivating = ApplePayPaymentPassActivationStateActivating pFromJSVal x | x `js_eq` js_ApplePayPaymentPassActivationStateSuspended = ApplePayPaymentPassActivationStateSuspended pFromJSVal x | x `js_eq` js_ApplePayPaymentPassActivationStateDeactivated = ApplePayPaymentPassActivationStateDeactivated instance FromJSVal ApplePayPaymentPassActivationState where fromJSValUnchecked = return . pFromJSVal fromJSVal = return . pFromJSVal foreign import javascript unsafe "\"activated\"" js_ApplePayPaymentPassActivationStateActivated :: JSVal foreign import javascript unsafe "\"requiresActivation\"" js_ApplePayPaymentPassActivationStateRequiresActivation :: JSVal foreign import javascript unsafe "\"activating\"" js_ApplePayPaymentPassActivationStateActivating :: JSVal foreign import javascript unsafe "\"suspended\"" js_ApplePayPaymentPassActivationStateSuspended :: JSVal foreign import javascript unsafe "\"deactivated\"" js_ApplePayPaymentPassActivationStateDeactivated :: JSVal data ApplePayMerchantCapability = ApplePayMerchantCapabilitySupports3DS | ApplePayMerchantCapabilitySupportsEMV | ApplePayMerchantCapabilitySupportsCredit | ApplePayMerchantCapabilitySupportsDebit deriving (Show, Read, Eq, Ord, Typeable) instance PToJSVal ApplePayMerchantCapability where pToJSVal ApplePayMerchantCapabilitySupports3DS = js_ApplePayMerchantCapabilitySupports3DS pToJSVal ApplePayMerchantCapabilitySupportsEMV = js_ApplePayMerchantCapabilitySupportsEMV pToJSVal ApplePayMerchantCapabilitySupportsCredit = js_ApplePayMerchantCapabilitySupportsCredit pToJSVal ApplePayMerchantCapabilitySupportsDebit = js_ApplePayMerchantCapabilitySupportsDebit instance ToJSVal ApplePayMerchantCapability where toJSVal = return . pToJSVal instance PFromJSVal ApplePayMerchantCapability where pFromJSVal x | x `js_eq` js_ApplePayMerchantCapabilitySupports3DS = ApplePayMerchantCapabilitySupports3DS pFromJSVal x | x `js_eq` js_ApplePayMerchantCapabilitySupportsEMV = ApplePayMerchantCapabilitySupportsEMV pFromJSVal x | x `js_eq` js_ApplePayMerchantCapabilitySupportsCredit = ApplePayMerchantCapabilitySupportsCredit pFromJSVal x | x `js_eq` js_ApplePayMerchantCapabilitySupportsDebit = ApplePayMerchantCapabilitySupportsDebit instance FromJSVal ApplePayMerchantCapability where fromJSValUnchecked = return . pFromJSVal fromJSVal = return . pFromJSVal foreign import javascript unsafe "\"supports3DS\"" js_ApplePayMerchantCapabilitySupports3DS :: JSVal foreign import javascript unsafe "\"supportsEMV\"" js_ApplePayMerchantCapabilitySupportsEMV :: JSVal foreign import javascript unsafe "\"supportsCredit\"" js_ApplePayMerchantCapabilitySupportsCredit :: JSVal foreign import javascript unsafe "\"supportsDebit\"" js_ApplePayMerchantCapabilitySupportsDebit :: JSVal data ApplePayContactField = ApplePayContactFieldEmail | ApplePayContactFieldName | ApplePayContactFieldPhone | ApplePayContactFieldPostalAddress deriving (Show, Read, Eq, Ord, Typeable) instance PToJSVal ApplePayContactField where pToJSVal ApplePayContactFieldEmail = js_ApplePayContactFieldEmail pToJSVal ApplePayContactFieldName = js_ApplePayContactFieldName pToJSVal ApplePayContactFieldPhone = js_ApplePayContactFieldPhone pToJSVal ApplePayContactFieldPostalAddress = js_ApplePayContactFieldPostalAddress instance ToJSVal ApplePayContactField where toJSVal = return . pToJSVal instance PFromJSVal ApplePayContactField where pFromJSVal x | x `js_eq` js_ApplePayContactFieldEmail = ApplePayContactFieldEmail pFromJSVal x | x `js_eq` js_ApplePayContactFieldName = ApplePayContactFieldName pFromJSVal x | x `js_eq` js_ApplePayContactFieldPhone = ApplePayContactFieldPhone pFromJSVal x | x `js_eq` js_ApplePayContactFieldPostalAddress = ApplePayContactFieldPostalAddress instance FromJSVal ApplePayContactField where fromJSValUnchecked = return . pFromJSVal fromJSVal = return . pFromJSVal foreign import javascript unsafe "\"email\"" js_ApplePayContactFieldEmail :: JSVal foreign import javascript unsafe "\"name\"" js_ApplePayContactFieldName :: JSVal foreign import javascript unsafe "\"phone\"" js_ApplePayContactFieldPhone :: JSVal foreign import javascript unsafe "\"postalAddress\"" js_ApplePayContactFieldPostalAddress :: JSVal data ApplePayShippingType = ApplePayShippingTypeShipping | ApplePayShippingTypeDelivery | ApplePayShippingTypeStorePickup | ApplePayShippingTypeServicePickup deriving (Show, Read, Eq, Ord, Typeable) instance PToJSVal ApplePayShippingType where pToJSVal ApplePayShippingTypeShipping = js_ApplePayShippingTypeShipping pToJSVal ApplePayShippingTypeDelivery = js_ApplePayShippingTypeDelivery pToJSVal ApplePayShippingTypeStorePickup = js_ApplePayShippingTypeStorePickup pToJSVal ApplePayShippingTypeServicePickup = js_ApplePayShippingTypeServicePickup instance ToJSVal ApplePayShippingType where toJSVal = return . pToJSVal instance PFromJSVal ApplePayShippingType where pFromJSVal x | x `js_eq` js_ApplePayShippingTypeShipping = ApplePayShippingTypeShipping pFromJSVal x | x `js_eq` js_ApplePayShippingTypeDelivery = ApplePayShippingTypeDelivery pFromJSVal x | x `js_eq` js_ApplePayShippingTypeStorePickup = ApplePayShippingTypeStorePickup pFromJSVal x | x `js_eq` js_ApplePayShippingTypeServicePickup = ApplePayShippingTypeServicePickup instance FromJSVal ApplePayShippingType where fromJSValUnchecked = return . pFromJSVal fromJSVal = return . pFromJSVal foreign import javascript unsafe "\"shipping\"" js_ApplePayShippingTypeShipping :: JSVal foreign import javascript unsafe "\"delivery\"" js_ApplePayShippingTypeDelivery :: JSVal foreign import javascript unsafe "\"storePickup\"" js_ApplePayShippingTypeStorePickup :: JSVal foreign import javascript unsafe "\"servicePickup\"" js_ApplePayShippingTypeServicePickup :: JSVal data MediaKeyMessageType = MediaKeyMessageTypeLicenseRequest | MediaKeyMessageTypeLicenseRenewal | MediaKeyMessageTypeLicenseRelease | MediaKeyMessageTypeIndividualizationRequest deriving (Show, Read, Eq, Ord, Typeable) instance PToJSVal MediaKeyMessageType where pToJSVal MediaKeyMessageTypeLicenseRequest = js_MediaKeyMessageTypeLicenseRequest pToJSVal MediaKeyMessageTypeLicenseRenewal = js_MediaKeyMessageTypeLicenseRenewal pToJSVal MediaKeyMessageTypeLicenseRelease = js_MediaKeyMessageTypeLicenseRelease pToJSVal MediaKeyMessageTypeIndividualizationRequest = js_MediaKeyMessageTypeIndividualizationRequest instance ToJSVal MediaKeyMessageType where toJSVal = return . pToJSVal instance PFromJSVal MediaKeyMessageType where pFromJSVal x | x `js_eq` js_MediaKeyMessageTypeLicenseRequest = MediaKeyMessageTypeLicenseRequest pFromJSVal x | x `js_eq` js_MediaKeyMessageTypeLicenseRenewal = MediaKeyMessageTypeLicenseRenewal pFromJSVal x | x `js_eq` js_MediaKeyMessageTypeLicenseRelease = MediaKeyMessageTypeLicenseRelease pFromJSVal x | x `js_eq` js_MediaKeyMessageTypeIndividualizationRequest = MediaKeyMessageTypeIndividualizationRequest instance FromJSVal MediaKeyMessageType where fromJSValUnchecked = return . pFromJSVal fromJSVal = return . pFromJSVal foreign import javascript unsafe "\"license-request\"" js_MediaKeyMessageTypeLicenseRequest :: JSVal foreign import javascript unsafe "\"license-renewal\"" js_MediaKeyMessageTypeLicenseRenewal :: JSVal foreign import javascript unsafe "\"license-release\"" js_MediaKeyMessageTypeLicenseRelease :: JSVal foreign import javascript unsafe "\"individualization-request\"" js_MediaKeyMessageTypeIndividualizationRequest :: JSVal data MediaKeySessionType = MediaKeySessionTypeTemporary | MediaKeySessionTypePersistentUsageRecord | MediaKeySessionTypePersistentLicense deriving (Show, Read, Eq, Ord, Typeable) instance PToJSVal MediaKeySessionType where pToJSVal MediaKeySessionTypeTemporary = js_MediaKeySessionTypeTemporary pToJSVal MediaKeySessionTypePersistentUsageRecord = js_MediaKeySessionTypePersistentUsageRecord pToJSVal MediaKeySessionTypePersistentLicense = js_MediaKeySessionTypePersistentLicense instance ToJSVal MediaKeySessionType where toJSVal = return . pToJSVal instance PFromJSVal MediaKeySessionType where pFromJSVal x | x `js_eq` js_MediaKeySessionTypeTemporary = MediaKeySessionTypeTemporary pFromJSVal x | x `js_eq` js_MediaKeySessionTypePersistentUsageRecord = MediaKeySessionTypePersistentUsageRecord pFromJSVal x | x `js_eq` js_MediaKeySessionTypePersistentLicense = MediaKeySessionTypePersistentLicense instance FromJSVal MediaKeySessionType where fromJSValUnchecked = return . pFromJSVal fromJSVal = return . pFromJSVal foreign import javascript unsafe "\"temporary\"" js_MediaKeySessionTypeTemporary :: JSVal foreign import javascript unsafe "\"persistent-usage-record\"" js_MediaKeySessionTypePersistentUsageRecord :: JSVal foreign import javascript unsafe "\"persistent-license\"" js_MediaKeySessionTypePersistentLicense :: JSVal data MediaKeysRequirement = MediaKeysRequirementRequired | MediaKeysRequirementOptional | MediaKeysRequirementNotAllowed deriving (Show, Read, Eq, Ord, Typeable) instance PToJSVal MediaKeysRequirement where pToJSVal MediaKeysRequirementRequired = js_MediaKeysRequirementRequired pToJSVal MediaKeysRequirementOptional = js_MediaKeysRequirementOptional pToJSVal MediaKeysRequirementNotAllowed = js_MediaKeysRequirementNotAllowed instance ToJSVal MediaKeysRequirement where toJSVal = return . pToJSVal instance PFromJSVal MediaKeysRequirement where pFromJSVal x | x `js_eq` js_MediaKeysRequirementRequired = MediaKeysRequirementRequired pFromJSVal x | x `js_eq` js_MediaKeysRequirementOptional = MediaKeysRequirementOptional pFromJSVal x | x `js_eq` js_MediaKeysRequirementNotAllowed = MediaKeysRequirementNotAllowed instance FromJSVal MediaKeysRequirement where fromJSValUnchecked = return . pFromJSVal fromJSVal = return . pFromJSVal foreign import javascript unsafe "\"required\"" js_MediaKeysRequirementRequired :: JSVal foreign import javascript unsafe "\"optional\"" js_MediaKeysRequirementOptional :: JSVal foreign import javascript unsafe "\"not-allowed\"" js_MediaKeysRequirementNotAllowed :: JSVal data MediaKeyStatus = MediaKeyStatusUsable | MediaKeyStatusExpired | MediaKeyStatusReleased | MediaKeyStatusOutputRestricted | MediaKeyStatusOutputDownscaled | MediaKeyStatusStatusPending | MediaKeyStatusInternalError deriving (Show, Read, Eq, Ord, Typeable) instance PToJSVal MediaKeyStatus where pToJSVal MediaKeyStatusUsable = js_MediaKeyStatusUsable pToJSVal MediaKeyStatusExpired = js_MediaKeyStatusExpired pToJSVal MediaKeyStatusReleased = js_MediaKeyStatusReleased pToJSVal MediaKeyStatusOutputRestricted = js_MediaKeyStatusOutputRestricted pToJSVal MediaKeyStatusOutputDownscaled = js_MediaKeyStatusOutputDownscaled pToJSVal MediaKeyStatusStatusPending = js_MediaKeyStatusStatusPending pToJSVal MediaKeyStatusInternalError = js_MediaKeyStatusInternalError instance ToJSVal MediaKeyStatus where toJSVal = return . pToJSVal instance PFromJSVal MediaKeyStatus where pFromJSVal x | x `js_eq` js_MediaKeyStatusUsable = MediaKeyStatusUsable pFromJSVal x | x `js_eq` js_MediaKeyStatusExpired = MediaKeyStatusExpired pFromJSVal x | x `js_eq` js_MediaKeyStatusReleased = MediaKeyStatusReleased pFromJSVal x | x `js_eq` js_MediaKeyStatusOutputRestricted = MediaKeyStatusOutputRestricted pFromJSVal x | x `js_eq` js_MediaKeyStatusOutputDownscaled = MediaKeyStatusOutputDownscaled pFromJSVal x | x `js_eq` js_MediaKeyStatusStatusPending = MediaKeyStatusStatusPending pFromJSVal x | x `js_eq` js_MediaKeyStatusInternalError = MediaKeyStatusInternalError instance FromJSVal MediaKeyStatus where fromJSValUnchecked = return . pFromJSVal fromJSVal = return . pFromJSVal foreign import javascript unsafe "\"usable\"" js_MediaKeyStatusUsable :: JSVal foreign import javascript unsafe "\"expired\"" js_MediaKeyStatusExpired :: JSVal foreign import javascript unsafe "\"released\"" js_MediaKeyStatusReleased :: JSVal foreign import javascript unsafe "\"output-restricted\"" js_MediaKeyStatusOutputRestricted :: JSVal foreign import javascript unsafe "\"output-downscaled\"" js_MediaKeyStatusOutputDownscaled :: JSVal foreign import javascript unsafe "\"status-pending\"" js_MediaKeyStatusStatusPending :: JSVal foreign import javascript unsafe "\"internal-error\"" js_MediaKeyStatusInternalError :: JSVal data RequestType = RequestType | RequestTypeAudio | RequestTypeFont | RequestTypeImage | RequestTypeScript | RequestTypeStyle | RequestTypeTrack | RequestTypeVideo deriving (Show, Read, Eq, Ord, Typeable) instance PToJSVal RequestType where pToJSVal RequestType = js_RequestType pToJSVal RequestTypeAudio = js_RequestTypeAudio pToJSVal RequestTypeFont = js_RequestTypeFont pToJSVal RequestTypeImage = js_RequestTypeImage pToJSVal RequestTypeScript = js_RequestTypeScript pToJSVal RequestTypeStyle = js_RequestTypeStyle pToJSVal RequestTypeTrack = js_RequestTypeTrack pToJSVal RequestTypeVideo = js_RequestTypeVideo instance ToJSVal RequestType where toJSVal = return . pToJSVal instance PFromJSVal RequestType where pFromJSVal x | x `js_eq` js_RequestType = RequestType pFromJSVal x | x `js_eq` js_RequestTypeAudio = RequestTypeAudio pFromJSVal x | x `js_eq` js_RequestTypeFont = RequestTypeFont pFromJSVal x | x `js_eq` js_RequestTypeImage = RequestTypeImage pFromJSVal x | x `js_eq` js_RequestTypeScript = RequestTypeScript pFromJSVal x | x `js_eq` js_RequestTypeStyle = RequestTypeStyle pFromJSVal x | x `js_eq` js_RequestTypeTrack = RequestTypeTrack pFromJSVal x | x `js_eq` js_RequestTypeVideo = RequestTypeVideo instance FromJSVal RequestType where fromJSValUnchecked = return . pFromJSVal fromJSVal = return . pFromJSVal foreign import javascript unsafe "\"\"" js_RequestType :: JSVal foreign import javascript unsafe "\"audio\"" js_RequestTypeAudio :: JSVal foreign import javascript unsafe "\"font\"" js_RequestTypeFont :: JSVal foreign import javascript unsafe "\"image\"" js_RequestTypeImage :: JSVal foreign import javascript unsafe "\"script\"" js_RequestTypeScript :: JSVal foreign import javascript unsafe "\"style\"" js_RequestTypeStyle :: JSVal foreign import javascript unsafe "\"track\"" js_RequestTypeTrack :: JSVal foreign import javascript unsafe "\"video\"" js_RequestTypeVideo :: JSVal data RequestDestination = RequestDestination | RequestDestinationDocument | RequestDestinationSharedworker | RequestDestinationSubresource | RequestDestinationUnknown | RequestDestinationWorker deriving (Show, Read, Eq, Ord, Typeable) instance PToJSVal RequestDestination where pToJSVal RequestDestination = js_RequestDestination pToJSVal RequestDestinationDocument = js_RequestDestinationDocument pToJSVal RequestDestinationSharedworker = js_RequestDestinationSharedworker pToJSVal RequestDestinationSubresource = js_RequestDestinationSubresource pToJSVal RequestDestinationUnknown = js_RequestDestinationUnknown pToJSVal RequestDestinationWorker = js_RequestDestinationWorker instance ToJSVal RequestDestination where toJSVal = return . pToJSVal instance PFromJSVal RequestDestination where pFromJSVal x | x `js_eq` js_RequestDestination = RequestDestination pFromJSVal x | x `js_eq` js_RequestDestinationDocument = RequestDestinationDocument pFromJSVal x | x `js_eq` js_RequestDestinationSharedworker = RequestDestinationSharedworker pFromJSVal x | x `js_eq` js_RequestDestinationSubresource = RequestDestinationSubresource pFromJSVal x | x `js_eq` js_RequestDestinationUnknown = RequestDestinationUnknown pFromJSVal x | x `js_eq` js_RequestDestinationWorker = RequestDestinationWorker instance FromJSVal RequestDestination where fromJSValUnchecked = return . pFromJSVal fromJSVal = return . pFromJSVal foreign import javascript unsafe "\"\"" js_RequestDestination :: JSVal foreign import javascript unsafe "\"document\"" js_RequestDestinationDocument :: JSVal foreign import javascript unsafe "\"sharedworker\"" js_RequestDestinationSharedworker :: JSVal foreign import javascript unsafe "\"subresource\"" js_RequestDestinationSubresource :: JSVal foreign import javascript unsafe "\"unknown\"" js_RequestDestinationUnknown :: JSVal foreign import javascript unsafe "\"worker\"" js_RequestDestinationWorker :: JSVal data RequestMode = RequestModeNavigate | RequestModeSameOrigin | RequestModeNoCors | RequestModeCors deriving (Show, Read, Eq, Ord, Typeable) instance PToJSVal RequestMode where pToJSVal RequestModeNavigate = js_RequestModeNavigate pToJSVal RequestModeSameOrigin = js_RequestModeSameOrigin pToJSVal RequestModeNoCors = js_RequestModeNoCors pToJSVal RequestModeCors = js_RequestModeCors instance ToJSVal RequestMode where toJSVal = return . pToJSVal instance PFromJSVal RequestMode where pFromJSVal x | x `js_eq` js_RequestModeNavigate = RequestModeNavigate pFromJSVal x | x `js_eq` js_RequestModeSameOrigin = RequestModeSameOrigin pFromJSVal x | x `js_eq` js_RequestModeNoCors = RequestModeNoCors pFromJSVal x | x `js_eq` js_RequestModeCors = RequestModeCors instance FromJSVal RequestMode where fromJSValUnchecked = return . pFromJSVal fromJSVal = return . pFromJSVal foreign import javascript unsafe "\"navigate\"" js_RequestModeNavigate :: JSVal foreign import javascript unsafe "\"same-origin\"" js_RequestModeSameOrigin :: JSVal foreign import javascript unsafe "\"no-cors\"" js_RequestModeNoCors :: JSVal foreign import javascript unsafe "\"cors\"" js_RequestModeCors :: JSVal data RequestCredentials = RequestCredentialsOmit | RequestCredentialsSameOrigin | RequestCredentialsInclude deriving (Show, Read, Eq, Ord, Typeable) instance PToJSVal RequestCredentials where pToJSVal RequestCredentialsOmit = js_RequestCredentialsOmit pToJSVal RequestCredentialsSameOrigin = js_RequestCredentialsSameOrigin pToJSVal RequestCredentialsInclude = js_RequestCredentialsInclude instance ToJSVal RequestCredentials where toJSVal = return . pToJSVal instance PFromJSVal RequestCredentials where pFromJSVal x | x `js_eq` js_RequestCredentialsOmit = RequestCredentialsOmit pFromJSVal x | x `js_eq` js_RequestCredentialsSameOrigin = RequestCredentialsSameOrigin pFromJSVal x | x `js_eq` js_RequestCredentialsInclude = RequestCredentialsInclude instance FromJSVal RequestCredentials where fromJSValUnchecked = return . pFromJSVal fromJSVal = return . pFromJSVal foreign import javascript unsafe "\"omit\"" js_RequestCredentialsOmit :: JSVal foreign import javascript unsafe "\"same-origin\"" js_RequestCredentialsSameOrigin :: JSVal foreign import javascript unsafe "\"include\"" js_RequestCredentialsInclude :: JSVal data RequestCache = RequestCacheDefault | RequestCacheNoStore | RequestCacheReload | RequestCacheNoCache | RequestCacheForceCache | RequestCacheOnlyIfCached deriving (Show, Read, Eq, Ord, Typeable) instance PToJSVal RequestCache where pToJSVal RequestCacheDefault = js_RequestCacheDefault pToJSVal RequestCacheNoStore = js_RequestCacheNoStore pToJSVal RequestCacheReload = js_RequestCacheReload pToJSVal RequestCacheNoCache = js_RequestCacheNoCache pToJSVal RequestCacheForceCache = js_RequestCacheForceCache pToJSVal RequestCacheOnlyIfCached = js_RequestCacheOnlyIfCached instance ToJSVal RequestCache where toJSVal = return . pToJSVal instance PFromJSVal RequestCache where pFromJSVal x | x `js_eq` js_RequestCacheDefault = RequestCacheDefault pFromJSVal x | x `js_eq` js_RequestCacheNoStore = RequestCacheNoStore pFromJSVal x | x `js_eq` js_RequestCacheReload = RequestCacheReload pFromJSVal x | x `js_eq` js_RequestCacheNoCache = RequestCacheNoCache pFromJSVal x | x `js_eq` js_RequestCacheForceCache = RequestCacheForceCache pFromJSVal x | x `js_eq` js_RequestCacheOnlyIfCached = RequestCacheOnlyIfCached instance FromJSVal RequestCache where fromJSValUnchecked = return . pFromJSVal fromJSVal = return . pFromJSVal foreign import javascript unsafe "\"default\"" js_RequestCacheDefault :: JSVal foreign import javascript unsafe "\"no-store\"" js_RequestCacheNoStore :: JSVal foreign import javascript unsafe "\"reload\"" js_RequestCacheReload :: JSVal foreign import javascript unsafe "\"no-cache\"" js_RequestCacheNoCache :: JSVal foreign import javascript unsafe "\"force-cache\"" js_RequestCacheForceCache :: JSVal foreign import javascript unsafe "\"only-if-cached\"" js_RequestCacheOnlyIfCached :: JSVal data RequestRedirect = RequestRedirectFollow | RequestRedirectError | RequestRedirectManual deriving (Show, Read, Eq, Ord, Typeable) instance PToJSVal RequestRedirect where pToJSVal RequestRedirectFollow = js_RequestRedirectFollow pToJSVal RequestRedirectError = js_RequestRedirectError pToJSVal RequestRedirectManual = js_RequestRedirectManual instance ToJSVal RequestRedirect where toJSVal = return . pToJSVal instance PFromJSVal RequestRedirect where pFromJSVal x | x `js_eq` js_RequestRedirectFollow = RequestRedirectFollow pFromJSVal x | x `js_eq` js_RequestRedirectError = RequestRedirectError pFromJSVal x | x `js_eq` js_RequestRedirectManual = RequestRedirectManual instance FromJSVal RequestRedirect where fromJSValUnchecked = return . pFromJSVal fromJSVal = return . pFromJSVal foreign import javascript unsafe "\"follow\"" js_RequestRedirectFollow :: JSVal foreign import javascript unsafe "\"error\"" js_RequestRedirectError :: JSVal foreign import javascript unsafe "\"manual\"" js_RequestRedirectManual :: JSVal data ReferrerPolicy = ReferrerPolicy | ReferrerPolicyNoReferrer | ReferrerPolicyNoReferrerWhenDowngrade | ReferrerPolicyOrigin | ReferrerPolicyOriginWhenCrossOrigin | ReferrerPolicyUnsafeUrl deriving (Show, Read, Eq, Ord, Typeable) instance PToJSVal ReferrerPolicy where pToJSVal ReferrerPolicy = js_ReferrerPolicy pToJSVal ReferrerPolicyNoReferrer = js_ReferrerPolicyNoReferrer pToJSVal ReferrerPolicyNoReferrerWhenDowngrade = js_ReferrerPolicyNoReferrerWhenDowngrade pToJSVal ReferrerPolicyOrigin = js_ReferrerPolicyOrigin pToJSVal ReferrerPolicyOriginWhenCrossOrigin = js_ReferrerPolicyOriginWhenCrossOrigin pToJSVal ReferrerPolicyUnsafeUrl = js_ReferrerPolicyUnsafeUrl instance ToJSVal ReferrerPolicy where toJSVal = return . pToJSVal instance PFromJSVal ReferrerPolicy where pFromJSVal x | x `js_eq` js_ReferrerPolicy = ReferrerPolicy pFromJSVal x | x `js_eq` js_ReferrerPolicyNoReferrer = ReferrerPolicyNoReferrer pFromJSVal x | x `js_eq` js_ReferrerPolicyNoReferrerWhenDowngrade = ReferrerPolicyNoReferrerWhenDowngrade pFromJSVal x | x `js_eq` js_ReferrerPolicyOrigin = ReferrerPolicyOrigin pFromJSVal x | x `js_eq` js_ReferrerPolicyOriginWhenCrossOrigin = ReferrerPolicyOriginWhenCrossOrigin pFromJSVal x | x `js_eq` js_ReferrerPolicyUnsafeUrl = ReferrerPolicyUnsafeUrl instance FromJSVal ReferrerPolicy where fromJSValUnchecked = return . pFromJSVal fromJSVal = return . pFromJSVal foreign import javascript unsafe "\"\"" js_ReferrerPolicy :: JSVal foreign import javascript unsafe "\"no-referrer\"" js_ReferrerPolicyNoReferrer :: JSVal foreign import javascript unsafe "\"no-referrer-when-downgrade\"" js_ReferrerPolicyNoReferrerWhenDowngrade :: JSVal foreign import javascript unsafe "\"origin\"" js_ReferrerPolicyOrigin :: JSVal foreign import javascript unsafe "\"origin-when-cross-origin\"" js_ReferrerPolicyOriginWhenCrossOrigin :: JSVal foreign import javascript unsafe "\"unsafe-url\"" js_ReferrerPolicyUnsafeUrl :: JSVal data ResponseType = ResponseTypeBasic | ResponseTypeCors | ResponseTypeDefault | ResponseTypeError | ResponseTypeOpaque | ResponseTypeOpaqueredirect deriving (Show, Read, Eq, Ord, Typeable) instance PToJSVal ResponseType where pToJSVal ResponseTypeBasic = js_ResponseTypeBasic pToJSVal ResponseTypeCors = js_ResponseTypeCors pToJSVal ResponseTypeDefault = js_ResponseTypeDefault pToJSVal ResponseTypeError = js_ResponseTypeError pToJSVal ResponseTypeOpaque = js_ResponseTypeOpaque pToJSVal ResponseTypeOpaqueredirect = js_ResponseTypeOpaqueredirect instance ToJSVal ResponseType where toJSVal = return . pToJSVal instance PFromJSVal ResponseType where pFromJSVal x | x `js_eq` js_ResponseTypeBasic = ResponseTypeBasic pFromJSVal x | x `js_eq` js_ResponseTypeCors = ResponseTypeCors pFromJSVal x | x `js_eq` js_ResponseTypeDefault = ResponseTypeDefault pFromJSVal x | x `js_eq` js_ResponseTypeError = ResponseTypeError pFromJSVal x | x `js_eq` js_ResponseTypeOpaque = ResponseTypeOpaque pFromJSVal x | x `js_eq` js_ResponseTypeOpaqueredirect = ResponseTypeOpaqueredirect instance FromJSVal ResponseType where fromJSValUnchecked = return . pFromJSVal fromJSVal = return . pFromJSVal foreign import javascript unsafe "\"basic\"" js_ResponseTypeBasic :: JSVal foreign import javascript unsafe "\"cors\"" js_ResponseTypeCors :: JSVal foreign import javascript unsafe "\"default\"" js_ResponseTypeDefault :: JSVal foreign import javascript unsafe "\"error\"" js_ResponseTypeError :: JSVal foreign import javascript unsafe "\"opaque\"" js_ResponseTypeOpaque :: JSVal foreign import javascript unsafe "\"opaqueredirect\"" js_ResponseTypeOpaqueredirect :: JSVal data IDBCursorDirection = IDBCursorDirectionNext | IDBCursorDirectionNextunique | IDBCursorDirectionPrev | IDBCursorDirectionPrevunique deriving (Show, Read, Eq, Ord, Typeable) instance PToJSVal IDBCursorDirection where pToJSVal IDBCursorDirectionNext = js_IDBCursorDirectionNext pToJSVal IDBCursorDirectionNextunique = js_IDBCursorDirectionNextunique pToJSVal IDBCursorDirectionPrev = js_IDBCursorDirectionPrev pToJSVal IDBCursorDirectionPrevunique = js_IDBCursorDirectionPrevunique instance ToJSVal IDBCursorDirection where toJSVal = return . pToJSVal instance PFromJSVal IDBCursorDirection where pFromJSVal x | x `js_eq` js_IDBCursorDirectionNext = IDBCursorDirectionNext pFromJSVal x | x `js_eq` js_IDBCursorDirectionNextunique = IDBCursorDirectionNextunique pFromJSVal x | x `js_eq` js_IDBCursorDirectionPrev = IDBCursorDirectionPrev pFromJSVal x | x `js_eq` js_IDBCursorDirectionPrevunique = IDBCursorDirectionPrevunique instance FromJSVal IDBCursorDirection where fromJSValUnchecked = return . pFromJSVal fromJSVal = return . pFromJSVal foreign import javascript unsafe "\"next\"" js_IDBCursorDirectionNext :: JSVal foreign import javascript unsafe "\"nextunique\"" js_IDBCursorDirectionNextunique :: JSVal foreign import javascript unsafe "\"prev\"" js_IDBCursorDirectionPrev :: JSVal foreign import javascript unsafe "\"prevunique\"" js_IDBCursorDirectionPrevunique :: JSVal data IDBRequestReadyState = IDBRequestReadyStatePending | IDBRequestReadyStateDone deriving (Show, Read, Eq, Ord, Typeable) instance PToJSVal IDBRequestReadyState where pToJSVal IDBRequestReadyStatePending = js_IDBRequestReadyStatePending pToJSVal IDBRequestReadyStateDone = js_IDBRequestReadyStateDone instance ToJSVal IDBRequestReadyState where toJSVal = return . pToJSVal instance PFromJSVal IDBRequestReadyState where pFromJSVal x | x `js_eq` js_IDBRequestReadyStatePending = IDBRequestReadyStatePending pFromJSVal x | x `js_eq` js_IDBRequestReadyStateDone = IDBRequestReadyStateDone instance FromJSVal IDBRequestReadyState where fromJSValUnchecked = return . pFromJSVal fromJSVal = return . pFromJSVal foreign import javascript unsafe "\"pending\"" js_IDBRequestReadyStatePending :: JSVal foreign import javascript unsafe "\"done\"" js_IDBRequestReadyStateDone :: JSVal data IDBTransactionMode = IDBTransactionModeReadonly | IDBTransactionModeReadwrite | IDBTransactionModeVersionchange deriving (Show, Read, Eq, Ord, Typeable) instance PToJSVal IDBTransactionMode where pToJSVal IDBTransactionModeReadonly = js_IDBTransactionModeReadonly pToJSVal IDBTransactionModeReadwrite = js_IDBTransactionModeReadwrite pToJSVal IDBTransactionModeVersionchange = js_IDBTransactionModeVersionchange instance ToJSVal IDBTransactionMode where toJSVal = return . pToJSVal instance PFromJSVal IDBTransactionMode where pFromJSVal x | x `js_eq` js_IDBTransactionModeReadonly = IDBTransactionModeReadonly pFromJSVal x | x `js_eq` js_IDBTransactionModeReadwrite = IDBTransactionModeReadwrite pFromJSVal x | x `js_eq` js_IDBTransactionModeVersionchange = IDBTransactionModeVersionchange instance FromJSVal IDBTransactionMode where fromJSValUnchecked = return . pFromJSVal fromJSVal = return . pFromJSVal foreign import javascript unsafe "\"readonly\"" js_IDBTransactionModeReadonly :: JSVal foreign import javascript unsafe "\"readwrite\"" js_IDBTransactionModeReadwrite :: JSVal foreign import javascript unsafe "\"versionchange\"" js_IDBTransactionModeVersionchange :: JSVal data DeviceType = DeviceTypeNone | DeviceTypeAirplay | DeviceTypeTvout deriving (Show, Read, Eq, Ord, Typeable) instance PToJSVal DeviceType where pToJSVal DeviceTypeNone = js_DeviceTypeNone pToJSVal DeviceTypeAirplay = js_DeviceTypeAirplay pToJSVal DeviceTypeTvout = js_DeviceTypeTvout instance ToJSVal DeviceType where toJSVal = return . pToJSVal instance PFromJSVal DeviceType where pFromJSVal x | x `js_eq` js_DeviceTypeNone = DeviceTypeNone pFromJSVal x | x `js_eq` js_DeviceTypeAirplay = DeviceTypeAirplay pFromJSVal x | x `js_eq` js_DeviceTypeTvout = DeviceTypeTvout instance FromJSVal DeviceType where fromJSValUnchecked = return . pFromJSVal fromJSVal = return . pFromJSVal foreign import javascript unsafe "\"none\"" js_DeviceTypeNone :: JSVal foreign import javascript unsafe "\"airplay\"" js_DeviceTypeAirplay :: JSVal foreign import javascript unsafe "\"tvout\"" js_DeviceTypeTvout :: JSVal data MediaSessionKind = MediaSessionKindContent | MediaSessionKindTransient | MediaSessionKindTransientSolo | MediaSessionKindAmbient deriving (Show, Read, Eq, Ord, Typeable) instance PToJSVal MediaSessionKind where pToJSVal MediaSessionKindContent = js_MediaSessionKindContent pToJSVal MediaSessionKindTransient = js_MediaSessionKindTransient pToJSVal MediaSessionKindTransientSolo = js_MediaSessionKindTransientSolo pToJSVal MediaSessionKindAmbient = js_MediaSessionKindAmbient instance ToJSVal MediaSessionKind where toJSVal = return . pToJSVal instance PFromJSVal MediaSessionKind where pFromJSVal x | x `js_eq` js_MediaSessionKindContent = MediaSessionKindContent pFromJSVal x | x `js_eq` js_MediaSessionKindTransient = MediaSessionKindTransient pFromJSVal x | x `js_eq` js_MediaSessionKindTransientSolo = MediaSessionKindTransientSolo pFromJSVal x | x `js_eq` js_MediaSessionKindAmbient = MediaSessionKindAmbient instance FromJSVal MediaSessionKind where fromJSValUnchecked = return . pFromJSVal fromJSVal = return . pFromJSVal foreign import javascript unsafe "\"content\"" js_MediaSessionKindContent :: JSVal foreign import javascript unsafe "\"transient\"" js_MediaSessionKindTransient :: JSVal foreign import javascript unsafe "\"transient-solo\"" js_MediaSessionKindTransientSolo :: JSVal foreign import javascript unsafe "\"ambient\"" js_MediaSessionKindAmbient :: JSVal data EndOfStreamError = EndOfStreamErrorNetwork | EndOfStreamErrorDecode deriving (Show, Read, Eq, Ord, Typeable) instance PToJSVal EndOfStreamError where pToJSVal EndOfStreamErrorNetwork = js_EndOfStreamErrorNetwork pToJSVal EndOfStreamErrorDecode = js_EndOfStreamErrorDecode instance ToJSVal EndOfStreamError where toJSVal = return . pToJSVal instance PFromJSVal EndOfStreamError where pFromJSVal x | x `js_eq` js_EndOfStreamErrorNetwork = EndOfStreamErrorNetwork pFromJSVal x | x `js_eq` js_EndOfStreamErrorDecode = EndOfStreamErrorDecode instance FromJSVal EndOfStreamError where fromJSValUnchecked = return . pFromJSVal fromJSVal = return . pFromJSVal foreign import javascript unsafe "\"network\"" js_EndOfStreamErrorNetwork :: JSVal foreign import javascript unsafe "\"decode\"" js_EndOfStreamErrorDecode :: JSVal data ReadyState = ReadyStateClosed | ReadyStateOpen | ReadyStateEnded deriving (Show, Read, Eq, Ord, Typeable) instance PToJSVal ReadyState where pToJSVal ReadyStateClosed = js_ReadyStateClosed pToJSVal ReadyStateOpen = js_ReadyStateOpen pToJSVal ReadyStateEnded = js_ReadyStateEnded instance ToJSVal ReadyState where toJSVal = return . pToJSVal instance PFromJSVal ReadyState where pFromJSVal x | x `js_eq` js_ReadyStateClosed = ReadyStateClosed pFromJSVal x | x `js_eq` js_ReadyStateOpen = ReadyStateOpen pFromJSVal x | x `js_eq` js_ReadyStateEnded = ReadyStateEnded instance FromJSVal ReadyState where fromJSValUnchecked = return . pFromJSVal fromJSVal = return . pFromJSVal foreign import javascript unsafe "\"closed\"" js_ReadyStateClosed :: JSVal foreign import javascript unsafe "\"open\"" js_ReadyStateOpen :: JSVal foreign import javascript unsafe "\"ended\"" js_ReadyStateEnded :: JSVal data AppendMode = AppendModeSegments | AppendModeSequence deriving (Show, Read, Eq, Ord, Typeable) instance PToJSVal AppendMode where pToJSVal AppendModeSegments = js_AppendModeSegments pToJSVal AppendModeSequence = js_AppendModeSequence instance ToJSVal AppendMode where toJSVal = return . pToJSVal instance PFromJSVal AppendMode where pFromJSVal x | x `js_eq` js_AppendModeSegments = AppendModeSegments pFromJSVal x | x `js_eq` js_AppendModeSequence = AppendModeSequence instance FromJSVal AppendMode where fromJSValUnchecked = return . pFromJSVal fromJSVal = return . pFromJSVal foreign import javascript unsafe "\"segments\"" js_AppendModeSegments :: JSVal foreign import javascript unsafe "\"sequence\"" js_AppendModeSequence :: JSVal data MediaDeviceKind = MediaDeviceKindAudioinput | MediaDeviceKindAudiooutput | MediaDeviceKindVideoinput deriving (Show, Read, Eq, Ord, Typeable) instance PToJSVal MediaDeviceKind where pToJSVal MediaDeviceKindAudioinput = js_MediaDeviceKindAudioinput pToJSVal MediaDeviceKindAudiooutput = js_MediaDeviceKindAudiooutput pToJSVal MediaDeviceKindVideoinput = js_MediaDeviceKindVideoinput instance ToJSVal MediaDeviceKind where toJSVal = return . pToJSVal instance PFromJSVal MediaDeviceKind where pFromJSVal x | x `js_eq` js_MediaDeviceKindAudioinput = MediaDeviceKindAudioinput pFromJSVal x | x `js_eq` js_MediaDeviceKindAudiooutput = MediaDeviceKindAudiooutput pFromJSVal x | x `js_eq` js_MediaDeviceKindVideoinput = MediaDeviceKindVideoinput instance FromJSVal MediaDeviceKind where fromJSValUnchecked = return . pFromJSVal fromJSVal = return . pFromJSVal foreign import javascript unsafe "\"audioinput\"" js_MediaDeviceKindAudioinput :: JSVal foreign import javascript unsafe "\"audiooutput\"" js_MediaDeviceKindAudiooutput :: JSVal foreign import javascript unsafe "\"videoinput\"" js_MediaDeviceKindVideoinput :: JSVal data MediaStreamTrackState = MediaStreamTrackStateLive | MediaStreamTrackStateEnded deriving (Show, Read, Eq, Ord, Typeable) instance PToJSVal MediaStreamTrackState where pToJSVal MediaStreamTrackStateLive = js_MediaStreamTrackStateLive pToJSVal MediaStreamTrackStateEnded = js_MediaStreamTrackStateEnded instance ToJSVal MediaStreamTrackState where toJSVal = return . pToJSVal instance PFromJSVal MediaStreamTrackState where pFromJSVal x | x `js_eq` js_MediaStreamTrackStateLive = MediaStreamTrackStateLive pFromJSVal x | x `js_eq` js_MediaStreamTrackStateEnded = MediaStreamTrackStateEnded instance FromJSVal MediaStreamTrackState where fromJSValUnchecked = return . pFromJSVal fromJSVal = return . pFromJSVal foreign import javascript unsafe "\"live\"" js_MediaStreamTrackStateLive :: JSVal foreign import javascript unsafe "\"ended\"" js_MediaStreamTrackStateEnded :: JSVal data RTCIceTransportPolicy = RTCIceTransportPolicyRelay | RTCIceTransportPolicyAll deriving (Show, Read, Eq, Ord, Typeable) instance PToJSVal RTCIceTransportPolicy where pToJSVal RTCIceTransportPolicyRelay = js_RTCIceTransportPolicyRelay pToJSVal RTCIceTransportPolicyAll = js_RTCIceTransportPolicyAll instance ToJSVal RTCIceTransportPolicy where toJSVal = return . pToJSVal instance PFromJSVal RTCIceTransportPolicy where pFromJSVal x | x `js_eq` js_RTCIceTransportPolicyRelay = RTCIceTransportPolicyRelay pFromJSVal x | x `js_eq` js_RTCIceTransportPolicyAll = RTCIceTransportPolicyAll instance FromJSVal RTCIceTransportPolicy where fromJSValUnchecked = return . pFromJSVal fromJSVal = return . pFromJSVal foreign import javascript unsafe "\"relay\"" js_RTCIceTransportPolicyRelay :: JSVal foreign import javascript unsafe "\"all\"" js_RTCIceTransportPolicyAll :: JSVal data RTCBundlePolicy = RTCBundlePolicyBalanced | RTCBundlePolicyMaxCompat | RTCBundlePolicyMaxBundle deriving (Show, Read, Eq, Ord, Typeable) instance PToJSVal RTCBundlePolicy where pToJSVal RTCBundlePolicyBalanced = js_RTCBundlePolicyBalanced pToJSVal RTCBundlePolicyMaxCompat = js_RTCBundlePolicyMaxCompat pToJSVal RTCBundlePolicyMaxBundle = js_RTCBundlePolicyMaxBundle instance ToJSVal RTCBundlePolicy where toJSVal = return . pToJSVal instance PFromJSVal RTCBundlePolicy where pFromJSVal x | x `js_eq` js_RTCBundlePolicyBalanced = RTCBundlePolicyBalanced pFromJSVal x | x `js_eq` js_RTCBundlePolicyMaxCompat = RTCBundlePolicyMaxCompat pFromJSVal x | x `js_eq` js_RTCBundlePolicyMaxBundle = RTCBundlePolicyMaxBundle instance FromJSVal RTCBundlePolicy where fromJSValUnchecked = return . pFromJSVal fromJSVal = return . pFromJSVal foreign import javascript unsafe "\"balanced\"" js_RTCBundlePolicyBalanced :: JSVal foreign import javascript unsafe "\"max-compat\"" js_RTCBundlePolicyMaxCompat :: JSVal foreign import javascript unsafe "\"max-bundle\"" js_RTCBundlePolicyMaxBundle :: JSVal data RTCDataChannelState = RTCDataChannelStateConnecting | RTCDataChannelStateOpen | RTCDataChannelStateClosing | RTCDataChannelStateClosed deriving (Show, Read, Eq, Ord, Typeable) instance PToJSVal RTCDataChannelState where pToJSVal RTCDataChannelStateConnecting = js_RTCDataChannelStateConnecting pToJSVal RTCDataChannelStateOpen = js_RTCDataChannelStateOpen pToJSVal RTCDataChannelStateClosing = js_RTCDataChannelStateClosing pToJSVal RTCDataChannelStateClosed = js_RTCDataChannelStateClosed instance ToJSVal RTCDataChannelState where toJSVal = return . pToJSVal instance PFromJSVal RTCDataChannelState where pFromJSVal x | x `js_eq` js_RTCDataChannelStateConnecting = RTCDataChannelStateConnecting pFromJSVal x | x `js_eq` js_RTCDataChannelStateOpen = RTCDataChannelStateOpen pFromJSVal x | x `js_eq` js_RTCDataChannelStateClosing = RTCDataChannelStateClosing pFromJSVal x | x `js_eq` js_RTCDataChannelStateClosed = RTCDataChannelStateClosed instance FromJSVal RTCDataChannelState where fromJSValUnchecked = return . pFromJSVal fromJSVal = return . pFromJSVal foreign import javascript unsafe "\"connecting\"" js_RTCDataChannelStateConnecting :: JSVal foreign import javascript unsafe "\"open\"" js_RTCDataChannelStateOpen :: JSVal foreign import javascript unsafe "\"closing\"" js_RTCDataChannelStateClosing :: JSVal foreign import javascript unsafe "\"closed\"" js_RTCDataChannelStateClosed :: JSVal data RTCIceConnectionState = RTCIceConnectionStateNew | RTCIceConnectionStateChecking | RTCIceConnectionStateConnected | RTCIceConnectionStateCompleted | RTCIceConnectionStateFailed | RTCIceConnectionStateDisconnected | RTCIceConnectionStateClosed deriving (Show, Read, Eq, Ord, Typeable) instance PToJSVal RTCIceConnectionState where pToJSVal RTCIceConnectionStateNew = js_RTCIceConnectionStateNew pToJSVal RTCIceConnectionStateChecking = js_RTCIceConnectionStateChecking pToJSVal RTCIceConnectionStateConnected = js_RTCIceConnectionStateConnected pToJSVal RTCIceConnectionStateCompleted = js_RTCIceConnectionStateCompleted pToJSVal RTCIceConnectionStateFailed = js_RTCIceConnectionStateFailed pToJSVal RTCIceConnectionStateDisconnected = js_RTCIceConnectionStateDisconnected pToJSVal RTCIceConnectionStateClosed = js_RTCIceConnectionStateClosed instance ToJSVal RTCIceConnectionState where toJSVal = return . pToJSVal instance PFromJSVal RTCIceConnectionState where pFromJSVal x | x `js_eq` js_RTCIceConnectionStateNew = RTCIceConnectionStateNew pFromJSVal x | x `js_eq` js_RTCIceConnectionStateChecking = RTCIceConnectionStateChecking pFromJSVal x | x `js_eq` js_RTCIceConnectionStateConnected = RTCIceConnectionStateConnected pFromJSVal x | x `js_eq` js_RTCIceConnectionStateCompleted = RTCIceConnectionStateCompleted pFromJSVal x | x `js_eq` js_RTCIceConnectionStateFailed = RTCIceConnectionStateFailed pFromJSVal x | x `js_eq` js_RTCIceConnectionStateDisconnected = RTCIceConnectionStateDisconnected pFromJSVal x | x `js_eq` js_RTCIceConnectionStateClosed = RTCIceConnectionStateClosed instance FromJSVal RTCIceConnectionState where fromJSValUnchecked = return . pFromJSVal fromJSVal = return . pFromJSVal foreign import javascript unsafe "\"new\"" js_RTCIceConnectionStateNew :: JSVal foreign import javascript unsafe "\"checking\"" js_RTCIceConnectionStateChecking :: JSVal foreign import javascript unsafe "\"connected\"" js_RTCIceConnectionStateConnected :: JSVal foreign import javascript unsafe "\"completed\"" js_RTCIceConnectionStateCompleted :: JSVal foreign import javascript unsafe "\"failed\"" js_RTCIceConnectionStateFailed :: JSVal foreign import javascript unsafe "\"disconnected\"" js_RTCIceConnectionStateDisconnected :: JSVal foreign import javascript unsafe "\"closed\"" js_RTCIceConnectionStateClosed :: JSVal data RTCIceGatheringState = RTCIceGatheringStateNew | RTCIceGatheringStateGathering | RTCIceGatheringStateComplete deriving (Show, Read, Eq, Ord, Typeable) instance PToJSVal RTCIceGatheringState where pToJSVal RTCIceGatheringStateNew = js_RTCIceGatheringStateNew pToJSVal RTCIceGatheringStateGathering = js_RTCIceGatheringStateGathering pToJSVal RTCIceGatheringStateComplete = js_RTCIceGatheringStateComplete instance ToJSVal RTCIceGatheringState where toJSVal = return . pToJSVal instance PFromJSVal RTCIceGatheringState where pFromJSVal x | x `js_eq` js_RTCIceGatheringStateNew = RTCIceGatheringStateNew pFromJSVal x | x `js_eq` js_RTCIceGatheringStateGathering = RTCIceGatheringStateGathering pFromJSVal x | x `js_eq` js_RTCIceGatheringStateComplete = RTCIceGatheringStateComplete instance FromJSVal RTCIceGatheringState where fromJSValUnchecked = return . pFromJSVal fromJSVal = return . pFromJSVal foreign import javascript unsafe "\"new\"" js_RTCIceGatheringStateNew :: JSVal foreign import javascript unsafe "\"gathering\"" js_RTCIceGatheringStateGathering :: JSVal foreign import javascript unsafe "\"complete\"" js_RTCIceGatheringStateComplete :: JSVal data RTCIceTransportState = RTCIceTransportStateNew | RTCIceTransportStateChecking | RTCIceTransportStateConnected | RTCIceTransportStateCompleted | RTCIceTransportStateFailed | RTCIceTransportStateDisconnected | RTCIceTransportStateClosed deriving (Show, Read, Eq, Ord, Typeable) instance PToJSVal RTCIceTransportState where pToJSVal RTCIceTransportStateNew = js_RTCIceTransportStateNew pToJSVal RTCIceTransportStateChecking = js_RTCIceTransportStateChecking pToJSVal RTCIceTransportStateConnected = js_RTCIceTransportStateConnected pToJSVal RTCIceTransportStateCompleted = js_RTCIceTransportStateCompleted pToJSVal RTCIceTransportStateFailed = js_RTCIceTransportStateFailed pToJSVal RTCIceTransportStateDisconnected = js_RTCIceTransportStateDisconnected pToJSVal RTCIceTransportStateClosed = js_RTCIceTransportStateClosed instance ToJSVal RTCIceTransportState where toJSVal = return . pToJSVal instance PFromJSVal RTCIceTransportState where pFromJSVal x | x `js_eq` js_RTCIceTransportStateNew = RTCIceTransportStateNew pFromJSVal x | x `js_eq` js_RTCIceTransportStateChecking = RTCIceTransportStateChecking pFromJSVal x | x `js_eq` js_RTCIceTransportStateConnected = RTCIceTransportStateConnected pFromJSVal x | x `js_eq` js_RTCIceTransportStateCompleted = RTCIceTransportStateCompleted pFromJSVal x | x `js_eq` js_RTCIceTransportStateFailed = RTCIceTransportStateFailed pFromJSVal x | x `js_eq` js_RTCIceTransportStateDisconnected = RTCIceTransportStateDisconnected pFromJSVal x | x `js_eq` js_RTCIceTransportStateClosed = RTCIceTransportStateClosed instance FromJSVal RTCIceTransportState where fromJSValUnchecked = return . pFromJSVal fromJSVal = return . pFromJSVal foreign import javascript unsafe "\"new\"" js_RTCIceTransportStateNew :: JSVal foreign import javascript unsafe "\"checking\"" js_RTCIceTransportStateChecking :: JSVal foreign import javascript unsafe "\"connected\"" js_RTCIceTransportStateConnected :: JSVal foreign import javascript unsafe "\"completed\"" js_RTCIceTransportStateCompleted :: JSVal foreign import javascript unsafe "\"failed\"" js_RTCIceTransportStateFailed :: JSVal foreign import javascript unsafe "\"disconnected\"" js_RTCIceTransportStateDisconnected :: JSVal foreign import javascript unsafe "\"closed\"" js_RTCIceTransportStateClosed :: JSVal data RTCPeerConnectionState = RTCPeerConnectionStateNew | RTCPeerConnectionStateConnecting | RTCPeerConnectionStateConnected | RTCPeerConnectionStateDisconnected | RTCPeerConnectionStateFailed | RTCPeerConnectionStateClosed deriving (Show, Read, Eq, Ord, Typeable) instance PToJSVal RTCPeerConnectionState where pToJSVal RTCPeerConnectionStateNew = js_RTCPeerConnectionStateNew pToJSVal RTCPeerConnectionStateConnecting = js_RTCPeerConnectionStateConnecting pToJSVal RTCPeerConnectionStateConnected = js_RTCPeerConnectionStateConnected pToJSVal RTCPeerConnectionStateDisconnected = js_RTCPeerConnectionStateDisconnected pToJSVal RTCPeerConnectionStateFailed = js_RTCPeerConnectionStateFailed pToJSVal RTCPeerConnectionStateClosed = js_RTCPeerConnectionStateClosed instance ToJSVal RTCPeerConnectionState where toJSVal = return . pToJSVal instance PFromJSVal RTCPeerConnectionState where pFromJSVal x | x `js_eq` js_RTCPeerConnectionStateNew = RTCPeerConnectionStateNew pFromJSVal x | x `js_eq` js_RTCPeerConnectionStateConnecting = RTCPeerConnectionStateConnecting pFromJSVal x | x `js_eq` js_RTCPeerConnectionStateConnected = RTCPeerConnectionStateConnected pFromJSVal x | x `js_eq` js_RTCPeerConnectionStateDisconnected = RTCPeerConnectionStateDisconnected pFromJSVal x | x `js_eq` js_RTCPeerConnectionStateFailed = RTCPeerConnectionStateFailed pFromJSVal x | x `js_eq` js_RTCPeerConnectionStateClosed = RTCPeerConnectionStateClosed instance FromJSVal RTCPeerConnectionState where fromJSValUnchecked = return . pFromJSVal fromJSVal = return . pFromJSVal foreign import javascript unsafe "\"new\"" js_RTCPeerConnectionStateNew :: JSVal foreign import javascript unsafe "\"connecting\"" js_RTCPeerConnectionStateConnecting :: JSVal foreign import javascript unsafe "\"connected\"" js_RTCPeerConnectionStateConnected :: JSVal foreign import javascript unsafe "\"disconnected\"" js_RTCPeerConnectionStateDisconnected :: JSVal foreign import javascript unsafe "\"failed\"" js_RTCPeerConnectionStateFailed :: JSVal foreign import javascript unsafe "\"closed\"" js_RTCPeerConnectionStateClosed :: JSVal data RTCDegradationPreference = RTCDegradationPreferenceMaintainFramerate | RTCDegradationPreferenceMaintainResolution | RTCDegradationPreferenceBalanced deriving (Show, Read, Eq, Ord, Typeable) instance PToJSVal RTCDegradationPreference where pToJSVal RTCDegradationPreferenceMaintainFramerate = js_RTCDegradationPreferenceMaintainFramerate pToJSVal RTCDegradationPreferenceMaintainResolution = js_RTCDegradationPreferenceMaintainResolution pToJSVal RTCDegradationPreferenceBalanced = js_RTCDegradationPreferenceBalanced instance ToJSVal RTCDegradationPreference where toJSVal = return . pToJSVal instance PFromJSVal RTCDegradationPreference where pFromJSVal x | x `js_eq` js_RTCDegradationPreferenceMaintainFramerate = RTCDegradationPreferenceMaintainFramerate pFromJSVal x | x `js_eq` js_RTCDegradationPreferenceMaintainResolution = RTCDegradationPreferenceMaintainResolution pFromJSVal x | x `js_eq` js_RTCDegradationPreferenceBalanced = RTCDegradationPreferenceBalanced instance FromJSVal RTCDegradationPreference where fromJSValUnchecked = return . pFromJSVal fromJSVal = return . pFromJSVal foreign import javascript unsafe "\"maintain-framerate\"" js_RTCDegradationPreferenceMaintainFramerate :: JSVal foreign import javascript unsafe "\"maintain-resolution\"" js_RTCDegradationPreferenceMaintainResolution :: JSVal foreign import javascript unsafe "\"balanced\"" js_RTCDegradationPreferenceBalanced :: JSVal data RTCDtxStatus = RTCDtxStatusDisabled | RTCDtxStatusEnabled deriving (Show, Read, Eq, Ord, Typeable) instance PToJSVal RTCDtxStatus where pToJSVal RTCDtxStatusDisabled = js_RTCDtxStatusDisabled pToJSVal RTCDtxStatusEnabled = js_RTCDtxStatusEnabled instance ToJSVal RTCDtxStatus where toJSVal = return . pToJSVal instance PFromJSVal RTCDtxStatus where pFromJSVal x | x `js_eq` js_RTCDtxStatusDisabled = RTCDtxStatusDisabled pFromJSVal x | x `js_eq` js_RTCDtxStatusEnabled = RTCDtxStatusEnabled instance FromJSVal RTCDtxStatus where fromJSValUnchecked = return . pFromJSVal fromJSVal = return . pFromJSVal foreign import javascript unsafe "\"disabled\"" js_RTCDtxStatusDisabled :: JSVal foreign import javascript unsafe "\"enabled\"" js_RTCDtxStatusEnabled :: JSVal data RTCPriorityType = RTCPriorityTypeVeryLow | RTCPriorityTypeLow | RTCPriorityTypeMedium | RTCPriorityTypeHigh deriving (Show, Read, Eq, Ord, Typeable) instance PToJSVal RTCPriorityType where pToJSVal RTCPriorityTypeVeryLow = js_RTCPriorityTypeVeryLow pToJSVal RTCPriorityTypeLow = js_RTCPriorityTypeLow pToJSVal RTCPriorityTypeMedium = js_RTCPriorityTypeMedium pToJSVal RTCPriorityTypeHigh = js_RTCPriorityTypeHigh instance ToJSVal RTCPriorityType where toJSVal = return . pToJSVal instance PFromJSVal RTCPriorityType where pFromJSVal x | x `js_eq` js_RTCPriorityTypeVeryLow = RTCPriorityTypeVeryLow pFromJSVal x | x `js_eq` js_RTCPriorityTypeLow = RTCPriorityTypeLow pFromJSVal x | x `js_eq` js_RTCPriorityTypeMedium = RTCPriorityTypeMedium pFromJSVal x | x `js_eq` js_RTCPriorityTypeHigh = RTCPriorityTypeHigh instance FromJSVal RTCPriorityType where fromJSValUnchecked = return . pFromJSVal fromJSVal = return . pFromJSVal foreign import javascript unsafe "\"very-low\"" js_RTCPriorityTypeVeryLow :: JSVal foreign import javascript unsafe "\"low\"" js_RTCPriorityTypeLow :: JSVal foreign import javascript unsafe "\"medium\"" js_RTCPriorityTypeMedium :: JSVal foreign import javascript unsafe "\"high\"" js_RTCPriorityTypeHigh :: JSVal data RTCRtpTransceiverDirection = RTCRtpTransceiverDirectionSendrecv | RTCRtpTransceiverDirectionSendonly | RTCRtpTransceiverDirectionRecvonly | RTCRtpTransceiverDirectionInactive deriving (Show, Read, Eq, Ord, Typeable) instance PToJSVal RTCRtpTransceiverDirection where pToJSVal RTCRtpTransceiverDirectionSendrecv = js_RTCRtpTransceiverDirectionSendrecv pToJSVal RTCRtpTransceiverDirectionSendonly = js_RTCRtpTransceiverDirectionSendonly pToJSVal RTCRtpTransceiverDirectionRecvonly = js_RTCRtpTransceiverDirectionRecvonly pToJSVal RTCRtpTransceiverDirectionInactive = js_RTCRtpTransceiverDirectionInactive instance ToJSVal RTCRtpTransceiverDirection where toJSVal = return . pToJSVal instance PFromJSVal RTCRtpTransceiverDirection where pFromJSVal x | x `js_eq` js_RTCRtpTransceiverDirectionSendrecv = RTCRtpTransceiverDirectionSendrecv pFromJSVal x | x `js_eq` js_RTCRtpTransceiverDirectionSendonly = RTCRtpTransceiverDirectionSendonly pFromJSVal x | x `js_eq` js_RTCRtpTransceiverDirectionRecvonly = RTCRtpTransceiverDirectionRecvonly pFromJSVal x | x `js_eq` js_RTCRtpTransceiverDirectionInactive = RTCRtpTransceiverDirectionInactive instance FromJSVal RTCRtpTransceiverDirection where fromJSValUnchecked = return . pFromJSVal fromJSVal = return . pFromJSVal foreign import javascript unsafe "\"sendrecv\"" js_RTCRtpTransceiverDirectionSendrecv :: JSVal foreign import javascript unsafe "\"sendonly\"" js_RTCRtpTransceiverDirectionSendonly :: JSVal foreign import javascript unsafe "\"recvonly\"" js_RTCRtpTransceiverDirectionRecvonly :: JSVal foreign import javascript unsafe "\"inactive\"" js_RTCRtpTransceiverDirectionInactive :: JSVal data RTCSdpType = RTCSdpTypeOffer | RTCSdpTypePranswer | RTCSdpTypeAnswer | RTCSdpTypeRollback deriving (Show, Read, Eq, Ord, Typeable) instance PToJSVal RTCSdpType where pToJSVal RTCSdpTypeOffer = js_RTCSdpTypeOffer pToJSVal RTCSdpTypePranswer = js_RTCSdpTypePranswer pToJSVal RTCSdpTypeAnswer = js_RTCSdpTypeAnswer pToJSVal RTCSdpTypeRollback = js_RTCSdpTypeRollback instance ToJSVal RTCSdpType where toJSVal = return . pToJSVal instance PFromJSVal RTCSdpType where pFromJSVal x | x `js_eq` js_RTCSdpTypeOffer = RTCSdpTypeOffer pFromJSVal x | x `js_eq` js_RTCSdpTypePranswer = RTCSdpTypePranswer pFromJSVal x | x `js_eq` js_RTCSdpTypeAnswer = RTCSdpTypeAnswer pFromJSVal x | x `js_eq` js_RTCSdpTypeRollback = RTCSdpTypeRollback instance FromJSVal RTCSdpType where fromJSValUnchecked = return . pFromJSVal fromJSVal = return . pFromJSVal foreign import javascript unsafe "\"offer\"" js_RTCSdpTypeOffer :: JSVal foreign import javascript unsafe "\"pranswer\"" js_RTCSdpTypePranswer :: JSVal foreign import javascript unsafe "\"answer\"" js_RTCSdpTypeAnswer :: JSVal foreign import javascript unsafe "\"rollback\"" js_RTCSdpTypeRollback :: JSVal data RTCSignalingState = RTCSignalingStateStable | RTCSignalingStateHaveLocalOffer | RTCSignalingStateHaveRemoteOffer | RTCSignalingStateHaveLocalPranswer | RTCSignalingStateHaveRemotePranswer deriving (Show, Read, Eq, Ord, Typeable) instance PToJSVal RTCSignalingState where pToJSVal RTCSignalingStateStable = js_RTCSignalingStateStable pToJSVal RTCSignalingStateHaveLocalOffer = js_RTCSignalingStateHaveLocalOffer pToJSVal RTCSignalingStateHaveRemoteOffer = js_RTCSignalingStateHaveRemoteOffer pToJSVal RTCSignalingStateHaveLocalPranswer = js_RTCSignalingStateHaveLocalPranswer pToJSVal RTCSignalingStateHaveRemotePranswer = js_RTCSignalingStateHaveRemotePranswer instance ToJSVal RTCSignalingState where toJSVal = return . pToJSVal instance PFromJSVal RTCSignalingState where pFromJSVal x | x `js_eq` js_RTCSignalingStateStable = RTCSignalingStateStable pFromJSVal x | x `js_eq` js_RTCSignalingStateHaveLocalOffer = RTCSignalingStateHaveLocalOffer pFromJSVal x | x `js_eq` js_RTCSignalingStateHaveRemoteOffer = RTCSignalingStateHaveRemoteOffer pFromJSVal x | x `js_eq` js_RTCSignalingStateHaveLocalPranswer = RTCSignalingStateHaveLocalPranswer pFromJSVal x | x `js_eq` js_RTCSignalingStateHaveRemotePranswer = RTCSignalingStateHaveRemotePranswer instance FromJSVal RTCSignalingState where fromJSValUnchecked = return . pFromJSVal fromJSVal = return . pFromJSVal foreign import javascript unsafe "\"stable\"" js_RTCSignalingStateStable :: JSVal foreign import javascript unsafe "\"have-local-offer\"" js_RTCSignalingStateHaveLocalOffer :: JSVal foreign import javascript unsafe "\"have-remote-offer\"" js_RTCSignalingStateHaveRemoteOffer :: JSVal foreign import javascript unsafe "\"have-local-pranswer\"" js_RTCSignalingStateHaveLocalPranswer :: JSVal foreign import javascript unsafe "\"have-remote-pranswer\"" js_RTCSignalingStateHaveRemotePranswer :: JSVal data RTCStatsType = RTCStatsTypeCodec | RTCStatsTypeInboundRtp | RTCStatsTypeOutboundRtp | RTCStatsTypePeerConnection | RTCStatsTypeDataChannel | RTCStatsTypeTrack | RTCStatsTypeTransport | RTCStatsTypeCandidatePair | RTCStatsTypeLocalCandidate | RTCStatsTypeRemoteCandidate | RTCStatsTypeCertificate deriving (Show, Read, Eq, Ord, Typeable) instance PToJSVal RTCStatsType where pToJSVal RTCStatsTypeCodec = js_RTCStatsTypeCodec pToJSVal RTCStatsTypeInboundRtp = js_RTCStatsTypeInboundRtp pToJSVal RTCStatsTypeOutboundRtp = js_RTCStatsTypeOutboundRtp pToJSVal RTCStatsTypePeerConnection = js_RTCStatsTypePeerConnection pToJSVal RTCStatsTypeDataChannel = js_RTCStatsTypeDataChannel pToJSVal RTCStatsTypeTrack = js_RTCStatsTypeTrack pToJSVal RTCStatsTypeTransport = js_RTCStatsTypeTransport pToJSVal RTCStatsTypeCandidatePair = js_RTCStatsTypeCandidatePair pToJSVal RTCStatsTypeLocalCandidate = js_RTCStatsTypeLocalCandidate pToJSVal RTCStatsTypeRemoteCandidate = js_RTCStatsTypeRemoteCandidate pToJSVal RTCStatsTypeCertificate = js_RTCStatsTypeCertificate instance ToJSVal RTCStatsType where toJSVal = return . pToJSVal instance PFromJSVal RTCStatsType where pFromJSVal x | x `js_eq` js_RTCStatsTypeCodec = RTCStatsTypeCodec pFromJSVal x | x `js_eq` js_RTCStatsTypeInboundRtp = RTCStatsTypeInboundRtp pFromJSVal x | x `js_eq` js_RTCStatsTypeOutboundRtp = RTCStatsTypeOutboundRtp pFromJSVal x | x `js_eq` js_RTCStatsTypePeerConnection = RTCStatsTypePeerConnection pFromJSVal x | x `js_eq` js_RTCStatsTypeDataChannel = RTCStatsTypeDataChannel pFromJSVal x | x `js_eq` js_RTCStatsTypeTrack = RTCStatsTypeTrack pFromJSVal x | x `js_eq` js_RTCStatsTypeTransport = RTCStatsTypeTransport pFromJSVal x | x `js_eq` js_RTCStatsTypeCandidatePair = RTCStatsTypeCandidatePair pFromJSVal x | x `js_eq` js_RTCStatsTypeLocalCandidate = RTCStatsTypeLocalCandidate pFromJSVal x | x `js_eq` js_RTCStatsTypeRemoteCandidate = RTCStatsTypeRemoteCandidate pFromJSVal x | x `js_eq` js_RTCStatsTypeCertificate = RTCStatsTypeCertificate instance FromJSVal RTCStatsType where fromJSValUnchecked = return . pFromJSVal fromJSVal = return . pFromJSVal foreign import javascript unsafe "\"codec\"" js_RTCStatsTypeCodec :: JSVal foreign import javascript unsafe "\"inbound-rtp\"" js_RTCStatsTypeInboundRtp :: JSVal foreign import javascript unsafe "\"outbound-rtp\"" js_RTCStatsTypeOutboundRtp :: JSVal foreign import javascript unsafe "\"peer-connection\"" js_RTCStatsTypePeerConnection :: JSVal foreign import javascript unsafe "\"data-channel\"" js_RTCStatsTypeDataChannel :: JSVal foreign import javascript unsafe "\"track\"" js_RTCStatsTypeTrack :: JSVal foreign import javascript unsafe "\"transport\"" js_RTCStatsTypeTransport :: JSVal foreign import javascript unsafe "\"candidate-pair\"" js_RTCStatsTypeCandidatePair :: JSVal foreign import javascript unsafe "\"local-candidate\"" js_RTCStatsTypeLocalCandidate :: JSVal foreign import javascript unsafe "\"remote-candidate\"" js_RTCStatsTypeRemoteCandidate :: JSVal foreign import javascript unsafe "\"certificate\"" js_RTCStatsTypeCertificate :: JSVal data NotificationDirection = NotificationDirectionAuto | NotificationDirectionLtr | NotificationDirectionRtl deriving (Show, Read, Eq, Ord, Typeable) instance PToJSVal NotificationDirection where pToJSVal NotificationDirectionAuto = js_NotificationDirectionAuto pToJSVal NotificationDirectionLtr = js_NotificationDirectionLtr pToJSVal NotificationDirectionRtl = js_NotificationDirectionRtl instance ToJSVal NotificationDirection where toJSVal = return . pToJSVal instance PFromJSVal NotificationDirection where pFromJSVal x | x `js_eq` js_NotificationDirectionAuto = NotificationDirectionAuto pFromJSVal x | x `js_eq` js_NotificationDirectionLtr = NotificationDirectionLtr pFromJSVal x | x `js_eq` js_NotificationDirectionRtl = NotificationDirectionRtl instance FromJSVal NotificationDirection where fromJSValUnchecked = return . pFromJSVal fromJSVal = return . pFromJSVal foreign import javascript unsafe "\"auto\"" js_NotificationDirectionAuto :: JSVal foreign import javascript unsafe "\"ltr\"" js_NotificationDirectionLtr :: JSVal foreign import javascript unsafe "\"rtl\"" js_NotificationDirectionRtl :: JSVal data AudioContextState = AudioContextStateSuspended | AudioContextStateRunning | AudioContextStateInterrupted | AudioContextStateClosed deriving (Show, Read, Eq, Ord, Typeable) instance PToJSVal AudioContextState where pToJSVal AudioContextStateSuspended = js_AudioContextStateSuspended pToJSVal AudioContextStateRunning = js_AudioContextStateRunning pToJSVal AudioContextStateInterrupted = js_AudioContextStateInterrupted pToJSVal AudioContextStateClosed = js_AudioContextStateClosed instance ToJSVal AudioContextState where toJSVal = return . pToJSVal instance PFromJSVal AudioContextState where pFromJSVal x | x `js_eq` js_AudioContextStateSuspended = AudioContextStateSuspended pFromJSVal x | x `js_eq` js_AudioContextStateRunning = AudioContextStateRunning pFromJSVal x | x `js_eq` js_AudioContextStateInterrupted = AudioContextStateInterrupted pFromJSVal x | x `js_eq` js_AudioContextStateClosed = AudioContextStateClosed instance FromJSVal AudioContextState where fromJSValUnchecked = return . pFromJSVal fromJSVal = return . pFromJSVal foreign import javascript unsafe "\"suspended\"" js_AudioContextStateSuspended :: JSVal foreign import javascript unsafe "\"running\"" js_AudioContextStateRunning :: JSVal foreign import javascript unsafe "\"interrupted\"" js_AudioContextStateInterrupted :: JSVal foreign import javascript unsafe "\"closed\"" js_AudioContextStateClosed :: JSVal data BiquadFilterType = BiquadFilterTypeLowpass | BiquadFilterTypeHighpass | BiquadFilterTypeBandpass | BiquadFilterTypeLowshelf | BiquadFilterTypeHighshelf | BiquadFilterTypePeaking | BiquadFilterTypeNotch | BiquadFilterTypeAllpass deriving (Show, Read, Eq, Ord, Typeable) instance PToJSVal BiquadFilterType where pToJSVal BiquadFilterTypeLowpass = js_BiquadFilterTypeLowpass pToJSVal BiquadFilterTypeHighpass = js_BiquadFilterTypeHighpass pToJSVal BiquadFilterTypeBandpass = js_BiquadFilterTypeBandpass pToJSVal BiquadFilterTypeLowshelf = js_BiquadFilterTypeLowshelf pToJSVal BiquadFilterTypeHighshelf = js_BiquadFilterTypeHighshelf pToJSVal BiquadFilterTypePeaking = js_BiquadFilterTypePeaking pToJSVal BiquadFilterTypeNotch = js_BiquadFilterTypeNotch pToJSVal BiquadFilterTypeAllpass = js_BiquadFilterTypeAllpass instance ToJSVal BiquadFilterType where toJSVal = return . pToJSVal instance PFromJSVal BiquadFilterType where pFromJSVal x | x `js_eq` js_BiquadFilterTypeLowpass = BiquadFilterTypeLowpass pFromJSVal x | x `js_eq` js_BiquadFilterTypeHighpass = BiquadFilterTypeHighpass pFromJSVal x | x `js_eq` js_BiquadFilterTypeBandpass = BiquadFilterTypeBandpass pFromJSVal x | x `js_eq` js_BiquadFilterTypeLowshelf = BiquadFilterTypeLowshelf pFromJSVal x | x `js_eq` js_BiquadFilterTypeHighshelf = BiquadFilterTypeHighshelf pFromJSVal x | x `js_eq` js_BiquadFilterTypePeaking = BiquadFilterTypePeaking pFromJSVal x | x `js_eq` js_BiquadFilterTypeNotch = BiquadFilterTypeNotch pFromJSVal x | x `js_eq` js_BiquadFilterTypeAllpass = BiquadFilterTypeAllpass instance FromJSVal BiquadFilterType where fromJSValUnchecked = return . pFromJSVal fromJSVal = return . pFromJSVal foreign import javascript unsafe "\"lowpass\"" js_BiquadFilterTypeLowpass :: JSVal foreign import javascript unsafe "\"highpass\"" js_BiquadFilterTypeHighpass :: JSVal foreign import javascript unsafe "\"bandpass\"" js_BiquadFilterTypeBandpass :: JSVal foreign import javascript unsafe "\"lowshelf\"" js_BiquadFilterTypeLowshelf :: JSVal foreign import javascript unsafe "\"highshelf\"" js_BiquadFilterTypeHighshelf :: JSVal foreign import javascript unsafe "\"peaking\"" js_BiquadFilterTypePeaking :: JSVal foreign import javascript unsafe "\"notch\"" js_BiquadFilterTypeNotch :: JSVal foreign import javascript unsafe "\"allpass\"" js_BiquadFilterTypeAllpass :: JSVal data OscillatorType = OscillatorTypeSine | OscillatorTypeSquare | OscillatorTypeSawtooth | OscillatorTypeTriangle | OscillatorTypeCustom deriving (Show, Read, Eq, Ord, Typeable) instance PToJSVal OscillatorType where pToJSVal OscillatorTypeSine = js_OscillatorTypeSine pToJSVal OscillatorTypeSquare = js_OscillatorTypeSquare pToJSVal OscillatorTypeSawtooth = js_OscillatorTypeSawtooth pToJSVal OscillatorTypeTriangle = js_OscillatorTypeTriangle pToJSVal OscillatorTypeCustom = js_OscillatorTypeCustom instance ToJSVal OscillatorType where toJSVal = return . pToJSVal instance PFromJSVal OscillatorType where pFromJSVal x | x `js_eq` js_OscillatorTypeSine = OscillatorTypeSine pFromJSVal x | x `js_eq` js_OscillatorTypeSquare = OscillatorTypeSquare pFromJSVal x | x `js_eq` js_OscillatorTypeSawtooth = OscillatorTypeSawtooth pFromJSVal x | x `js_eq` js_OscillatorTypeTriangle = OscillatorTypeTriangle pFromJSVal x | x `js_eq` js_OscillatorTypeCustom = OscillatorTypeCustom instance FromJSVal OscillatorType where fromJSValUnchecked = return . pFromJSVal fromJSVal = return . pFromJSVal foreign import javascript unsafe "\"sine\"" js_OscillatorTypeSine :: JSVal foreign import javascript unsafe "\"square\"" js_OscillatorTypeSquare :: JSVal foreign import javascript unsafe "\"sawtooth\"" js_OscillatorTypeSawtooth :: JSVal foreign import javascript unsafe "\"triangle\"" js_OscillatorTypeTriangle :: JSVal foreign import javascript unsafe "\"custom\"" js_OscillatorTypeCustom :: JSVal data PanningModelType = PanningModelTypeEqualpower | PanningModelTypeHRTF deriving (Show, Read, Eq, Ord, Typeable) instance PToJSVal PanningModelType where pToJSVal PanningModelTypeEqualpower = js_PanningModelTypeEqualpower pToJSVal PanningModelTypeHRTF = js_PanningModelTypeHRTF instance ToJSVal PanningModelType where toJSVal = return . pToJSVal instance PFromJSVal PanningModelType where pFromJSVal x | x `js_eq` js_PanningModelTypeEqualpower = PanningModelTypeEqualpower pFromJSVal x | x `js_eq` js_PanningModelTypeHRTF = PanningModelTypeHRTF instance FromJSVal PanningModelType where fromJSValUnchecked = return . pFromJSVal fromJSVal = return . pFromJSVal foreign import javascript unsafe "\"equalpower\"" js_PanningModelTypeEqualpower :: JSVal foreign import javascript unsafe "\"HRTF\"" js_PanningModelTypeHRTF :: JSVal data DistanceModelType = DistanceModelTypeLinear | DistanceModelTypeInverse | DistanceModelTypeExponential deriving (Show, Read, Eq, Ord, Typeable) instance PToJSVal DistanceModelType where pToJSVal DistanceModelTypeLinear = js_DistanceModelTypeLinear pToJSVal DistanceModelTypeInverse = js_DistanceModelTypeInverse pToJSVal DistanceModelTypeExponential = js_DistanceModelTypeExponential instance ToJSVal DistanceModelType where toJSVal = return . pToJSVal instance PFromJSVal DistanceModelType where pFromJSVal x | x `js_eq` js_DistanceModelTypeLinear = DistanceModelTypeLinear pFromJSVal x | x `js_eq` js_DistanceModelTypeInverse = DistanceModelTypeInverse pFromJSVal x | x `js_eq` js_DistanceModelTypeExponential = DistanceModelTypeExponential instance FromJSVal DistanceModelType where fromJSValUnchecked = return . pFromJSVal fromJSVal = return . pFromJSVal foreign import javascript unsafe "\"linear\"" js_DistanceModelTypeLinear :: JSVal foreign import javascript unsafe "\"inverse\"" js_DistanceModelTypeInverse :: JSVal foreign import javascript unsafe "\"exponential\"" js_DistanceModelTypeExponential :: JSVal data OverSampleType = OverSampleTypeNone | OverSampleType2x | OverSampleType4x deriving (Show, Read, Eq, Ord, Typeable) instance PToJSVal OverSampleType where pToJSVal OverSampleTypeNone = js_OverSampleTypeNone pToJSVal OverSampleType2x = js_OverSampleType2x pToJSVal OverSampleType4x = js_OverSampleType4x instance ToJSVal OverSampleType where toJSVal = return . pToJSVal instance PFromJSVal OverSampleType where pFromJSVal x | x `js_eq` js_OverSampleTypeNone = OverSampleTypeNone pFromJSVal x | x `js_eq` js_OverSampleType2x = OverSampleType2x pFromJSVal x | x `js_eq` js_OverSampleType4x = OverSampleType4x instance FromJSVal OverSampleType where fromJSValUnchecked = return . pFromJSVal fromJSVal = return . pFromJSVal foreign import javascript unsafe "\"none\"" js_OverSampleTypeNone :: JSVal foreign import javascript unsafe "\"2x\"" js_OverSampleType2x :: JSVal foreign import javascript unsafe "\"4x\"" js_OverSampleType4x :: JSVal data ScrollRestoration = ScrollRestorationAuto | ScrollRestorationManual deriving (Show, Read, Eq, Ord, Typeable) instance PToJSVal ScrollRestoration where pToJSVal ScrollRestorationAuto = js_ScrollRestorationAuto pToJSVal ScrollRestorationManual = js_ScrollRestorationManual instance ToJSVal ScrollRestoration where toJSVal = return . pToJSVal instance PFromJSVal ScrollRestoration where pFromJSVal x | x `js_eq` js_ScrollRestorationAuto = ScrollRestorationAuto pFromJSVal x | x `js_eq` js_ScrollRestorationManual = ScrollRestorationManual instance FromJSVal ScrollRestoration where fromJSValUnchecked = return . pFromJSVal fromJSVal = return . pFromJSVal foreign import javascript unsafe "\"auto\"" js_ScrollRestorationAuto :: JSVal foreign import javascript unsafe "\"manual\"" js_ScrollRestorationManual :: JSVal data XMLHttpRequestResponseType = XMLHttpRequestResponseType | XMLHttpRequestResponseTypeArraybuffer | XMLHttpRequestResponseTypeBlob | XMLHttpRequestResponseTypeDocument | XMLHttpRequestResponseTypeJson | XMLHttpRequestResponseTypeText deriving (Show, Read, Eq, Ord, Typeable) instance PToJSVal XMLHttpRequestResponseType where pToJSVal XMLHttpRequestResponseType = js_XMLHttpRequestResponseType pToJSVal XMLHttpRequestResponseTypeArraybuffer = js_XMLHttpRequestResponseTypeArraybuffer pToJSVal XMLHttpRequestResponseTypeBlob = js_XMLHttpRequestResponseTypeBlob pToJSVal XMLHttpRequestResponseTypeDocument = js_XMLHttpRequestResponseTypeDocument pToJSVal XMLHttpRequestResponseTypeJson = js_XMLHttpRequestResponseTypeJson pToJSVal XMLHttpRequestResponseTypeText = js_XMLHttpRequestResponseTypeText instance ToJSVal XMLHttpRequestResponseType where toJSVal = return . pToJSVal instance PFromJSVal XMLHttpRequestResponseType where pFromJSVal x | x `js_eq` js_XMLHttpRequestResponseType = XMLHttpRequestResponseType pFromJSVal x | x `js_eq` js_XMLHttpRequestResponseTypeArraybuffer = XMLHttpRequestResponseTypeArraybuffer pFromJSVal x | x `js_eq` js_XMLHttpRequestResponseTypeBlob = XMLHttpRequestResponseTypeBlob pFromJSVal x | x `js_eq` js_XMLHttpRequestResponseTypeDocument = XMLHttpRequestResponseTypeDocument pFromJSVal x | x `js_eq` js_XMLHttpRequestResponseTypeJson = XMLHttpRequestResponseTypeJson pFromJSVal x | x `js_eq` js_XMLHttpRequestResponseTypeText = XMLHttpRequestResponseTypeText instance FromJSVal XMLHttpRequestResponseType where fromJSValUnchecked = return . pFromJSVal fromJSVal = return . pFromJSVal foreign import javascript unsafe "\"\"" js_XMLHttpRequestResponseType :: JSVal foreign import javascript unsafe "\"arraybuffer\"" js_XMLHttpRequestResponseTypeArraybuffer :: JSVal foreign import javascript unsafe "\"blob\"" js_XMLHttpRequestResponseTypeBlob :: JSVal foreign import javascript unsafe "\"document\"" js_XMLHttpRequestResponseTypeDocument :: JSVal foreign import javascript unsafe "\"json\"" js_XMLHttpRequestResponseTypeJson :: JSVal foreign import javascript unsafe "\"text\"" js_XMLHttpRequestResponseTypeText :: JSVal