@@ -1,378 +0,0 @@
1−module Lunapark.Affjax where
5−import Control.Monad.Aff (Aff)
6−import Data.Argonaut (Json)
7−import Data.Argonaut as J
8−import Data.Bifunctor (lmap)
9−import Data.Either (Either(..))
10−import Data.Maybe (Maybe(..))
11−import Network.HTTP.Affjax (AJAX)
12−import Network.HTTP.Affjax as N
13−import Network.HTTP.StatusCode (StatusCode(..))
14−import Lunapark.Error as LE
16−-- | This two type synonims are used only here
17−-- | this is the lowest level of bindings this lib provides
19−type SessionId = String
20−type ElementId = String
21−type WindowHandle = String
23−handleAPIError ∷ N.AffjaxResponse Json → Either LE.Error Json
24−handleAPIError r = case r.status of
25− StatusCode 200 → lmap LE.unknownError do
26− obj ← J.decodeJson r.response
28− code → Left $ LE.fromJson r.response
30−init ∷ ∀ e. URI → Json → Aff (ajax ∷ AJAX|e) (Either LE.Error Json)
32− map handleAPIError $ N.post (uri <> "/session") obj
34−quit ∷ ∀ e. URI → SessionId → Aff (ajax ∷ AJAX|e) (Either LE.Error Json)
36− map handleAPIError $ N.delete (uri <> "/session/" <> sessId)
38−status ∷ ∀ e. URI → Aff (ajax ∷ AJAX|e) (Either LE.Error Json)
40− map handleAPIError $ N.get (uri <> "/status")
42−getTimeouts ∷ ∀ e. URI → SessionId → Aff (ajax ∷ AJAX|e) (Either LE.Error Json)
43−getTimeouts uri sessId =
44− map handleAPIError $ N.get (uri <> "/session/" <> sessId <> "/timeouts")
46−setTimeouts ∷ ∀ e. URI → SessionId → Json → Aff (ajax ∷ AJAX|e) (Either LE.Error Json)
47−setTimeouts uri sessId timeouts =
48− map handleAPIError $ N.post (uri <> "/session/" <> sessId <> "/timeouts") timeouts
50−go ∷ ∀ e. URI → SessionId → Json → Aff (ajax ∷ AJAX|e) (Either LE.Error Json)
52− map handleAPIError $ N.post (uri <> "/session/" <> sessId <> "/url") obj
54−getCurrentUrl ∷ ∀ e. URI → SessionId → Aff (ajax ∷ AJAX|e) (Either LE.Error Json)
55−getCurrentUrl uri sessId =
56− map handleAPIError $ N.get (uri <> "/session/" <> sessId <> "/url")
58−back ∷ ∀ e. URI → SessionId → Aff (ajax ∷ AJAX|e) (Either LE.Error Json)
60− map handleAPIError $ N.post' (uri <> "/session/" <> sessId <> "/back") (Nothing ∷ Maybe Unit)
62−forward ∷ ∀ e. URI → SessionId → Aff (ajax ∷ AJAX|e) (Either LE.Error Json)
64− map handleAPIError $ N.post' (uri <> "/session/" <> sessId <> "/forward") (Nothing ∷ Maybe Unit)
66−refresh ∷ ∀ e. URI → SessionId → Aff (ajax ∷ AJAX|e) (Either LE.Error Json)
68− map handleAPIError $ N.post' (uri <> "/session/" <> sessId <> "/refresh") (Nothing ∷ Maybe Unit)
70−getTitle ∷ ∀ e. URI → SessionId → Aff (ajax ∷ AJAX|e) (Either LE.Error Json)
72− map handleAPIError $ N.get (uri <> "/session/" <> sessId <> "/title")
74−getWindow ∷ ∀ e. URI → SessionId → Aff (ajax ∷ AJAX|e) (Either LE.Error Json)
75−getWindow uri sessId =
76− map handleAPIError $ N.get (uri <> "/session/" <> sessId <> "/window")
78−closeWindow ∷ ∀ e. URI → SessionId → Aff (ajax ∷ AJAX|e) (Either LE.Error Json)
79−closeWindow uri sessId =
80− map handleAPIError $ N.delete (uri <> "/session/" <> sessId)
82−switchToWindow ∷ ∀ e. URI → SessionId → Json → Aff (ajax ∷ AJAX|e) (Either LE.Error Json)
83−switchToWindow uri sessId obj =
84− map handleAPIError $ N.post (uri <> "/session/" <> sessId <> "/window") obj
86−getWindowHandles ∷ ∀ e. URI → SessionId → Aff (ajax ∷ AJAX|e) (Either LE.Error Json)
87−getWindowHandles uri sessId =
88− map handleAPIError $ N.get (uri <> "/session/" <> sessId <> "/window/handles")
90−switchToFrame ∷ ∀ e. URI → SessionId → Json → Aff (ajax ∷ AJAX|e) (Either LE.Error Json)
91−switchToFrame uri sessId obj =
92− map handleAPIError $ N.post (uri <> "/session/" <> sessId <> "/frame") obj
94−switchToParentFrame ∷ ∀ e. URI → SessionId → Aff (ajax ∷ AJAX|e) (Either LE.Error Json)
95−switchToParentFrame uri sessId =
96− map handleAPIError $ N.post' (uri <> "/session/" <> sessId <> "/frame/parent") (Nothing ∷ Maybe Unit)
98−getWindowRect ∷ ∀ e. URI → SessionId → Aff (ajax ∷ AJAX|e) (Either LE.Error Json)
99−getWindowRect uri sessId =
100− map handleAPIError $ N.get (uri <> "/session/" <> sessId <> "/window/rect")
102−setWindowRect ∷ ∀ e. URI → SessionId → Json → Aff (ajax ∷ AJAX|e) (Either LE.Error Json)
103−setWindowRect uri sessId obj =
104− map handleAPIError $ N.post (uri <> "/session/" <> sessId <> "/window/rect") obj
106−maximizeWindow ∷ ∀ e. URI → SessionId → Aff (ajax ∷ AJAX|e) (Either LE.Error Json)
107−maximizeWindow uri sessId =
108− map handleAPIError $ N.post' (uri <> "/session/" <> sessId <> "/window/maximize") (Nothing ∷ Maybe Unit)
110−minimizeWindow ∷ ∀ e. URI → SessionId → Aff (ajax ∷ AJAX|e) (Either LE.Error Json)
111−minimizeWindow uri sessId =
112− map handleAPIError $ N.post' (uri <> "/session/" <> sessId <> "/window/minimize") (Nothing ∷ Maybe Unit)
114−fullscreenWindow ∷ ∀ e. URI → SessionId → Aff (ajax ∷ AJAX|e) (Either LE.Error Json)
115−fullscreenWindow uri sessId =
116− map handleAPIError $ N.post' (uri <> "/session/" <> sessId <> "/window/fullscreen") (Nothing ∷ Maybe Unit)
118−findElement ∷ ∀ e. URI → SessionId → Json → Aff (ajax ∷ AJAX|e) (Either LE.Error Json)
119−findElement uri sessId obj =
120− map handleAPIError $ N.post (uri <> "/session/" <> sessId <> "/element") obj
122−findElements ∷ ∀ e. URI → SessionId → Json → Aff (ajax ∷ AJAX|e) (Either LE.Error Json)
123−findElements uri sessId obj =
124− map handleAPIError $ N.post (uri <> "/session/" <> sessId <> "/elements") obj
126−findElementFromElement ∷ ∀ e. URI → SessionId → ElementId → Json → Aff (ajax ∷ AJAX|e) (Either LE.Error Json)
127−findElementFromElement uri sessId elId obj =
128− map handleAPIError $ N.post (uri <> "/session/" <> sessId <> "/element/" <> elId <> "/element") obj
130−findElementsFromElement ∷ ∀ e. URI → SessionId → ElementId → Json → Aff (ajax ∷ AJAX|e) (Either LE.Error Json)
131−findElementsFromElement uri sessId elId obj =
132− map handleAPIError $ N.post (uri <> "/session/" <> sessId <> "/element/" <> elId <> "/elements") obj
134−getActiveElement ∷ ∀ e. URI → SessionId → Aff (ajax ∷ AJAX|e) (Either LE.Error Json)
135−getActiveElement uri sessId = map handleAPIError $ N.get (uri <> "/session/" <> sessId <> "/element/active")
137−isElementSelected ∷ ∀ e. URI → SessionId → ElementId → Aff (ajax ∷ AJAX|e) (Either LE.Error Json)
138−isElementSelected uri sessId elId =
139− map handleAPIError $ N.get (uri <> "/session/" <> sessId <> "/element/" <> elId <> "/selected")
141−getElementAttribute ∷ ∀ e. URI → SessionId → ElementId → String → Aff (ajax ∷ AJAX|e) (Either LE.Error Json)
142−getElementAttribute uri sessId elId attrName =
143− map handleAPIError $ N.get (uri <> "/session/" <> sessId <> "/element/" <> elId <> "/attribute/" <> attrName)
145−getElementProperty ∷ ∀ e. URI → SessionId → ElementId → String → Aff (ajax ∷ AJAX|e) (Either LE.Error Json)
146−getElementProperty uri sessId elId propName =
147− map handleAPIError $ N.get (uri <> "/session/" <> sessId <> "/element/" <> elId <> "/property/" <> propName)
149−getElementCSSValue ∷ ∀ e. URI → SessionId → ElementId → String → Aff (ajax ∷ AJAX|e) (Either LE.Error Json)
150−getElementCSSValue uri sessId elId cssName =
151− map handleAPIError $ N.get (uri <> "/session/" <> sessId <> "/element/" <> elId <> "/css/" <> cssName)
153−getElementText ∷ ∀ e. URI → SessionId → ElementId → Aff (ajax ∷ AJAX|e) (Either LE.Error Json)
154−getElementText uri sessId elId =
155− map handleAPIError $ N.get (uri <> "/session/" <> sessId <> "/element/" <> elId <> "/text")
157−getElementTagName ∷ ∀ e. URI → SessionId → ElementId → Aff (ajax ∷ AJAX|e) (Either LE.Error Json)
158−getElementTagName uri sessId elId =
159− map handleAPIError $ N.get (uri <> "/session/" <> sessId <> "/element/" <> elId <> "/name")
161−getElementRect ∷ ∀ e. URI → SessionId → ElementId → Aff (ajax ∷ AJAX|e) (Either LE.Error Json)
162−getElementRect uri sessId elId =
163− map handleAPIError $ N.get (uri <> "/session/" <> sessId <> "/element/" <> elId <> "/rect")
165−isElementEnabled ∷ ∀ e. URI → SessionId → ElementId → Aff (ajax ∷ AJAX|e) (Either LE.Error Json)
166−isElementEnabled uri sessId elId =
167− map handleAPIError $ N.get (uri <> "/session/" <> sessId <> "/element/" <> elId <> "/enabled")
169−elementClick ∷ ∀ e. URI → SessionId → ElementId → Aff (ajax ∷ AJAX|e) (Either LE.Error Json)
170−elementClick uri sessId elId =
171− map handleAPIError $ N.post' (uri <> "/session/" <> sessId <> "/element/" <> elId <> "/click") (Nothing ∷ Maybe Unit)
173−elementClear ∷ ∀ e. URI → SessionId → ElementId → Aff (ajax ∷ AJAX|e) (Either LE.Error Json)
174−elementClear uri sessId elId =
175− map handleAPIError $ N.post' (uri <> "/session/" <> sessId <> "/element/" <> elId <> "/clear") (Nothing ∷ Maybe Unit)
177−elementSendKeys ∷ ∀ e. URI → SessionId → ElementId → Json → Aff (ajax ∷ AJAX|e) (Either LE.Error Json)
178−elementSendKeys uri sessId elId obj =
179− map handleAPIError $ N.post (uri <> "/session/" <> sessId <> "/element/" <> elId <> "/value") obj
181−getPageSource ∷ ∀ e. URI → SessionId → Aff (ajax ∷ AJAX|e) (Either LE.Error Json)
182−getPageSource uri sessId =
183− map handleAPIError $ N.get (uri <> "/session/" <> sessId <> "/source")
185−executeScript ∷ ∀ e. URI → SessionId → Json → Aff (ajax ∷ AJAX|e) (Either LE.Error Json)
186−executeScript uri sessId obj =
187− map handleAPIError $ N.post (uri <> "/session/" <> sessId <> "/execute/sync") obj
189−executeAsyncScript ∷ ∀ e. URI → SessionId → Json → Aff (ajax ∷ AJAX|e) (Either LE.Error Json)
190−executeAsyncScript uri sessId obj =
191− map handleAPIError $ N.post (uri <> "/session/" <> sessId <> "/execute/async") obj
193−getAllCookies ∷ ∀ e. URI → SessionId → Aff (ajax ∷ AJAX|e) (Either LE.Error Json)
194−getAllCookies uri sessId =
195− map handleAPIError $ N.get (uri <> "/session/" <> sessId <> "/cookie")
197−getNamedCookie ∷ ∀ e. URI → SessionId → String → Aff (ajax ∷ AJAX|e) (Either LE.Error Json)
198−getNamedCookie uri sessId name =
199− map handleAPIError $ N.get (uri <> "/session/" <> sessId <> "/cookie/" <> name)
201−addCookie ∷ ∀ e. URI → SessionId → Json → Aff (ajax ∷ AJAX|e) (Either LE.Error Json)
202−addCookie uri sessId obj =
203− map handleAPIError $ N.post (uri <> "/session/" <> sessId <> "/cookie") obj
205−deleteCookie ∷ ∀ e. URI → SessionId → String → Aff (ajax ∷ AJAX|e) (Either LE.Error Json)
206−deleteCookie uri sessId name =
207− map handleAPIError $ N.delete (uri <> "/session/" <> sessId <> "/cookie/" <> name)
209−deleteAllCookies ∷ ∀ e. URI → SessionId → Aff (ajax ∷ AJAX|e) (Either LE.Error Json)
210−deleteAllCookies uri sessId =
211− map handleAPIError $ N.delete (uri <> "/session/" <> sessId <> "/cookie")
213−performActions ∷ ∀ e. URI → SessionId → Json → Aff (ajax ∷ AJAX|e) (Either LE.Error Json)
214−performActions uri sessId obj =
215− map handleAPIError $ N.post (uri <> "/session/" <> sessId <> "/actions") obj
217−releaseActions ∷ ∀ e. URI → SessionId → Aff (ajax ∷ AJAX|e) (Either LE.Error Json)
218−releaseActions uri sessId =
219− map handleAPIError $ N.delete (uri <> "/session/" <> sessId <> "/actions")
221−dismissAlert ∷ ∀ e. URI → SessionId → Aff (ajax ∷ AJAX|e) (Either LE.Error Json)
222−dismissAlert uri sessId =
223− map handleAPIError $ N.post' (uri <> "/session/" <> sessId <> "/alert/dismiss") (Nothing ∷ Maybe Unit)
225−acceptAlert ∷ ∀ e. URI → SessionId → Aff (ajax ∷ AJAX|e) (Either LE.Error Json)
226−acceptAlert uri sessId =
227− map handleAPIError $ N.post' (uri <> "/session/" <> sessId <> "/alert/accept") (Nothing ∷ Maybe Unit)
229−getAlertText ∷ ∀ e. URI → SessionId → Aff (ajax ∷ AJAX|e) (Either LE.Error Json)
230−getAlertText uri sessId =
231− map handleAPIError $ N.get (uri <> "/session/" <> sessId <> "/alert/text")
233−sendAlertText ∷ ∀ e. URI → SessionId → Json → Aff (ajax ∷ AJAX|e) (Either LE.Error Json)
234−sendAlertText uri sessId obj =
235− map handleAPIError $ N.post (uri <> "/session/" <> sessId <> "/alert/text") obj
237−takeScreenshot ∷ ∀ e. URI → SessionId → Aff (ajax ∷ AJAX|e) (Either LE.Error Json)
238−takeScreenshot uri sessId =
239− map handleAPIError $ N.get (uri <> "/session/" <> sessId <> "/screenshot")
241−takeElementScreenshot ∷ ∀ e. URI → SessionId → ElementId → Aff (ajax ∷ AJAX|e) (Either LE.Error Json)
242−takeElementScreenshot uri sessId elId =
243− map handleAPIError $ N.get (uri <> "/session/" <> sessId <> "/element/" <> elId <> "/screenshot")
246−isDisplayed ∷ ∀ e. URI → SessionId → ElementId → Aff (ajax ∷ AJAX|e) (Either LE.Error Json)
247−isDisplayed uri sessId elId = do
248− map handleAPIError $ N.get (uri <> "/session/" <> sessId <> "/element/" <> elId <> "/displayed")
250−-- JsonWire legacy, note this wouldn't envolve thing like local storage or geolocation
251−-- because you always could do it via async script _OR_ you couldn't do it via W3C
252−getSession ∷ ∀ e. URI → SessionId → Aff (ajax ∷ AJAX|e) (Either LE.Error Json)
253−getSession uri sessId =
254− map handleAPIError $ N.get (uri <> "/session/" <> sessId)
256−getSessions ∷ ∀ e. URI → Aff (ajax ∷ AJAX|e) (Either LE.Error Json)
258− map handleAPIError $ N.get (uri <> "/sessions")
260−setAsyncScriptTimeout ∷ ∀ e. URI → SessionId → Json → Aff (ajax ∷ AJAX|e) (Either LE.Error Json)
261−setAsyncScriptTimeout uri sessId obj =
262− map handleAPIError $ N.post (uri <> "/session/" <> sessId <> "/timeouts/async_script") obj
264−getWindowHandle ∷ ∀ e. URI → SessionId → Aff (ajax ∷ AJAX|e) (Either LE.Error Json)
265−getWindowHandle uri sessId =
266− map handleAPIError $ N.get (uri <> "/session/" <> sessId <> "/window_handle")
268−getWindowHandlesLegacy ∷ ∀ e. URI → SessionId → Aff (ajax ∷ AJAX|e) (Either LE.Error Json)
269−getWindowHandlesLegacy uri sessId =
270− map handleAPIError $ N.get (uri <> "/session/" <> sessId <> "/window_handles")
272−execute ∷ ∀ e. URI → SessionId → Json → Aff (ajax ∷ AJAX|e) (Either LE.Error Json)
273−execute uri sessId obj =
274− map handleAPIError $ N.post (uri <> "/session/" <> sessId <> "/execute") obj
276−executeAsync ∷ ∀ e. URI → SessionId → Json → Aff (ajax ∷ AJAX|e) (Either LE.Error Json)
277−executeAsync uri sessId obj =
278− map handleAPIError $ N.post (uri <> "/session/" <> sessId <> "/execute_async") obj
280−setWindowSize ∷ ∀ e. URI → SessionId → WindowHandle → Json → Aff (ajax ∷ AJAX|e) (Either LE.Error Json)
281−setWindowSize uri sessId win obj =
282− map handleAPIError $ N.post (uri <> "/session/" <> sessId <> "/window/" <> win <> "/size") obj
284−getWindowSize ∷ ∀ e. URI → SessionId → WindowHandle → Aff (ajax ∷ AJAX|e) (Either LE.Error Json)
285−getWindowSize uri sessId win =
286− map handleAPIError $ N.get (uri <> "/session/" <> sessId <> "/window/" <> win <> "/size")
288−setWindowPosition ∷ ∀ e. URI → SessionId → WindowHandle → Json → Aff (ajax ∷ AJAX|e) (Either LE.Error Json)
289−setWindowPosition uri sessId win obj =
290− map handleAPIError $ N.post (uri <> "/session/" <> sessId <> "/window/" <> win <> "/position") obj
292−getWindowPosition ∷ ∀ e. URI → SessionId → WindowHandle → Aff (ajax ∷ AJAX|e) (Either LE.Error Json)
293−getWindowPosition uri sessId win =
294− map handleAPIError $ N.get (uri <> "/session/" <> sessId <> "/window/" <> win <> "/position")
296−elementSubmit ∷ ∀ e. URI → SessionId → ElementId → Aff (ajax ∷ AJAX|e) (Either LE.Error Json)
297−elementSubmit uri sessId elId =
298− map handleAPIError $ N.post' (uri <> "/session/" <> sessId <> "/element/" <> elId <> "/submit") (Nothing ∷ Maybe Unit)
300−sendKeys ∷ ∀ e. URI → SessionId → Json → Aff (ajax ∷ AJAX|e) (Either LE.Error Json)
301−sendKeys uri sessId obj =
302− map handleAPIError $ N.post (uri <> "/session/" <> sessId <> "/keys") obj
304−getElementLocation ∷ ∀ e. URI → SessionId → ElementId → Aff (ajax ∷ AJAX|e) (Either LE.Error Json)
305−getElementLocation uri sessId elId =
306− map handleAPIError $ N.get (uri <> "/session/" <> sessId <> "/element/" <> elId <> "/location")
308−getElementSize ∷ ∀ e. URI → SessionId → ElementId → Aff (ajax ∷ AJAX|e) (Either LE.Error Json)
309−getElementSize uri sessId elId =
310− map handleAPIError $ N.get (uri <> "/session/" <> sessId <> "/element/" <> elId <> "/size")
312−getAlertTextLegacy ∷ ∀ e. URI → SessionId → Aff (ajax ∷ AJAX|e) (Either LE.Error Json)
313−getAlertTextLegacy uri sessId =
314− map handleAPIError $ N.get (uri <> "/session/" <> sessId <> "/alert_text")
316−setAlertText ∷ ∀ e. URI → SessionId → Json → Aff (ajax ∷ AJAX|e) (Either LE.Error Json)
317−setAlertText uri sessId obj =
318− map handleAPIError $ N.post (uri <> "/session/" <> sessId <> "/alert_text") obj
320−acceptAlertLegacy ∷ ∀ e. URI → SessionId → Aff (ajax ∷ AJAX|e) (Either LE.Error Json)
321−acceptAlertLegacy uri sessId =
322− map handleAPIError $ N.post' (uri <> "/session/" <> sessId <> "/accept_alert") (Nothing ∷ Maybe Unit)
324−dismissAlertLegacy ∷ ∀ e. URI → SessionId → Aff (ajax ∷ AJAX|e) (Either LE.Error Json)
325−dismissAlertLegacy uri sessId =
326− map handleAPIError $ N.post' (uri <> "/session/" <> sessId <> "/dismiss_alert") (Nothing ∷ Maybe Unit)
328−moveTo ∷ ∀ e. URI → SessionId → Json → Aff (ajax ∷ AJAX|e) (Either LE.Error Json)
329−moveTo uri sessId obj =
330− map handleAPIError $ N.post (uri <> "/session/" <> sessId <> "/moveto") obj
332−sendClick ∷ ∀ e. URI → SessionId → Json → Aff (ajax ∷ AJAX|e) (Either LE.Error Json)
333−sendClick uri sessId obj =
334− map handleAPIError $ N.post (uri <> "/session/" <> sessId <> "/click") obj
336−sendButtonDown ∷ ∀ e. URI → SessionId → Json → Aff (ajax ∷ AJAX|e) (Either LE.Error Json)
337−sendButtonDown uri sessId obj =
338− map handleAPIError $ N.post (uri <> "/session/" <> sessId <> "/buttondown") obj
340−sendButtonUp ∷ ∀ e. URI → SessionId → Json → Aff (ajax ∷ AJAX|e) (Either LE.Error Json)
341−sendButtonUp uri sessId obj =
342− map handleAPIError $ N.post (uri <> "/session/" <> sessId <> "/buttonup") obj
344−sendDoubleClick ∷ ∀ e. URI → SessionId → Json → Aff (ajax ∷ AJAX|e) (Either LE.Error Json)
345−sendDoubleClick uri sessId obj =
346− map handleAPIError $ N.post (uri <> "/session/" <> sessId <> "/doubleclick") obj
348−sendTouch ∷ ∀ e. URI → SessionId → Json → Aff (ajax ∷ AJAX|e) (Either LE.Error Json)
349−sendTouch uri sessId obj =
350− map handleAPIError $ N.post (uri <> "/session/" <> sessId <> "/touch/click") obj
352−sendTouchDown ∷ ∀ e. URI → SessionId → Json → Aff (ajax ∷ AJAX|e) (Either LE.Error Json)
353−sendTouchDown uri sessId obj =
354− map handleAPIError $ N.post (uri <> "/session/" <> sessId <> "/touch/down") obj
356−sendTouchUp ∷ ∀ e. URI → SessionId → Json → Aff (ajax ∷ AJAX|e) (Either LE.Error Json)
357−sendTouchUp uri sessId obj =
358− map handleAPIError $ N.post (uri <> "/session/" <> sessId <> "/touch/up") obj
360−sendTouchMove ∷ ∀ e. URI → SessionId → Json → Aff (ajax ∷ AJAX|e) (Either LE.Error Json)
361−sendTouchMove uri sessId obj =
362− map handleAPIError $ N.post (uri <> "/session/" <> sessId <> "/touch/move") obj
364−sendTouchScroll ∷ ∀ e. URI → SessionId → Json → Aff (ajax ∷ AJAX|e) (Either LE.Error Json)
365−sendTouchScroll uri sessId obj =
366− map handleAPIError $ N.post (uri <> "/session/" <> sessId <> "/touch/scroll") obj
368−sendTouchDoubleClick ∷ ∀ e. URI → SessionId → Json → Aff (ajax ∷ AJAX|e) (Either LE.Error Json)
369−sendTouchDoubleClick uri sessId obj =
370− map handleAPIError $ N.post (uri <> "/session/" <> sessId <> "/touch/doubleclick") obj
372−sendTouchLongClick ∷ ∀ e. URI → SessionId → Json → Aff (ajax ∷ AJAX|e) (Either LE.Error Json)
373−sendTouchLongClick uri sessId obj =
374− map handleAPIError $ N.post (uri <> "/session/" <> sessId <> "/touch/longclick") obj
376−sendTouchFlick ∷ ∀ e. URI → SessionId → Json → Aff (ajax ∷ AJAX|e) (Either LE.Error Json)
377−sendTouchFlick uri sessId obj =
378− map handleAPIError $ N.post (uri <> "/session/" <> sessId <> "/touch/flick") obj