appium-novawindows2-driver 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (192) hide show
  1. package/.github/ISSUE_TEMPLATE/bug_report.yml +97 -0
  2. package/.github/ISSUE_TEMPLATE/feature_request.yml +33 -0
  3. package/.github/PULL_REQUEST_TEMPLATE.md +28 -0
  4. package/.github/workflows/lint-build.yml +30 -0
  5. package/.github/workflows/release.yml +39 -0
  6. package/.releaserc +41 -0
  7. package/CHANGELOG.md +33 -0
  8. package/LICENSE +202 -0
  9. package/README.md +557 -0
  10. package/build/eslint.config.d.mts +3 -0
  11. package/build/eslint.config.d.mts.map +1 -0
  12. package/build/eslint.config.mjs +6 -0
  13. package/build/eslint.config.mjs.map +1 -0
  14. package/build/lib/commands/actions.d.ts +11 -0
  15. package/build/lib/commands/actions.d.ts.map +1 -0
  16. package/build/lib/commands/actions.js +212 -0
  17. package/build/lib/commands/actions.js.map +1 -0
  18. package/build/lib/commands/app.d.ts +12 -0
  19. package/build/lib/commands/app.d.ts.map +1 -0
  20. package/build/lib/commands/app.js +195 -0
  21. package/build/lib/commands/app.js.map +1 -0
  22. package/build/lib/commands/device.d.ts +3 -0
  23. package/build/lib/commands/device.d.ts.map +1 -0
  24. package/build/lib/commands/device.js +31 -0
  25. package/build/lib/commands/device.js.map +1 -0
  26. package/build/lib/commands/element.d.ts +15 -0
  27. package/build/lib/commands/element.d.ts.map +1 -0
  28. package/build/lib/commands/element.js +213 -0
  29. package/build/lib/commands/element.js.map +1 -0
  30. package/build/lib/commands/extension.d.ts +87 -0
  31. package/build/lib/commands/extension.d.ts.map +1 -0
  32. package/build/lib/commands/extension.js +511 -0
  33. package/build/lib/commands/extension.js.map +1 -0
  34. package/build/lib/commands/functions.d.ts +3 -0
  35. package/build/lib/commands/functions.d.ts.map +1 -0
  36. package/build/lib/commands/functions.js +194 -0
  37. package/build/lib/commands/functions.js.map +1 -0
  38. package/build/lib/commands/index.d.ts +126 -0
  39. package/build/lib/commands/index.d.ts.map +1 -0
  40. package/build/lib/commands/index.js +54 -0
  41. package/build/lib/commands/index.js.map +1 -0
  42. package/build/lib/commands/powershell.d.ts +6 -0
  43. package/build/lib/commands/powershell.d.ts.map +1 -0
  44. package/build/lib/commands/powershell.js +204 -0
  45. package/build/lib/commands/powershell.js.map +1 -0
  46. package/build/lib/commands/system.d.ts +4 -0
  47. package/build/lib/commands/system.d.ts.map +1 -0
  48. package/build/lib/commands/system.js +8 -0
  49. package/build/lib/commands/system.js.map +1 -0
  50. package/build/lib/constants.d.ts +2 -0
  51. package/build/lib/constants.d.ts.map +1 -0
  52. package/build/lib/constants.js +5 -0
  53. package/build/lib/constants.js.map +1 -0
  54. package/build/lib/constraints.d.ts +40 -0
  55. package/build/lib/constraints.d.ts.map +1 -0
  56. package/build/lib/constraints.js +42 -0
  57. package/build/lib/constraints.js.map +1 -0
  58. package/build/lib/driver.d.ts +33 -0
  59. package/build/lib/driver.d.ts.map +1 -0
  60. package/build/lib/driver.js +181 -0
  61. package/build/lib/driver.js.map +1 -0
  62. package/build/lib/enums.d.ts +89 -0
  63. package/build/lib/enums.d.ts.map +1 -0
  64. package/build/lib/enums.js +83 -0
  65. package/build/lib/enums.js.map +1 -0
  66. package/build/lib/powershell/common.d.ts +39 -0
  67. package/build/lib/powershell/common.d.ts.map +1 -0
  68. package/build/lib/powershell/common.js +121 -0
  69. package/build/lib/powershell/common.js.map +1 -0
  70. package/build/lib/powershell/conditions.d.ts +24 -0
  71. package/build/lib/powershell/conditions.d.ts.map +1 -0
  72. package/build/lib/powershell/conditions.js +131 -0
  73. package/build/lib/powershell/conditions.js.map +1 -0
  74. package/build/lib/powershell/converter.d.ts +3 -0
  75. package/build/lib/powershell/converter.d.ts.map +1 -0
  76. package/build/lib/powershell/converter.js +273 -0
  77. package/build/lib/powershell/converter.js.map +1 -0
  78. package/build/lib/powershell/core.d.ts +8 -0
  79. package/build/lib/powershell/core.d.ts.map +1 -0
  80. package/build/lib/powershell/core.js +30 -0
  81. package/build/lib/powershell/core.js.map +1 -0
  82. package/build/lib/powershell/elements.d.ts +68 -0
  83. package/build/lib/powershell/elements.d.ts.map +1 -0
  84. package/build/lib/powershell/elements.js +515 -0
  85. package/build/lib/powershell/elements.js.map +1 -0
  86. package/build/lib/powershell/index.d.ts +8 -0
  87. package/build/lib/powershell/index.d.ts.map +1 -0
  88. package/build/lib/powershell/index.js +24 -0
  89. package/build/lib/powershell/index.js.map +1 -0
  90. package/build/lib/powershell/regex.d.ts +19 -0
  91. package/build/lib/powershell/regex.d.ts.map +1 -0
  92. package/build/lib/powershell/regex.js +68 -0
  93. package/build/lib/powershell/regex.js.map +1 -0
  94. package/build/lib/powershell/types.d.ts +155 -0
  95. package/build/lib/powershell/types.d.ts.map +1 -0
  96. package/build/lib/powershell/types.js +141 -0
  97. package/build/lib/powershell/types.js.map +1 -0
  98. package/build/lib/util.d.ts +10 -0
  99. package/build/lib/util.d.ts.map +1 -0
  100. package/build/lib/util.js +51 -0
  101. package/build/lib/util.js.map +1 -0
  102. package/build/lib/winapi/types/index.d.ts +8 -0
  103. package/build/lib/winapi/types/index.d.ts.map +1 -0
  104. package/build/lib/winapi/types/index.js +24 -0
  105. package/build/lib/winapi/types/index.js.map +1 -0
  106. package/build/lib/winapi/types/input.d.ts +11 -0
  107. package/build/lib/winapi/types/input.d.ts.map +1 -0
  108. package/build/lib/winapi/types/input.js +12 -0
  109. package/build/lib/winapi/types/input.js.map +1 -0
  110. package/build/lib/winapi/types/keyeventf.d.ts +13 -0
  111. package/build/lib/winapi/types/keyeventf.d.ts.map +1 -0
  112. package/build/lib/winapi/types/keyeventf.js +14 -0
  113. package/build/lib/winapi/types/keyeventf.js.map +1 -0
  114. package/build/lib/winapi/types/mouseeventf.d.ts +34 -0
  115. package/build/lib/winapi/types/mouseeventf.d.ts.map +1 -0
  116. package/build/lib/winapi/types/mouseeventf.js +37 -0
  117. package/build/lib/winapi/types/mouseeventf.js.map +1 -0
  118. package/build/lib/winapi/types/scancode.d.ts +95 -0
  119. package/build/lib/winapi/types/scancode.d.ts.map +1 -0
  120. package/build/lib/winapi/types/scancode.js +96 -0
  121. package/build/lib/winapi/types/scancode.js.map +1 -0
  122. package/build/lib/winapi/types/systemmetric.d.ts +214 -0
  123. package/build/lib/winapi/types/systemmetric.d.ts.map +1 -0
  124. package/build/lib/winapi/types/systemmetric.js +215 -0
  125. package/build/lib/winapi/types/systemmetric.js.map +1 -0
  126. package/build/lib/winapi/types/virtualkey.d.ts +353 -0
  127. package/build/lib/winapi/types/virtualkey.d.ts.map +1 -0
  128. package/build/lib/winapi/types/virtualkey.js +354 -0
  129. package/build/lib/winapi/types/virtualkey.js.map +1 -0
  130. package/build/lib/winapi/types/xmousebutton.d.ts +7 -0
  131. package/build/lib/winapi/types/xmousebutton.d.ts.map +1 -0
  132. package/build/lib/winapi/types/xmousebutton.js +8 -0
  133. package/build/lib/winapi/types/xmousebutton.js.map +1 -0
  134. package/build/lib/winapi/user32.d.ts +56 -0
  135. package/build/lib/winapi/user32.d.ts.map +1 -0
  136. package/build/lib/winapi/user32.js +591 -0
  137. package/build/lib/winapi/user32.js.map +1 -0
  138. package/build/lib/xpath/core.d.ts +8 -0
  139. package/build/lib/xpath/core.d.ts.map +1 -0
  140. package/build/lib/xpath/core.js +593 -0
  141. package/build/lib/xpath/core.js.map +1 -0
  142. package/build/lib/xpath/functions.d.ts +4 -0
  143. package/build/lib/xpath/functions.d.ts.map +1 -0
  144. package/build/lib/xpath/functions.js +271 -0
  145. package/build/lib/xpath/functions.js.map +1 -0
  146. package/build/lib/xpath/index.d.ts +3 -0
  147. package/build/lib/xpath/index.d.ts.map +1 -0
  148. package/build/lib/xpath/index.js +19 -0
  149. package/build/lib/xpath/index.js.map +1 -0
  150. package/eslint.config.mjs +11 -0
  151. package/examples/C#/CalculatorTest/CalculatorTest/CalculatorSession.cs +44 -0
  152. package/examples/C#/CalculatorTest/CalculatorTest/CalculatorTest.csproj +24 -0
  153. package/examples/C#/CalculatorTest/CalculatorTest/ScenarioStandard.cs +121 -0
  154. package/examples/C#/CalculatorTest/CalculatorTest/ScenarioStandardInvoke.cs +121 -0
  155. package/examples/C#/CalculatorTest/CalculatorTest.sln +16 -0
  156. package/lib/commands/actions.ts +229 -0
  157. package/lib/commands/app.ts +227 -0
  158. package/lib/commands/device.ts +41 -0
  159. package/lib/commands/element.ts +242 -0
  160. package/lib/commands/extension.ts +636 -0
  161. package/lib/commands/functions.ts +192 -0
  162. package/lib/commands/index.ts +28 -0
  163. package/lib/commands/powershell.ts +243 -0
  164. package/lib/commands/system.ts +7 -0
  165. package/lib/constants.ts +1 -0
  166. package/lib/constraints.ts +43 -0
  167. package/lib/driver.ts +247 -0
  168. package/lib/enums.ts +96 -0
  169. package/lib/powershell/common.ts +137 -0
  170. package/lib/powershell/conditions.ts +169 -0
  171. package/lib/powershell/converter.ts +373 -0
  172. package/lib/powershell/core.ts +29 -0
  173. package/lib/powershell/elements.ts +584 -0
  174. package/lib/powershell/index.ts +7 -0
  175. package/lib/powershell/regex.ts +77 -0
  176. package/lib/powershell/types.ts +208 -0
  177. package/lib/util.ts +52 -0
  178. package/lib/winapi/types/index.ts +7 -0
  179. package/lib/winapi/types/input.ts +12 -0
  180. package/lib/winapi/types/keyeventf.ts +14 -0
  181. package/lib/winapi/types/mouseeventf.ts +37 -0
  182. package/lib/winapi/types/scancode.ts +96 -0
  183. package/lib/winapi/types/systemmetric.ts +215 -0
  184. package/lib/winapi/types/virtualkey.ts +354 -0
  185. package/lib/winapi/types/xmousebutton.ts +8 -0
  186. package/lib/winapi/user32.ts +842 -0
  187. package/lib/xpath/core.ts +699 -0
  188. package/lib/xpath/functions.ts +366 -0
  189. package/lib/xpath/index.ts +2 -0
  190. package/package.json +61 -0
  191. package/tsconfig.json +13 -0
  192. package/verify_driver.js +96 -0
