siesta-lite
Version:
Stress-free JavaScript unit testing and functional testing tool, works in NodeJS and browsers
91 lines (53 loc) • 1.85 kB
text/typescript
import {KeyCanBePressed, KeyState, ModifierKey, PointerModifier, PointerState} from "./Types.js"
export interface SimulatorCommand {
type : string
}
interface WithModifierKeys {
modifierKey : ModifierKey[]
}
export interface Calibrate extends SimulatorCommand {
type : 'calibrate'
left, top, width, height : number
}
export interface MovePointer extends SimulatorCommand, WithModifierKeys {
type : 'move_pointer'
x, y : number
mouseMovePrecision : number
moveKind : "instant" | "smooth"
}
export interface SetPointerState extends SimulatorCommand, WithModifierKeys {
type : 'set_pointer_state'
state : PointerState
modifier : PointerModifier
}
export interface PointerClick extends SimulatorCommand, WithModifierKeys {
type : 'pointer_click'
modifier : PointerModifier
}
export interface PointerDoubleClick extends SimulatorCommand, WithModifierKeys {
type : 'pointer_double_click'
modifier : PointerModifier
}
export interface PointerDrag extends SimulatorCommand, WithModifierKeys {
type : 'pointer_drag'
modifier : PointerModifier
fromX, fromY : number
toX, toY : number
dragOnly : boolean
}
export interface Type extends SimulatorCommand, WithModifierKeys {
type : 'type'
text : KeyCanBePressed[]
}
export interface SetKeyState extends SimulatorCommand {
type : 'set_key_state'
key : KeyCanBePressed
state : KeyState
}
export interface MouseWheel extends SimulatorCommand, WithModifierKeys {
type : 'mouse_wheel'
deltaX, deltaY : number
}
export interface Reset extends SimulatorCommand {
type : 'reset'
}