git.iko.soy/rowtype-yoga/purescript-playwright
on main help sign in
A few new methods
5dc2b7aVladimir Kalnitsky
src/Playwright.purs+36
@@ -54,6 +54,24 @@ newPage sth =
54 effProp "newPage" (\_ -> newPage) sth >>>
54 effProp "newPage" (\_ -> newPage) sth >>>
55 toAffE
55 toAffE
56
56
57+goForward
58+ :: Page
59+ -> Options Go
60+ -> Aff (Null |+| Response)
61+goForward page =
62+ options >>>
63+ effProp "goForward" (\_ -> goForward) page >>>
64+ toAffE
65+
66+goBack
67+ :: Page
68+ -> Options Go
69+ -> Aff (Null |+| Response)
70+goBack page =
71+ options >>>
72+ effProp "goBack" (\_ -> goBack) page >>>
73+ toAffE
74+
57goto
75goto
58 :: Page |+| Frame
76 :: Page |+| Frame
59 -> URL
77 -> URL
@@ -64,6 +82,24 @@ goto sth url' =
64 effProp "goto" (\_ -> goto) sth url' >>>
82 effProp "goto" (\_ -> goto) sth url' >>>
65 toAffE
83 toAffE
66
84
85+hover
86+ :: Page |+| Frame |+| ElementHandle
87+ -> Options Hover
88+ -> Aff Unit
89+hover sth =
90+ options >>>
91+ effProp "hover" (\_ -> hover) sth >>>
92+ toAffE
93+
94+innerHTML
95+ :: Page |+| Frame |+| ElementHandle
96+ -> Selector
97+ -> Options InnerHTML
98+ -> Aff String
99+innerHTML sth selector =
100+ options >>>
101+ effProp "innerHTML" (\_ -> innerHTML) sth selector
102+
67-- | `sth.$(selector)`
103-- | `sth.$(selector)`
68query
104query
69 :: ElementHandle |+| Page |+| Frame
105 :: ElementHandle |+| Page |+| Frame
src/Playwright/Data.js+5
@@ -12,4 +12,9 @@ exports.domcontentloaded = "domcontentloaded";
12exports.load = "load";
12exports.load = "load";
13exports.networkidle = "networkidle";
13exports.networkidle = "networkidle";
14
14
15+exports.alt = "Alt";
16+exports.control = "Control";
17+exports.meta = "Meta";
18+exports.shift = "Shift";
19+
15exports.null = null;
20exports.null = null;
src/Playwright/Data.purs+7
@@ -47,6 +47,13 @@ foreign import domcontentloaded :: WaitUntil
47foreign import load :: WaitUntil
47foreign import load :: WaitUntil
48foreign import networkidle :: WaitUntil
48foreign import networkidle :: WaitUntil
49
49
50+foreign import data Modifier :: Type
51+
52+foreign import alt :: Modifier
53+foreign import control :: Modifier
54+foreign import meta :: Modifier
55+foreign import shift :: Modifier
56+
50-- | We need our own `null` to make it usable with `untagged-union`.
57-- | We need our own `null` to make it usable with `untagged-union`.
51-- | TODO: push upstream?
58-- | TODO: push upstream?
52foreign import data Null :: Type
59foreign import data Null :: Type
src/Playwright/Logger.pursdeleted−43
@@ -1,43 +0,0 @@
1−module Playwright.Logger where
2−
3−import Prelude
4−import Effect
5−import Control.Promise
6−import Data.Options
7−import Effect.Aff
8−import Foreign
9−import Data.Function.Uncurried
10−import Data.Op
11−import Data.Functor.Contravariant
12−import Prim.Row as Row
13−import Unsafe.Coerce (unsafeCoerce)
14−
15−-- foreign import data LoggerOptions :: Type
16−
17−data Severity = Verbose | Info | Warning | Error
18−
19−showSeverity :: Severity -> String
20−showSeverity Verbose = "verbose"
21−showSeverity Info = "info"
22−showSeverity Warning = "warning"
23−showSeverity Error = "error"
24−
25−-- isEnabled :: Option LoggerOptions (Fn2 String Severity Boolean)
26−-- isEnabled = opt "isEnabled"
27−
28−type LoggerOptions =
29− ( log :: String -> Severity -> String -> Array String -> Effect Unit
30− , isEnabled :: String -> Severity -> Boolean
31− )
32−
33−foreign import data Logger :: Type
34−
35−mkLogger
36− :: forall o t
37− . Row.Union o t LoggerOptions
38− => { | o }
39− -> Logger
40−mkLogger = unsafeCoerce
41−
42−-- log :: Option LoggerOptions (Fn4 String Severity String (Array String) Unit)
43−-- log = opt "log"
src/Playwright/Options.purs+29−2
@@ -91,8 +91,35 @@ foreign import data Goto :: Type
91gotoTimeout :: Option Goto Int
91gotoTimeout :: Option Goto Int
92gotoTimeout = opt "timeout"
92gotoTimeout = opt "timeout"
93
93
94−waitUntil :: Option Goto WaitUntil
94+gotoWaitUntil :: Option Goto WaitUntil
95−waitUntil = opt "waitUntil"
95+gotoWaitUntil = opt "waitUntil"
96
96
97referer :: Option Goto String
97referer :: Option Goto String
98referer = opt "referer"
98referer = opt "referer"
99+
100+foreign import data Go :: Type
101+
102+goTimeout :: Option Go Int
103+goTimeout = opt "timeout"
104+
105+goWaitUntil :: Option Go WaitUntil
106+goWaitUntil = opt "waitUntil"
107+
108+foreign import data Hover :: Type
109+
110+position :: Option Hover { x :: Number, y :: Number }
111+position = opt "position"
112+
113+modifier :: Option Hover (Array Modifier)
114+modifier = opt "modifier"
115+
116+force :: Option Hover Boolean
117+force = opt "force"
118+
119+hoverTimeout :: Option Hover Number
120+hoverTimeout = opt "timeout"
121+
122+foreign import data InnerHTML :: Type
123+
124+innerHTMLTimeout :: Option InnerHTML Number
125+innerHTMLTimeout = opt "timeout"