@@ -0,0 +1,2 @@
1
+ export declare const POWER_SHELL_FEATURE = "power_shell";
2
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../lib/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB,gBAAgB,CAAC"}
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.POWER_SHELL_FEATURE = void 0;
4
+ exports.POWER_SHELL_FEATURE = 'power_shell';
5
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../lib/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,mBAAmB,GAAG,aAAa,CAAC"}
@@ -0,0 +1,40 @@
1
+ export declare const UI_AUTOMATION_DRIVER_CONSTRAINTS: {
2
+ readonly platformName: {
3
+ readonly isString: true;
4
+ readonly inclusionCaseInsensitive: readonly ["Windows"];
5
+ readonly presence: true;
6
+ };
7
+ readonly smoothPointerMove: {
8
+ readonly isString: true;
9
+ };
10
+ readonly delayBeforeClick: {
11
+ readonly isNumber: true;
12
+ };
13
+ readonly delayAfterClick: {
14
+ readonly isNumber: true;
15
+ };
16
+ readonly appTopLevelWindow: {
17
+ readonly isString: true;
18
+ };
19
+ readonly shouldCloseApp: {
20
+ readonly isBoolean: true;
21
+ };
22
+ readonly appArguments: {
23
+ readonly isString: true;
24
+ };
25
+ readonly appWorkingDir: {
26
+ readonly isString: true;
27
+ };
28
+ readonly prerun: {
29
+ readonly isObject: true;
30
+ };
31
+ readonly postrun: {
32
+ readonly isObject: true;
33
+ };
34
+ readonly isolatedScriptExecution: {
35
+ readonly isBoolean: true;
36
+ };
37
+ };
38
+ export default UI_AUTOMATION_DRIVER_CONSTRAINTS;
39
+ export type NovaWindowsDriverConstraints = typeof UI_AUTOMATION_DRIVER_CONSTRAINTS;
40
+ //# sourceMappingURL=constraints.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constraints.d.ts","sourceRoot":"","sources":["../../lib/constraints.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoCb,CAAC;AAEjC,eAAe,gCAAgC,CAAC;AAEhD,MAAM,MAAM,4BAA4B,GAAG,OAAO,gCAAgC,CAAC"}
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UI_AUTOMATION_DRIVER_CONSTRAINTS = void 0;
4
+ exports.UI_AUTOMATION_DRIVER_CONSTRAINTS = {
5
+ platformName: {
6
+ isString: true,
7
+ inclusionCaseInsensitive: ['Windows'],
8
+ presence: true,
9
+ },
10
+ smoothPointerMove: {
11
+ isString: true,
12
+ },
13
+ delayBeforeClick: {
14
+ isNumber: true,
15
+ },
16
+ delayAfterClick: {
17
+ isNumber: true,
18
+ },
19
+ appTopLevelWindow: {
20
+ isString: true,
21
+ },
22
+ shouldCloseApp: {
23
+ isBoolean: true,
24
+ },
25
+ appArguments: {
26
+ isString: true,
27
+ },
28
+ appWorkingDir: {
29
+ isString: true,
30
+ },
31
+ prerun: {
32
+ isObject: true,
33
+ },
34
+ postrun: {
35
+ isObject: true,
36
+ },
37
+ isolatedScriptExecution: {
38
+ isBoolean: true,
39
+ }
40
+ };
41
+ exports.default = exports.UI_AUTOMATION_DRIVER_CONSTRAINTS;
42
+ //# sourceMappingURL=constraints.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constraints.js","sourceRoot":"","sources":["../../lib/constraints.ts"],"names":[],"mappings":";;;AAEa,QAAA,gCAAgC,GAAG;IAC5C,YAAY,EAAE;QACV,QAAQ,EAAE,IAAI;QACd,wBAAwB,EAAE,CAAC,SAAS,CAAC;QACrC,QAAQ,EAAE,IAAI;KACjB;IACD,iBAAiB,EAAE;QACf,QAAQ,EAAE,IAAI;KACjB;IACD,gBAAgB,EAAE;QACd,QAAQ,EAAE,IAAI;KACjB;IACD,eAAe,EAAE;QACb,QAAQ,EAAE,IAAI;KACjB;IACD,iBAAiB,EAAE;QACf,QAAQ,EAAE,IAAI;KACjB;IACD,cAAc,EAAE;QACZ,SAAS,EAAE,IAAI;KAClB;IACD,YAAY,EAAE;QACV,QAAQ,EAAE,IAAI;KACjB;IACD,aAAa,EAAE;QACX,QAAQ,EAAE,IAAI;KACjB;IACD,MAAM,EAAE;QACJ,QAAQ,EAAE,IAAI;KACjB;IACD,OAAO,EAAE;QACL,QAAQ,EAAE,IAAI;KACjB;IACD,uBAAuB,EAAE;QACrB,SAAS,EAAE,IAAI;KAClB;CAC2B,CAAC;AAEjC,kBAAe,wCAAgC,CAAC"}
@@ -0,0 +1,33 @@
1
+ import { ChildProcessWithoutNullStreams } from 'node:child_process';
2
+ import { BaseDriver } from '@appium/base-driver';
3
+ import { NovaWindowsDriverConstraints } from './constraints';
4
+ import type { DefaultCreateSessionResult, DriverData, Element, InitialOpts, StringRecord, W3CDriverCaps } from '@appium/types';
5
+ type W3CNovaWindowsDriverCaps = W3CDriverCaps<NovaWindowsDriverConstraints>;
6
+ type DefaultWindowsCreateSessionResult = DefaultCreateSessionResult<NovaWindowsDriverConstraints>;
7
+ type KeyboardState = {
8
+ pressed: Set<string>;
9
+ shift: boolean;
10
+ ctrl: boolean;
11
+ meta: boolean;
12
+ alt: boolean;
13
+ };
14
+ declare const LOCATION_STRATEGIES: readonly ["id", "name", "xpath", "tag name", "class name", "accessibility id", "-windows uiautomation"];
15
+ export declare class NovaWindowsDriver extends BaseDriver<NovaWindowsDriverConstraints, StringRecord> {
16
+ isPowerShellSessionStarted: boolean;
17
+ powerShell?: ChildProcessWithoutNullStreams;
18
+ powerShellStdOut: string;
19
+ powerShellStdErr: string;
20
+ keyboardState: KeyboardState;
21
+ constructor(opts?: InitialOpts, shouldValidateCaps?: boolean);
22
+ findElement(strategy: string, selector: string): Promise<Element>;
23
+ findElements(strategy: string, selector: string): Promise<Element[]>;
24
+ findElementFromElement(strategy: string, selector: string, elementId: string): Promise<Element>;
25
+ findElementsFromElement(strategy: string, selector: string, elementId: string): Promise<Element[]>;
26
+ findElOrEls(strategy: typeof LOCATION_STRATEGIES[number], selector: string, mult: true, context?: string): Promise<Element[]>;
27
+ findElOrEls(strategy: typeof LOCATION_STRATEGIES[number], selector: string, mult: false, context?: string): Promise<Element>;
28
+ createSession(jwpCaps: W3CNovaWindowsDriverCaps, reqCaps?: W3CNovaWindowsDriverCaps, w3cCaps?: W3CNovaWindowsDriverCaps, driverData?: DriverData[]): Promise<DefaultWindowsCreateSessionResult>;
29
+ deleteSession(sessionId?: string | null | undefined): Promise<void>;
30
+ private processSelector;
31
+ }
32
+ export {};
33
+ //# sourceMappingURL=driver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["../../lib/driver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAE,UAAU,EAA2B,MAAM,qBAAqB,CAAC;AAG1E,OAAO,EAEH,4BAA4B,EAC/B,MAAM,eAAe,CAAC;AAmBvB,OAAO,KAAK,EACR,0BAA0B,EAC1B,UAAU,EACV,OAAO,EACP,WAAW,EACX,YAAY,EACZ,aAAa,EAChB,MAAM,eAAe,CAAC;AAEvB,KAAK,wBAAwB,GAAG,aAAa,CAAC,4BAA4B,CAAC,CAAC;AAC5E,KAAK,iCAAiC,GAAG,0BAA0B,CAAC,4BAA4B,CAAC,CAAC;AAElG,KAAK,aAAa,GAAG;IACjB,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACrB,KAAK,EAAE,OAAO,CAAC;IACf,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,OAAO,CAAC;IACd,GAAG,EAAE,OAAO,CAAC;CAChB,CAAA;AAED,QAAA,MAAM,mBAAmB,yGAQd,CAAC;AAEZ,qBAAa,iBAAkB,SAAQ,UAAU,CAAC,4BAA4B,EAAE,YAAY,CAAC;IACzF,0BAA0B,EAAE,OAAO,CAAS;IAC5C,UAAU,CAAC,EAAE,8BAA8B,CAAC;IAC5C,gBAAgB,EAAE,MAAM,CAAM;IAC9B,gBAAgB,EAAE,MAAM,CAAM;IAC9B,aAAa,EAAE,aAAa,CAM1B;gBAEU,IAAI,GAAE,WAA+B,EAAE,kBAAkB,UAAO;IAW7D,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAKjE,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAKpE,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAK/F,uBAAuB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAKlG,WAAW,CAAC,QAAQ,EAAE,OAAO,mBAAmB,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7H,WAAW,CAAC,QAAQ,EAAE,OAAO,mBAAmB,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA8C5H,aAAa,CACxB,OAAO,EAAE,wBAAwB,EACjC,OAAO,CAAC,EAAE,wBAAwB,EAClC,OAAO,CAAC,EAAE,wBAAwB,EAClC,UAAU,CAAC,EAAE,UAAU,EAAE,GAC1B,OAAO,CAAC,iCAAiC,CAAC;IA0C9B,aAAa,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAwBlF,OAAO,CAAC,eAAe;CA4B1B"}
@@ -0,0 +1,181 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.NovaWindowsDriver = void 0;
7
+ const base_driver_1 = require("@appium/base-driver");
8
+ const support_1 = require("appium/support");
9
+ const commands_1 = __importDefault(require("./commands"));
10
+ const constraints_1 = require("./constraints");
11
+ const util_1 = require("./util");
12
+ const powershell_1 = require("./powershell");
13
+ const xpath_1 = require("./xpath");
14
+ const user32_1 = require("./winapi/user32");
15
+ const LOCATION_STRATEGIES = Object.freeze([
16
+ 'id',
17
+ 'name',
18
+ 'xpath',
19
+ 'tag name',
20
+ 'class name',
21
+ 'accessibility id',
22
+ '-windows uiautomation',
23
+ ]);
24
+ class NovaWindowsDriver extends base_driver_1.BaseDriver {
25
+ isPowerShellSessionStarted = false;
26
+ powerShell;
27
+ powerShellStdOut = '';
28
+ powerShellStdErr = '';
29
+ keyboardState = {
30
+ pressed: new Set(),
31
+ alt: false,
32
+ ctrl: false,
33
+ meta: false,
34
+ shift: false,
35
+ };
36
+ constructor(opts = {}, shouldValidateCaps = true) {
37
+ super(opts, shouldValidateCaps);
38
+ this.locatorStrategies = [...LOCATION_STRATEGIES];
39
+ this.desiredCapConstraints = constraints_1.UI_AUTOMATION_DRIVER_CONSTRAINTS;
40
+ for (const key in commands_1.default) { // TODO: create a decorator that will do that for the class
41
+ NovaWindowsDriver.prototype[key] = commands_1.default[key].bind(this);
42
+ }
43
+ }
44
+ async findElement(strategy, selector) {
45
+ [strategy, selector] = this.processSelector(strategy, selector);
46
+ return super.findElement(strategy, selector);
47
+ }
48
+ async findElements(strategy, selector) {
49
+ [strategy, selector] = this.processSelector(strategy, selector);
50
+ return super.findElements(strategy, selector);
51
+ }
52
+ async findElementFromElement(strategy, selector, elementId) {
53
+ [strategy, selector] = this.processSelector(strategy, selector);
54
+ return super.findElementFromElement(strategy, selector, elementId);
55
+ }
56
+ async findElementsFromElement(strategy, selector, elementId) {
57
+ [strategy, selector] = this.processSelector(strategy, selector);
58
+ return super.findElementsFromElement(strategy, selector, elementId);
59
+ }
60
+ async findElOrEls(strategy, selector, mult, context) {
61
+ let condition;
62
+ switch (strategy) {
63
+ case 'id':
64
+ condition = new powershell_1.PropertyCondition(powershell_1.Property.RUNTIME_ID, new powershell_1.PSInt32Array(selector.split('.').map(Number)));
65
+ break;
66
+ case 'tag name':
67
+ condition = new powershell_1.PropertyCondition(powershell_1.Property.CONTROL_TYPE, new powershell_1.PSControlType(selector));
68
+ break;
69
+ case 'accessibility id':
70
+ condition = new powershell_1.PropertyCondition(powershell_1.Property.AUTOMATION_ID, new powershell_1.PSString(selector));
71
+ break;
72
+ case 'name':
73
+ condition = new powershell_1.PropertyCondition(powershell_1.Property.NAME, new powershell_1.PSString(selector));
74
+ break;
75
+ case 'class name':
76
+ condition = new powershell_1.PropertyCondition(powershell_1.Property.CLASS_NAME, new powershell_1.PSString(selector));
77
+ break;
78
+ case '-windows uiautomation':
79
+ condition = (0, powershell_1.convertStringToCondition)(selector);
80
+ break;
81
+ case 'xpath':
82
+ return await (0, xpath_1.xpathToElIdOrIds)(selector, mult, context, this.sendPowerShellCommand.bind(this));
83
+ default:
84
+ throw new base_driver_1.errors.InvalidArgumentError(`Invalid find strategy ${strategy}`);
85
+ }
86
+ const searchContext = context ? new powershell_1.FoundAutomationElement(context) : powershell_1.AutomationElement.automationRoot;
87
+ if (mult) {
88
+ const result = await this.sendPowerShellCommand(searchContext.findAll(powershell_1.TreeScope.DESCENDANTS, condition).buildCommand());
89
+ const elIds = result.split('\n').map((elId) => elId.trim()).filter(Boolean);
90
+ return elIds.filter(Boolean).map((elId) => ({ [base_driver_1.W3C_ELEMENT_KEY]: elId }));
91
+ }
92
+ const result = await this.sendPowerShellCommand(searchContext.findFirst(powershell_1.TreeScope.DESCENDANTS, condition).buildCommand());
93
+ const elId = result.trim();
94
+ if (!elId) {
95
+ throw new base_driver_1.errors.NoSuchElementError();
96
+ }
97
+ return { [base_driver_1.W3C_ELEMENT_KEY]: elId };
98
+ }
99
+ async createSession(jwpCaps, reqCaps, w3cCaps, driverData) {
100
+ if (!support_1.system.isWindows()) {
101
+ this.log.errorWithException('Windows UI Automation tests only run on Windows.');
102
+ }
103
+ if (typeof w3cCaps?.alwaysMatch?.['appium:appTopLevelWindow'] === 'number') {
104
+ w3cCaps.alwaysMatch['appium:appTopLevelWindow'] = String(w3cCaps.alwaysMatch['appium:appTopLevelWindow']);
105
+ }
106
+ if (typeof w3cCaps?.firstMatch?.some['appium:appTopLevelWindow'] === 'number') {
107
+ w3cCaps.firstMatch['appium:appTopLevelWindow'] = w3cCaps.firstMatch['appium:appTopLevelWindow'].map(String);
108
+ }
109
+ try {
110
+ this.log.debug('Creating NovaWindows driver session...');
111
+ const [sessionId, caps] = await super.createSession(jwpCaps, reqCaps, w3cCaps, driverData);
112
+ if (caps.smoothPointerMove) {
113
+ (0, util_1.assertSupportedEasingFunction)(caps.smoothPointerMove);
114
+ }
115
+ if (caps.app && caps.appTopLevelWindow) {
116
+ throw new base_driver_1.errors.InvalidArgumentError('Invalid capabilities. Specify either app or appTopLevelWindow.');
117
+ }
118
+ if (this.caps.shouldCloseApp === undefined) {
119
+ this.caps.shouldCloseApp = true; // set default value
120
+ }
121
+ await this.startPowerShellSession();
122
+ if (this.caps.prerun) {
123
+ this.log.info('Executing prerun PowerShell script...');
124
+ await this.executePowerShellScript(this.caps.prerun);
125
+ }
126
+ (0, user32_1.setDpiAwareness)();
127
+ this.log.debug(`Started session ${sessionId}.`);
128
+ return [sessionId, caps];
129
+ }
130
+ catch (e) {
131
+ await this.deleteSession();
132
+ throw e;
133
+ }
134
+ }
135
+ async deleteSession(sessionId) {
136
+ this.log.debug('Deleting NovaWindows driver session...');
137
+ if (this.caps.shouldCloseApp && this.caps.app && this.caps.app.toLowerCase() !== 'root') {
138
+ try {
139
+ const result = await this.sendPowerShellCommand(powershell_1.AutomationElement.automationRoot.buildCommand());
140
+ const elementId = result.split('\n').map((id) => id.trim()).filter(Boolean)[0];
141
+ if (elementId) {
142
+ await this.sendPowerShellCommand(new powershell_1.FoundAutomationElement(elementId).buildCloseCommand());
143
+ }
144
+ }
145
+ catch {
146
+ // noop
147
+ }
148
+ } // change to close the whole process, not only the window
149
+ await this.terminatePowerShellSession();
150
+ if (this.caps.postrun) {
151
+ this.log.info('Executing postrun PowerShell script...');
152
+ await this.executePowerShellScript(this.caps.postrun);
153
+ }
154
+ await super.deleteSession(sessionId);
155
+ }
156
+ processSelector(strategy, selector) {
157
+ if (strategy !== 'css selector') {
158
+ return [strategy, selector];
159
+ }
160
+ this.log.warn('Warning: Use Appium mobile selectors instead of Selenium By, since most of them are based on CSS.');
161
+ const digitRegex = /\\3(\d) /;
162
+ if (selector.startsWith('.')) {
163
+ selector = selector.substring(1).replace(digitRegex, '$1');
164
+ strategy = 'class name';
165
+ return [strategy, selector];
166
+ }
167
+ if (selector.startsWith('#')) {
168
+ selector = selector.substring(1).replace(digitRegex, '$1');
169
+ strategy = 'id';
170
+ return [strategy, selector];
171
+ }
172
+ if (selector.startsWith('*[name')) {
173
+ selector = selector.substring(selector.indexOf('"') + 1, selector.lastIndexOf('"')).replace(digitRegex, '$1');
174
+ strategy = 'name';
175
+ return [strategy, selector];
176
+ }
177
+ return [strategy, selector];
178
+ }
179
+ }
180
+ exports.NovaWindowsDriver = NovaWindowsDriver;
181
+ //# sourceMappingURL=driver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"driver.js","sourceRoot":"","sources":["../../lib/driver.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,89 @@
1
+ type Enumerate<N extends number, Acc extends number[] = []> = Acc['length'] extends N ? Acc[number] : Enumerate<N, [...Acc, Acc['length']]>;
2
+ type IntRange<F extends number, T extends number> = Exclude<Enumerate<T>, Enumerate<F>> | T;
3
+ type AllFlagsValue<N extends number, A extends any[] = []> = [N] extends [Partial<A>['length']] ? A['length'] : UnionFlags<N, [0, ...A, ...A]>;
4
+ type UnionFlags<N extends number, A extends any[] = []> = IntRange<0, AllFlagsValue<N, A>>;
5
+ export type Enum<T> = T[keyof T];
6
+ export type FlagsEnum<T> = Enum<T> extends number ? UnionFlags<Enum<T>> : never;
7
+ export declare const Key: Readonly<{
8
+ readonly NULL: "";
9
+ readonly CANCEL: "";
10
+ readonly HELP: "";
11
+ readonly BACKSPACE: "";
12
+ readonly TAB: "";
13
+ readonly CLEAR: "";
14
+ readonly RETURN: "";
15
+ readonly ENTER: "";
16
+ readonly SHIFT: "";
17
+ readonly CONTROL: "";
18
+ readonly ALT: "";
19
+ readonly PAUSE: "";
20
+ readonly ESCAPE: "";
21
+ readonly SPACE: "";
22
+ readonly PAGE_UP: "";
23
+ readonly PAGE_DOWN: "";
24
+ readonly END: "";
25
+ readonly HOME: "";
26
+ readonly LEFT: "";
27
+ readonly UP: "";
28
+ readonly RIGHT: "";
29
+ readonly DOWN: "";
30
+ readonly INSERT: "";
31
+ readonly DELETE: "";
32
+ readonly SEMICOLON: "";
33
+ readonly EQUALS: "";
34
+ readonly NUMPAD0: "";
35
+ readonly NUMPAD1: "";
36
+ readonly NUMPAD2: "";
37
+ readonly NUMPAD3: "";
38
+ readonly NUMPAD4: "";
39
+ readonly NUMPAD5: "";
40
+ readonly NUMPAD6: "";
41
+ readonly NUMPAD7: "";
42
+ readonly NUMPAD8: "";
43
+ readonly NUMPAD9: "";
44
+ readonly MULTIPLY: "";
45
+ readonly ADD: "";
46
+ readonly SEPARATOR: "";
47
+ readonly SUBTRACT: "";
48
+ readonly DECIMAL: "";
49
+ readonly DIVIDE: "";
50
+ readonly F1: "";
51
+ readonly F2: "";
52
+ readonly F3: "";
53
+ readonly F4: "";
54
+ readonly F5: "";
55
+ readonly F6: "";
56
+ readonly F7: "";
57
+ readonly F8: "";
58
+ readonly F9: "";
59
+ readonly F10: "";
60
+ readonly F11: "";
61
+ readonly F12: "";
62
+ readonly META: "";
63
+ readonly ZENKAKUHANKAKU: "";
64
+ readonly R_SHIFT: "";
65
+ readonly R_CONTROL: "";
66
+ readonly R_ALT: "";
67
+ readonly R_META: "";
68
+ readonly R_PAGEUP: "";
69
+ readonly R_PAGEDOWN: "";
70
+ readonly R_END: "";
71
+ readonly R_HOME: "";
72
+ readonly R_ARROWLEFT: "";
73
+ readonly R_ARROWUP: "";
74
+ readonly R_ARROWRIGHT: "";
75
+ readonly R_ARROWDOWN: "";
76
+ readonly R_INSERT: "";
77
+ readonly R_DELETE: "";
78
+ }>;
79
+ export type Key = Enum<typeof Key>;
80
+ export declare const ClickType: Readonly<{
81
+ LEFT: "left";
82
+ MIDDLE: "middle";
83
+ RIGHT: "right";
84
+ BACK: "back";
85
+ FORWARD: "forward";
86
+ }>;
87
+ export type ClickType = Enum<typeof ClickType>;
88
+ export {};
89
+ //# sourceMappingURL=enums.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enums.d.ts","sourceRoot":"","sources":["../../lib/enums.ts"],"names":[],"mappings":"AAAA,KAAK,SAAS,CAAC,CAAC,SAAS,MAAM,EAAE,GAAG,SAAS,MAAM,EAAE,GAAG,EAAE,IAAI,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,GAC/E,GAAG,CAAC,MAAM,CAAC,GACX,SAAS,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;AAE3C,KAAK,QAAQ,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;AAE3F,KAAK,aAAa,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;AAC/I,KAAK,UAAU,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,GAAG,EAAE,GAAG,EAAE,IAAI,QAAQ,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAE3F,MAAM,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AACjC,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;AAEhF,eAAO,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuEL,CAAC;AAEZ,MAAM,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;AAEnC,eAAO,MAAM,SAAS;;;;;;EAMpB,CAAC;AAEH,MAAM,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,SAAS,CAAC,CAAC"}
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ClickType = exports.Key = void 0;
4
+ exports.Key = Object.freeze({
5
+ NULL: '\uE000',
6
+ CANCEL: '\uE001',
7
+ HELP: '\uE002',
8
+ BACKSPACE: '\uE003',
9
+ TAB: '\uE004',
10
+ CLEAR: '\uE005',
11
+ RETURN: '\uE006',
12
+ ENTER: '\uE007',
13
+ SHIFT: '\uE008',
14
+ CONTROL: '\uE009',
15
+ ALT: '\uE00A',
16
+ PAUSE: '\uE00B',
17
+ ESCAPE: '\uE00C',
18
+ SPACE: '\uE00D',
19
+ PAGE_UP: '\uE00E',
20
+ PAGE_DOWN: '\uE00F',
21
+ END: '\uE010',
22
+ HOME: '\uE011',
23
+ LEFT: '\uE012',
24
+ UP: '\uE013',
25
+ RIGHT: '\uE014',
26
+ DOWN: '\uE015',
27
+ INSERT: '\uE016',
28
+ DELETE: '\uE017',
29
+ SEMICOLON: '\uE018',
30
+ EQUALS: '\uE019',
31
+ NUMPAD0: '\uE01A',
32
+ NUMPAD1: '\uE01B',
33
+ NUMPAD2: '\uE01C',
34
+ NUMPAD3: '\uE01D',
35
+ NUMPAD4: '\uE01E',
36
+ NUMPAD5: '\uE01F',
37
+ NUMPAD6: '\uE020',
38
+ NUMPAD7: '\uE021',
39
+ NUMPAD8: '\uE022',
40
+ NUMPAD9: '\uE023',
41
+ MULTIPLY: '\uE024',
42
+ ADD: '\uE025',
43
+ SEPARATOR: '\uE026',
44
+ SUBTRACT: '\uE027',
45
+ DECIMAL: '\uE028',
46
+ DIVIDE: '\uE029',
47
+ F1: '\uE031',
48
+ F2: '\uE032',
49
+ F3: '\uE033',
50
+ F4: '\uE034',
51
+ F5: '\uE035',
52
+ F6: '\uE036',
53
+ F7: '\uE037',
54
+ F8: '\uE038',
55
+ F9: '\uE039',
56
+ F10: '\uE03A',
57
+ F11: '\uE03B',
58
+ F12: '\uE03C',
59
+ META: '\uE03D',
60
+ ZENKAKUHANKAKU: '\uE040',
61
+ R_SHIFT: '\uE050',
62
+ R_CONTROL: '\uE051',
63
+ R_ALT: '\uE052',
64
+ R_META: '\uE053',
65
+ R_PAGEUP: '\uE054',
66
+ R_PAGEDOWN: '\uE055',
67
+ R_END: '\uE056',
68
+ R_HOME: '\uE057',
69
+ R_ARROWLEFT: '\uE058',
70
+ R_ARROWUP: '\uE059',
71
+ R_ARROWRIGHT: '\uE05A',
72
+ R_ARROWDOWN: '\uE05B',
73
+ R_INSERT: '\uE05C',
74
+ R_DELETE: '\uE05D',
75
+ });
76
+ exports.ClickType = Object.freeze({
77
+ LEFT: 'left',
78
+ MIDDLE: 'middle',
79
+ RIGHT: 'right',
80
+ BACK: 'back',
81
+ FORWARD: 'forward'
82
+ });
83
+ //# sourceMappingURL=enums.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enums.js","sourceRoot":"","sources":["../../lib/enums.ts"],"names":[],"mappings":";;;AAYa,QAAA,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC;IAC7B,IAAI,EAAE,QAAQ;IACd,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,QAAQ;IACd,SAAS,EAAE,QAAQ;IACnB,GAAG,EAAE,QAAQ;IACb,KAAK,EAAE,QAAQ;IACf,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,QAAQ;IACf,KAAK,EAAE,QAAQ;IACf,OAAO,EAAE,QAAQ;IACjB,GAAG,EAAE,QAAQ;IACb,KAAK,EAAE,QAAQ;IACf,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,QAAQ;IACf,OAAO,EAAE,QAAQ;IACjB,SAAS,EAAE,QAAQ;IACnB,GAAG,EAAE,QAAQ;IACb,IAAI,EAAE,QAAQ;IACd,IAAI,EAAE,QAAQ;IACd,EAAE,EAAE,QAAQ;IACZ,KAAK,EAAE,QAAQ;IACf,IAAI,EAAE,QAAQ;IACd,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,SAAS,EAAE,QAAQ;IACnB,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,QAAQ;IACjB,OAAO,EAAE,QAAQ;IACjB,OAAO,EAAE,QAAQ;IACjB,OAAO,EAAE,QAAQ;IACjB,OAAO,EAAE,QAAQ;IACjB,OAAO,EAAE,QAAQ;IACjB,OAAO,EAAE,QAAQ;IACjB,OAAO,EAAE,QAAQ;IACjB,OAAO,EAAE,QAAQ;IACjB,OAAO,EAAE,QAAQ;IACjB,QAAQ,EAAE,QAAQ;IAClB,GAAG,EAAE,QAAQ;IACb,SAAS,EAAE,QAAQ;IACnB,QAAQ,EAAE,QAAQ;IAClB,OAAO,EAAE,QAAQ;IACjB,MAAM,EAAE,QAAQ;IAChB,EAAE,EAAE,QAAQ;IACZ,EAAE,EAAE,QAAQ;IACZ,EAAE,EAAE,QAAQ;IACZ,EAAE,EAAE,QAAQ;IACZ,EAAE,EAAE,QAAQ;IACZ,EAAE,EAAE,QAAQ;IACZ,EAAE,EAAE,QAAQ;IACZ,EAAE,EAAE,QAAQ;IACZ,EAAE,EAAE,QAAQ;IACZ,GAAG,EAAE,QAAQ;IACb,GAAG,EAAE,QAAQ;IACb,GAAG,EAAE,QAAQ;IACb,IAAI,EAAE,QAAQ;IACd,cAAc,EAAE,QAAQ;IACxB,OAAO,EAAE,QAAQ;IACjB,SAAS,EAAE,QAAQ;IACnB,KAAK,EAAE,QAAQ;IACf,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,QAAQ;IAClB,UAAU,EAAE,QAAQ;IACpB,KAAK,EAAE,QAAQ;IACf,MAAM,EAAE,QAAQ;IAChB,WAAW,EAAE,QAAQ;IACrB,SAAS,EAAE,QAAQ;IACnB,YAAY,EAAE,QAAQ;IACtB,WAAW,EAAE,QAAQ;IACrB,QAAQ,EAAE,QAAQ;IAClB,QAAQ,EAAE,QAAQ;CACZ,CAAC,CAAC;AAIC,QAAA,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC;IACnC,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,SAAS;CACrB,CAAC,CAAC"}
@@ -0,0 +1,39 @@
1
+ import { Element, Position, Rect } from '@appium/types';
2
+ import { PSObject } from './core';
3
+ export declare class PSString extends PSObject {
4
+ constructor(value: string);
5
+ }
6
+ export declare class PSBoolean extends PSObject {
7
+ constructor(value: boolean);
8
+ }
9
+ export declare class PSInt32 extends PSObject {
10
+ constructor(value: number);
11
+ }
12
+ export declare class PSInt32Array extends PSObject {
13
+ constructor(value: number[]);
14
+ }
15
+ export declare class PSAutomationHeadingLevel extends PSObject {
16
+ readonly originalValue: string;
17
+ constructor(value: string);
18
+ }
19
+ export declare class PSOrientationType extends PSObject {
20
+ readonly originalValue: string;
21
+ constructor(value: string);
22
+ }
23
+ export declare class PSControlType extends PSObject {
24
+ constructor(value: string);
25
+ }
26
+ export declare class PSPoint extends PSObject {
27
+ constructor(value: Position);
28
+ }
29
+ export declare class PSRect extends PSObject {
30
+ constructor(value: Rect);
31
+ }
32
+ export declare class PSAutomationElement extends PSObject {
33
+ constructor(value: Element);
34
+ }
35
+ export declare class PSCultureInfo extends PSObject {
36
+ constructor(name: string, useUserOverride?: boolean);
37
+ constructor(culture: number, useUserOverride?: boolean);
38
+ }
39
+ //# sourceMappingURL=common.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../lib/powershell/common.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAQxD,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAElC,qBAAa,QAAS,SAAQ,QAAQ;gBACtB,KAAK,EAAE,MAAM;CAM5B;AAED,qBAAa,SAAU,SAAQ,QAAQ;gBACvB,KAAK,EAAE,OAAO;CAM7B;AAED,qBAAa,OAAQ,SAAQ,QAAQ;gBACrB,KAAK,EAAE,MAAM;CAM5B;AAED,qBAAa,YAAa,SAAQ,QAAQ;gBAC1B,KAAK,EAAE,MAAM,EAAE;CAO9B;AAED,qBAAa,wBAAyB,SAAQ,QAAQ;IAClD,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;gBAEnB,KAAK,EAAE,MAAM;CAQ5B;AAED,qBAAa,iBAAkB,SAAQ,QAAQ;IAC3C,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;gBAEnB,KAAK,EAAE,MAAM;CAQ5B;AAED,qBAAa,aAAc,SAAQ,QAAQ;gBAC3B,KAAK,EAAE,MAAM;CAiB5B;AAED,qBAAa,OAAQ,SAAQ,QAAQ;gBACrB,KAAK,EAAE,QAAQ;CAQ9B;AAED,qBAAa,MAAO,SAAQ,QAAQ;gBACpB,KAAK,EAAE,IAAI;CAQ1B;AAED,qBAAa,mBAAoB,SAAQ,QAAQ;gBACjC,KAAK,EAAE,OAAO;CAO7B;AAED,qBAAa,aAAc,SAAQ,QAAQ;gBAC3B,IAAI,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,OAAO;gBACvC,OAAO,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,OAAO;CAQzD"}