directApi.js 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. import { setupDirect } from './setup.js';
  2. function clear(element) {
  3. return setupDirect().api.clear(element);
  4. }
  5. function click(element, options = {}) {
  6. return setupDirect(options, element).api.click(element);
  7. }
  8. function copy(options = {}) {
  9. return setupDirect(options).api.copy();
  10. }
  11. function cut(options = {}) {
  12. return setupDirect(options).api.cut();
  13. }
  14. function dblClick(element, options = {}) {
  15. return setupDirect(options).api.dblClick(element);
  16. }
  17. function deselectOptions(select, values, options = {}) {
  18. return setupDirect(options).api.deselectOptions(select, values);
  19. }
  20. function hover(element, options = {}) {
  21. return setupDirect(options).api.hover(element);
  22. }
  23. async function keyboard(text, options = {}) {
  24. const { api, system } = setupDirect(options);
  25. return api.keyboard(text).then(()=>system);
  26. }
  27. async function pointer(input, options = {}) {
  28. const { api, system } = setupDirect(options);
  29. return api.pointer(input).then(()=>system);
  30. }
  31. function paste(clipboardData, options) {
  32. return setupDirect(options).api.paste(clipboardData);
  33. }
  34. function selectOptions(select, values, options = {}) {
  35. return setupDirect(options).api.selectOptions(select, values);
  36. }
  37. function tripleClick(element, options = {}) {
  38. return setupDirect(options).api.tripleClick(element);
  39. }
  40. function type(element, text, options = {}) {
  41. return setupDirect(options, element).api.type(element, text, options);
  42. }
  43. function unhover(element, options = {}) {
  44. const { api, system } = setupDirect(options);
  45. system.pointer.setMousePosition({
  46. target: element
  47. });
  48. return api.unhover(element);
  49. }
  50. function upload(element, fileOrFiles, options = {}) {
  51. return setupDirect(options).api.upload(element, fileOrFiles);
  52. }
  53. function tab(options = {}) {
  54. return setupDirect().api.tab(options);
  55. }
  56. export { clear, click, copy, cut, dblClick, deselectOptions, hover, keyboard, paste, pointer, selectOptions, tab, tripleClick, type, unhover, upload };