engines.d.ts 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. /**
  2. * engines模块包含了一些与脚本环境、脚本运行、脚本引擎有关的函数,包括运行其他脚本,关闭脚本等。
  3. */
  4. declare namespace engines {
  5. /**
  6. * 脚本引擎对象。
  7. */
  8. interface ScriptEngine {
  9. /**
  10. * 停止脚本引擎的执行。
  11. */
  12. forceStop(): void;
  13. /**
  14. * 返回脚本执行的路径。对于一个脚本文件而言为这个脚本所在的文件夹;对于其他脚本,例如字符串脚本,则为null或者执行时的设置值。
  15. */
  16. cwd(): string;
  17. }
  18. /**
  19. * 执行脚本时返回的对象,可以通过他获取执行的引擎、配置等,也可以停止这个执行。
  20. *
  21. * 要停止这个脚本的执行,使用exectuion.getEngine().forceStop().
  22. */
  23. interface ScriptExecution {
  24. /**
  25. * 返回执行该脚本的脚本引擎对象(ScriptEngine)
  26. */
  27. getEngine(): ScriptEngine;
  28. /**
  29. * 返回该脚本的运行配置(ScriptConfig)
  30. */
  31. getConfig(): ScriptConfig;
  32. }
  33. /**
  34. * 运行配置项。
  35. */
  36. interface ScriptConfig {
  37. /**
  38. * 延迟执行的毫秒数,默认为0。
  39. */
  40. delay?: number;
  41. /**
  42. * 循环运行次数,默认为1。0为无限循环。
  43. */
  44. loopTimes?: number;
  45. /**
  46. * 循环运行时两次运行之间的时间间隔,默认为0。
  47. */
  48. interval?: number;
  49. /**
  50. * 指定脚本运行的目录。这些路径会用于require时寻找模块文件。
  51. */
  52. path?: string | string[];
  53. /**
  54. * 返回一个字符串数组表示脚本运行时模块寻找的路径。
  55. */
  56. getpath?: string[];
  57. }
  58. /**
  59. * 在新的脚本环境中运行脚本script。返回一个ScriptExectuion对象。
  60. *
  61. * 所谓新的脚本环境,指定是,脚本中的变量和原脚本的变量是不共享的,并且,脚本会在新的线程中运行。
  62. */
  63. function execScript(name: string, script: string, config?: ScriptConfig): ScriptExecution;
  64. /**
  65. * 在新的脚本环境中运行脚本文件path:string。返回一个ScriptExecution对象。
  66. */
  67. function execScriptFile(path: string, config?: ScriptConfig): ScriptExecution;
  68. /**
  69. * 在新的脚本环境中运行录制文件path:string。返回一个ScriptExecution对象。
  70. */
  71. function execAutoFile(path: string, config?: ScriptConfig): ScriptExecution;
  72. /**
  73. * 停止所有正在运行的脚本。包括当前脚本自身。
  74. */
  75. function stopAll(): void;
  76. /**
  77. * 停止所有正在运行的脚本并显示停止的脚本数量。包括当前脚本自身。
  78. */
  79. function stopAllAndToast(): void;
  80. /**
  81. * 返回当前脚本的脚本引擎对象(ScriptEngine)
  82. */
  83. function myEngine(): void;
  84. }