purescript-puppeteer/src/Puppeteer.Browser.Permission.purs

60 lines
1.8 KiB
Haskell
Raw Normal View History

2023-09-29 05:14:09 +00:00
module Puppeteer.Browser.Permission (Permission(..), preparePermission) where
import Prelude
import Data.Eq.Generic (genericEq)
import Data.Generic.Rep (class Generic)
import Data.Ord.Generic (genericCompare)
import Foreign (Foreign)
import Simple.JSON (writeImpl)
data Permission
= Geolocation
| Midi
| Notifications
| Camera
| Microphone
| BackgroundSync
| AmbientLightSensor
| Accelerometer
| Gyroscope
| Magnetometer
| AccessibilityEvents
| ClipboardRead
| ClipboardWrite
| ClipboardSanitizedWrite
| PaymentHandler
| PersistentStorage
| IdleDetection
| MidiSysex
derive instance genericPermission :: Generic Permission _
instance eqPermission :: Eq Permission where
eq = genericEq
instance ordPermission :: Ord Permission where
compare = genericCompare
preparePermission :: Permission -> Foreign
preparePermission = writeImpl <<< preparePermission_
preparePermission_ :: Permission -> String
preparePermission_ Geolocation = "geolocation"
preparePermission_ Midi = "midi"
preparePermission_ Notifications = "notifications"
preparePermission_ Camera = "camera"
preparePermission_ Microphone = "microphone"
preparePermission_ BackgroundSync = "background-sync"
preparePermission_ AmbientLightSensor = "ambient-light-sensor"
preparePermission_ Accelerometer = "accelerometer"
preparePermission_ Gyroscope = "gyroscope"
preparePermission_ Magnetometer = "magnetometer"
preparePermission_ AccessibilityEvents = "accessibility-events"
preparePermission_ ClipboardRead = "clipboard-read"
preparePermission_ ClipboardWrite = "clipboard-write"
preparePermission_ ClipboardSanitizedWrite = "clipboard-sanitized-write"
preparePermission_ PaymentHandler = "payment-handler"
preparePermission_ PersistentStorage = "persistent-storage"
preparePermission_ IdleDetection = "idle-detection"
preparePermission_ MidiSysex = "midi-sysex"