Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
ulixee
GitHub Repository: ulixee/secret-agent
Path: blob/main/client/interfaces/IInteractions.ts
1028 views
1
import { ISuperElement, ISuperNode } from "awaited-dom/base/interfaces/super";
2
import { IMousePositionXY } from "@secret-agent/interfaces/IInteractions";
3
import { IKeyboardKeyCode } from "@secret-agent/interfaces/IKeyboardLayoutUS";
4
5
export type IInteraction = ICommand | ICommandDetailed;
6
type IInteractions = IInteraction[];
7
8
export default IInteractions;
9
10
export enum Command {
11
scroll = 'scroll',
12
move = 'move',
13
14
click = 'click',
15
clickLeft = 'clickLeft',
16
clickMiddle = 'clickMiddle',
17
clickRight = 'clickRight',
18
19
clickDown = 'clickDown',
20
clickDownLeft = 'clickDownLeft',
21
clickDownMiddle = 'clickDownMiddle',
22
clickDownRight = 'clickDownRight',
23
24
clickUp = 'clickUp',
25
clickUpLeft = 'clickUpLeft',
26
clickUpMiddle = 'clickUpMiddle',
27
clickUpRight = 'clickUpRight',
28
29
doubleclick = 'doubleclick',
30
doubleclickLeft = 'doubleclickLeft',
31
doubleclickMiddle = 'doubleclickMiddle',
32
doubleclickRight = 'doubleclickRight',
33
34
keyPress = 'keyPress',
35
keyDown = 'keyDown',
36
keyUp = 'keyUp',
37
type = 'type',
38
39
waitForNode = 'waitForNode',
40
waitForElementVisible = 'waitForElementVisible',
41
waitForMillis = 'waitForMillis',
42
}
43
44
export type ICommand = keyof typeof Command;
45
46
export interface ICommandDetailed {
47
[Command.scroll]?: IMousePosition;
48
[Command.move]?: IMousePosition;
49
[Command.click]?: IMousePosition;
50
[Command.clickLeft]?: IMousePosition;
51
[Command.clickMiddle]?: IMousePosition;
52
[Command.clickRight]?: IMousePosition;
53
[Command.doubleclick]?: IMousePosition;
54
[Command.doubleclickLeft]?: IMousePosition;
55
[Command.doubleclickMiddle]?: IMousePosition;
56
[Command.doubleclickRight]?: IMousePosition;
57
[Command.clickUp]?: IMousePosition;
58
[Command.clickUpLeft]?: IMousePosition;
59
[Command.clickUpMiddle]?: IMousePosition;
60
[Command.clickUpRight]?: IMousePosition;
61
[Command.clickDown]?: IMousePosition;
62
[Command.clickDownLeft]?: IMousePosition;
63
[Command.clickDownMiddle]?: IMousePosition;
64
[Command.clickDownRight]?: IMousePosition;
65
66
[Command.type]?: ITypeInteraction;
67
[Command.keyPress]?: IKeyboardKeyCode;
68
[Command.keyUp]?: IKeyboardKeyCode;
69
[Command.keyDown]?: IKeyboardKeyCode;
70
71
[Command.waitForNode]?: ISuperNode;
72
[Command.waitForElementVisible]?: ISuperElement;
73
[Command.waitForMillis]?: number;
74
}
75
76
export type ITypeInteraction = string | IKeyboardKeyCode;
77
78
export type IMousePosition = IMousePositionXY | ISuperElement;
79
80