@@ -0,0 +1,113 @@
35+import Effect (Effect)
36+import Control.Promise (Promise, toAffE)
37+import Data.Options (Option, Options, opt)
38+import Effect.Aff (Aff)
39+import Foreign (Foreign)
40+import Foreign.Object (Object)
42+foreign import data BrowserType :: Type
43+foreign import data Browser :: Type
45+foreign import firefox :: BrowserType
46+foreign import chromium :: BrowserType
47+foreign import webkit :: BrowserType
49+foreign import _launch :: BrowserType -> Options LaunchOptions -> Effect (Promise Browser)
51+launch :: BrowserType -> Options LaunchOptions -> Aff Browser
52+launch bt = toAffE <<< _launch bt
54+foreign import data LaunchOptions :: Type
56+headless :: Option LaunchOptions Boolean
57+headless = opt "headless"
59+executablePath :: Option LaunchOptions String
60+executablePath = opt "executablePath"
62+args :: Option LaunchOptions String
65+ignoreDefaultArgs :: Option LaunchOptions (Array String)
66+ignoreDefaultArgs = opt "ignoreDefaultArgs"
68+foreign import data ProxyOptions :: Type
70+server :: Option ProxyOptions String
73+bypass :: Option ProxyOptions String
76+username :: Option ProxyOptions String
77+username = opt "username"
79+password :: Option ProxyOptions String
80+password = opt "password"
82+proxy :: Option LaunchOptions (Options ProxyOptions)
85+downloadsPath :: Option LaunchOptions String
86+downloadsPath = opt "downloadsPath"
88+chromiumSandbox :: Option LaunchOptions Boolean
89+chromiumSandbox = opt "chromiumSandbox"
91+firefoxUserPrefs :: Option LaunchOptions Foreign
92+firefoxUserPrefs = opt "firefoxUserPrefs"
94+handleSIGINT :: Option LaunchOptions Boolean
95+handleSIGINT = opt "handleSIGINT"
97+handleSIGTERM :: Option LaunchOptions Boolean
98+handleSIGTERM = opt "handleSIGTERM"
100+handleSIGHUP :: Option LaunchOptions Boolean
101+handleSIGHUP = opt "handleSIGHUP"
103+timeout :: Option LaunchOptions Number
104+timeout = opt "timeout"
106+env :: Option LaunchOptions (Object String)
109+devtools :: Option LaunchOptions Boolean
110+devtools = opt "devtools"
112+slowMo :: Option LaunchOptions Number
113+slowMo = opt "slowMo"