patchright-core 1.48.2

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 (333) hide show
  1. package/README.md +3 -0
  2. package/ThirdPartyNotices.txt +1548 -0
  3. package/bin/PrintDeps.exe +0 -0
  4. package/bin/README.md +2 -0
  5. package/bin/install_media_pack.ps1 +5 -0
  6. package/bin/reinstall_chrome_beta_linux.sh +40 -0
  7. package/bin/reinstall_chrome_beta_mac.sh +13 -0
  8. package/bin/reinstall_chrome_beta_win.ps1 +24 -0
  9. package/bin/reinstall_chrome_stable_linux.sh +40 -0
  10. package/bin/reinstall_chrome_stable_mac.sh +12 -0
  11. package/bin/reinstall_chrome_stable_win.ps1 +24 -0
  12. package/bin/reinstall_msedge_beta_linux.sh +40 -0
  13. package/bin/reinstall_msedge_beta_mac.sh +11 -0
  14. package/bin/reinstall_msedge_beta_win.ps1 +23 -0
  15. package/bin/reinstall_msedge_dev_linux.sh +40 -0
  16. package/bin/reinstall_msedge_dev_mac.sh +11 -0
  17. package/bin/reinstall_msedge_dev_win.ps1 +23 -0
  18. package/bin/reinstall_msedge_stable_linux.sh +40 -0
  19. package/bin/reinstall_msedge_stable_mac.sh +11 -0
  20. package/bin/reinstall_msedge_stable_win.ps1 +24 -0
  21. package/browsers.json +57 -0
  22. package/cli.js +18 -0
  23. package/index.d.ts +17 -0
  24. package/index.js +33 -0
  25. package/index.mjs +28 -0
  26. package/lib/androidServerImpl.js +69 -0
  27. package/lib/browserServerImpl.js +92 -0
  28. package/lib/cli/driver.js +95 -0
  29. package/lib/cli/program.js +589 -0
  30. package/lib/cli/programWithTestStub.js +67 -0
  31. package/lib/client/accessibility.js +50 -0
  32. package/lib/client/android.js +473 -0
  33. package/lib/client/api.js +285 -0
  34. package/lib/client/artifact.js +79 -0
  35. package/lib/client/browser.js +145 -0
  36. package/lib/client/browserContext.js +583 -0
  37. package/lib/client/browserType.js +241 -0
  38. package/lib/client/cdpSession.js +53 -0
  39. package/lib/client/channelOwner.js +235 -0
  40. package/lib/client/clientHelper.js +57 -0
  41. package/lib/client/clientInstrumentation.js +50 -0
  42. package/lib/client/clock.js +69 -0
  43. package/lib/client/connection.js +333 -0
  44. package/lib/client/consoleMessage.js +55 -0
  45. package/lib/client/coverage.js +41 -0
  46. package/lib/client/dialog.js +57 -0
  47. package/lib/client/download.js +62 -0
  48. package/lib/client/electron.js +135 -0
  49. package/lib/client/elementHandle.js +321 -0
  50. package/lib/client/errors.js +77 -0
  51. package/lib/client/eventEmitter.js +314 -0
  52. package/lib/client/events.js +94 -0
  53. package/lib/client/fetch.js +391 -0
  54. package/lib/client/fileChooser.js +45 -0
  55. package/lib/client/frame.js +504 -0
  56. package/lib/client/harRouter.js +99 -0
  57. package/lib/client/input.js +111 -0
  58. package/lib/client/jsHandle.js +121 -0
  59. package/lib/client/jsonPipe.js +35 -0
  60. package/lib/client/localUtils.js +36 -0
  61. package/lib/client/locator.js +441 -0
  62. package/lib/client/network.js +762 -0
  63. package/lib/client/page.js +770 -0
  64. package/lib/client/playwright.js +80 -0
  65. package/lib/client/selectors.js +67 -0
  66. package/lib/client/stream.js +54 -0
  67. package/lib/client/tracing.js +134 -0
  68. package/lib/client/types.js +24 -0
  69. package/lib/client/video.js +51 -0
  70. package/lib/client/waiter.js +158 -0
  71. package/lib/client/webError.js +37 -0
  72. package/lib/client/worker.js +71 -0
  73. package/lib/client/writableStream.js +54 -0
  74. package/lib/common/socksProxy.js +569 -0
  75. package/lib/common/timeoutSettings.js +73 -0
  76. package/lib/common/types.js +5 -0
  77. package/lib/generated/clockSource.js +7 -0
  78. package/lib/generated/consoleApiSource.js +7 -0
  79. package/lib/generated/injectedScriptSource.js +7 -0
  80. package/lib/generated/pollingRecorderSource.js +7 -0
  81. package/lib/generated/utilityScriptSource.js +7 -0
  82. package/lib/generated/webSocketMockSource.js +7 -0
  83. package/lib/image_tools/colorUtils.js +98 -0
  84. package/lib/image_tools/compare.js +108 -0
  85. package/lib/image_tools/imageChannel.js +70 -0
  86. package/lib/image_tools/stats.js +102 -0
  87. package/lib/inProcessFactory.js +54 -0
  88. package/lib/inprocess.js +20 -0
  89. package/lib/outofprocess.js +67 -0
  90. package/lib/protocol/debug.js +27 -0
  91. package/lib/protocol/serializers.js +173 -0
  92. package/lib/protocol/transport.js +82 -0
  93. package/lib/protocol/validator.js +2760 -0
  94. package/lib/protocol/validatorPrimitives.js +139 -0
  95. package/lib/remote/playwrightConnection.js +274 -0
  96. package/lib/remote/playwrightServer.js +110 -0
  97. package/lib/server/accessibility.js +62 -0
  98. package/lib/server/android/android.js +441 -0
  99. package/lib/server/android/backendAdb.js +172 -0
  100. package/lib/server/artifact.js +104 -0
  101. package/lib/server/bidi/bidiBrowser.js +311 -0
  102. package/lib/server/bidi/bidiChromium.js +124 -0
  103. package/lib/server/bidi/bidiConnection.js +206 -0
  104. package/lib/server/bidi/bidiExecutionContext.js +159 -0
  105. package/lib/server/bidi/bidiFirefox.js +104 -0
  106. package/lib/server/bidi/bidiInput.js +158 -0
  107. package/lib/server/bidi/bidiNetworkManager.js +338 -0
  108. package/lib/server/bidi/bidiOverCdp.js +103 -0
  109. package/lib/server/bidi/bidiPage.js +529 -0
  110. package/lib/server/bidi/bidiPdf.js +140 -0
  111. package/lib/server/bidi/third_party/bidiDeserializer.js +93 -0
  112. package/lib/server/bidi/third_party/bidiKeyboard.js +238 -0
  113. package/lib/server/bidi/third_party/bidiProtocol.js +139 -0
  114. package/lib/server/bidi/third_party/bidiSerializer.js +144 -0
  115. package/lib/server/bidi/third_party/firefoxPrefs.js +221 -0
  116. package/lib/server/browser.js +148 -0
  117. package/lib/server/browserContext.js +666 -0
  118. package/lib/server/browserType.js +335 -0
  119. package/lib/server/chromium/appIcon.png +0 -0
  120. package/lib/server/chromium/chromium.js +350 -0
  121. package/lib/server/chromium/chromiumSwitches.js +36 -0
  122. package/lib/server/chromium/crAccessibility.js +237 -0
  123. package/lib/server/chromium/crBrowser.js +522 -0
  124. package/lib/server/chromium/crConnection.js +228 -0
  125. package/lib/server/chromium/crCoverage.js +246 -0
  126. package/lib/server/chromium/crDevTools.js +104 -0
  127. package/lib/server/chromium/crDragDrop.js +143 -0
  128. package/lib/server/chromium/crExecutionContext.js +149 -0
  129. package/lib/server/chromium/crInput.js +171 -0
  130. package/lib/server/chromium/crNetworkManager.js +809 -0
  131. package/lib/server/chromium/crPage.js +1235 -0
  132. package/lib/server/chromium/crPdf.js +153 -0
  133. package/lib/server/chromium/crProtocolHelper.js +133 -0
  134. package/lib/server/chromium/crServiceWorker.js +111 -0
  135. package/lib/server/chromium/defaultFontFamilies.js +145 -0
  136. package/lib/server/chromium/videoRecorder.js +155 -0
  137. package/lib/server/clock.js +133 -0
  138. package/lib/server/codegen/csharp.js +299 -0
  139. package/lib/server/codegen/java.js +235 -0
  140. package/lib/server/codegen/javascript.js +223 -0
  141. package/lib/server/codegen/jsonl.js +47 -0
  142. package/lib/server/codegen/language.js +88 -0
  143. package/lib/server/codegen/languages.js +30 -0
  144. package/lib/server/codegen/python.js +265 -0
  145. package/lib/server/codegen/types.js +5 -0
  146. package/lib/server/console.js +57 -0
  147. package/lib/server/cookieStore.js +185 -0
  148. package/lib/server/debugController.js +234 -0
  149. package/lib/server/debugger.js +132 -0
  150. package/lib/server/deviceDescriptors.js +26 -0
  151. package/lib/server/deviceDescriptorsSource.json +1669 -0
  152. package/lib/server/dialog.js +71 -0
  153. package/lib/server/dispatchers/androidDispatcher.js +193 -0
  154. package/lib/server/dispatchers/artifactDispatcher.js +118 -0
  155. package/lib/server/dispatchers/browserContextDispatcher.js +368 -0
  156. package/lib/server/dispatchers/browserDispatcher.js +170 -0
  157. package/lib/server/dispatchers/browserTypeDispatcher.js +55 -0
  158. package/lib/server/dispatchers/cdpSessionDispatcher.js +48 -0
  159. package/lib/server/dispatchers/debugControllerDispatcher.js +103 -0
  160. package/lib/server/dispatchers/dialogDispatcher.js +44 -0
  161. package/lib/server/dispatchers/dispatcher.js +395 -0
  162. package/lib/server/dispatchers/electronDispatcher.js +93 -0
  163. package/lib/server/dispatchers/elementHandlerDispatcher.js +228 -0
  164. package/lib/server/dispatchers/frameDispatcher.js +286 -0
  165. package/lib/server/dispatchers/jsHandleDispatcher.js +97 -0
  166. package/lib/server/dispatchers/jsonPipeDispatcher.js +59 -0
  167. package/lib/server/dispatchers/localUtilsDispatcher.js +413 -0
  168. package/lib/server/dispatchers/networkDispatchers.js +221 -0
  169. package/lib/server/dispatchers/pageDispatcher.js +367 -0
  170. package/lib/server/dispatchers/playwrightDispatcher.js +107 -0
  171. package/lib/server/dispatchers/selectorsDispatcher.js +36 -0
  172. package/lib/server/dispatchers/streamDispatcher.js +62 -0
  173. package/lib/server/dispatchers/tracingDispatcher.js +54 -0
  174. package/lib/server/dispatchers/webSocketRouteDispatcher.js +189 -0
  175. package/lib/server/dispatchers/writableStreamDispatcher.js +58 -0
  176. package/lib/server/dom.js +845 -0
  177. package/lib/server/download.js +60 -0
  178. package/lib/server/electron/electron.js +296 -0
  179. package/lib/server/electron/loader.js +57 -0
  180. package/lib/server/errors.js +68 -0
  181. package/lib/server/fetch.js +656 -0
  182. package/lib/server/fileChooser.js +42 -0
  183. package/lib/server/fileUploadUtils.js +75 -0
  184. package/lib/server/firefox/ffAccessibility.js +216 -0
  185. package/lib/server/firefox/ffBrowser.js +460 -0
  186. package/lib/server/firefox/ffConnection.js +168 -0
  187. package/lib/server/firefox/ffExecutionContext.js +135 -0
  188. package/lib/server/firefox/ffInput.js +150 -0
  189. package/lib/server/firefox/ffNetworkManager.js +233 -0
  190. package/lib/server/firefox/ffPage.js +559 -0
  191. package/lib/server/firefox/firefox.js +99 -0
  192. package/lib/server/formData.js +75 -0
  193. package/lib/server/frameSelectors.js +171 -0
  194. package/lib/server/frames.js +1808 -0
  195. package/lib/server/har/harRecorder.js +139 -0
  196. package/lib/server/har/harTracer.js +542 -0
  197. package/lib/server/helper.js +103 -0
  198. package/lib/server/index.js +114 -0
  199. package/lib/server/input.js +310 -0
  200. package/lib/server/instrumentation.js +70 -0
  201. package/lib/server/isomorphic/utilityScriptSerializers.js +226 -0
  202. package/lib/server/javascript.js +299 -0
  203. package/lib/server/launchApp.js +91 -0
  204. package/lib/server/macEditingCommands.js +139 -0
  205. package/lib/server/network.js +617 -0
  206. package/lib/server/page.js +819 -0
  207. package/lib/server/pipeTransport.js +85 -0
  208. package/lib/server/playwright.js +88 -0
  209. package/lib/server/progress.js +102 -0
  210. package/lib/server/protocolError.js +49 -0
  211. package/lib/server/recorder/contextRecorder.js +299 -0
  212. package/lib/server/recorder/recorderApp.js +196 -0
  213. package/lib/server/recorder/recorderCollection.js +116 -0
  214. package/lib/server/recorder/recorderFrontend.js +5 -0
  215. package/lib/server/recorder/recorderInTraceViewer.js +144 -0
  216. package/lib/server/recorder/recorderRunner.js +155 -0
  217. package/lib/server/recorder/recorderUtils.js +112 -0
  218. package/lib/server/recorder/throttledFile.js +46 -0
  219. package/lib/server/recorder.js +329 -0
  220. package/lib/server/registry/browserFetcher.js +168 -0
  221. package/lib/server/registry/dependencies.js +322 -0
  222. package/lib/server/registry/index.js +1005 -0
  223. package/lib/server/registry/nativeDeps.js +490 -0
  224. package/lib/server/registry/oopDownloadBrowserMain.js +138 -0
  225. package/lib/server/screenshotter.js +348 -0
  226. package/lib/server/selectors.js +73 -0
  227. package/lib/server/socksClientCertificatesInterceptor.js +340 -0
  228. package/lib/server/socksInterceptor.js +100 -0
  229. package/lib/server/trace/recorder/snapshotter.js +172 -0
  230. package/lib/server/trace/recorder/snapshotterInjected.js +493 -0
  231. package/lib/server/trace/recorder/tracing.js +542 -0
  232. package/lib/server/trace/test/inMemorySnapshotter.js +93 -0
  233. package/lib/server/trace/viewer/traceViewer.js +213 -0
  234. package/lib/server/transport.js +191 -0
  235. package/lib/server/types.js +24 -0
  236. package/lib/server/usKeyboardLayout.js +555 -0
  237. package/lib/server/webkit/webkit.js +87 -0
  238. package/lib/server/webkit/wkAccessibility.js +194 -0
  239. package/lib/server/webkit/wkBrowser.js +329 -0
  240. package/lib/server/webkit/wkConnection.js +173 -0
  241. package/lib/server/webkit/wkExecutionContext.js +143 -0
  242. package/lib/server/webkit/wkInput.js +169 -0
  243. package/lib/server/webkit/wkInterceptableRequest.js +162 -0
  244. package/lib/server/webkit/wkPage.js +1219 -0
  245. package/lib/server/webkit/wkProvisionalPage.js +94 -0
  246. package/lib/server/webkit/wkWorkers.js +104 -0
  247. package/lib/third_party/diff_match_patch.js +2222 -0
  248. package/lib/third_party/pixelmatch.js +255 -0
  249. package/lib/utils/ascii.js +31 -0
  250. package/lib/utils/comparators.js +171 -0
  251. package/lib/utils/crypto.js +174 -0
  252. package/lib/utils/debug.js +46 -0
  253. package/lib/utils/debugLogger.js +91 -0
  254. package/lib/utils/env.js +49 -0
  255. package/lib/utils/eventsHelper.js +38 -0
  256. package/lib/utils/expectUtils.js +33 -0
  257. package/lib/utils/fileUtils.js +205 -0
  258. package/lib/utils/happy-eyeballs.js +194 -0
  259. package/lib/utils/headers.js +52 -0
  260. package/lib/utils/hostPlatform.js +133 -0
  261. package/lib/utils/httpServer.js +237 -0
  262. package/lib/utils/index.js +368 -0
  263. package/lib/utils/isomorphic/cssParser.js +250 -0
  264. package/lib/utils/isomorphic/cssTokenizer.js +979 -0
  265. package/lib/utils/isomorphic/locatorGenerators.js +642 -0
  266. package/lib/utils/isomorphic/locatorParser.js +179 -0
  267. package/lib/utils/isomorphic/locatorUtils.js +62 -0
  268. package/lib/utils/isomorphic/mimeType.js +29 -0
  269. package/lib/utils/isomorphic/recorderUtils.js +195 -0
  270. package/lib/utils/isomorphic/selectorParser.js +397 -0
  271. package/lib/utils/isomorphic/stringUtils.js +139 -0
  272. package/lib/utils/isomorphic/traceUtils.js +39 -0
  273. package/lib/utils/isomorphic/urlMatch.js +120 -0
  274. package/lib/utils/linuxUtils.js +78 -0
  275. package/lib/utils/manualPromise.js +109 -0
  276. package/lib/utils/multimap.js +75 -0
  277. package/lib/utils/network.js +160 -0
  278. package/lib/utils/processLauncher.js +248 -0
  279. package/lib/utils/profiler.js +53 -0
  280. package/lib/utils/rtti.js +44 -0
  281. package/lib/utils/semaphore.js +51 -0
  282. package/lib/utils/spawnAsync.js +45 -0
  283. package/lib/utils/stackTrace.js +121 -0
  284. package/lib/utils/task.js +58 -0
  285. package/lib/utils/time.js +37 -0
  286. package/lib/utils/timeoutRunner.js +66 -0
  287. package/lib/utils/traceUtils.js +44 -0
  288. package/lib/utils/userAgent.js +105 -0
  289. package/lib/utils/wsServer.js +127 -0
  290. package/lib/utils/zipFile.js +75 -0
  291. package/lib/utils/zones.js +62 -0
  292. package/lib/utilsBundle.js +82 -0
  293. package/lib/utilsBundleImpl/index.js +53 -0
  294. package/lib/utilsBundleImpl/xdg-open +1066 -0
  295. package/lib/vite/htmlReport/index.html +66 -0
  296. package/lib/vite/recorder/assets/codeMirrorModule-baozm8ur.js +24 -0
  297. package/lib/vite/recorder/assets/codeMirrorModule-ez37Vkbh.css +1 -0
  298. package/lib/vite/recorder/assets/codicon-DCmgc-ay.ttf +0 -0
  299. package/lib/vite/recorder/assets/index-2ElAIWFB.js +42 -0
  300. package/lib/vite/recorder/assets/index-BW-aOBcL.css +1 -0
  301. package/lib/vite/recorder/index.html +29 -0
  302. package/lib/vite/recorder/playwright-logo.svg +9 -0
  303. package/lib/vite/traceViewer/assets/codeMirrorModule-Bh1rfd2w.js +24 -0
  304. package/lib/vite/traceViewer/assets/inspectorTab-7GHnKvSD.js +64 -0
  305. package/lib/vite/traceViewer/assets/testServerConnection-DeE2kSzz.js +1 -0
  306. package/lib/vite/traceViewer/assets/workbench-DPQnTHYP.js +9 -0
  307. package/lib/vite/traceViewer/assets/xtermModule-BeNbaIVa.js +9 -0
  308. package/lib/vite/traceViewer/codeMirrorModule.ez37Vkbh.css +1 -0
  309. package/lib/vite/traceViewer/codicon.DCmgc-ay.ttf +0 -0
  310. package/lib/vite/traceViewer/embedded.BlHoW5LY.js +2 -0
  311. package/lib/vite/traceViewer/embedded.html +18 -0
  312. package/lib/vite/traceViewer/embedded.w7WN2u1R.css +1 -0
  313. package/lib/vite/traceViewer/index.CrbWWHbf.css +1 -0
  314. package/lib/vite/traceViewer/index.DaWVfou1.js +2 -0
  315. package/lib/vite/traceViewer/index.html +29 -0
  316. package/lib/vite/traceViewer/inspectorTab.DLjBDrQR.css +1 -0
  317. package/lib/vite/traceViewer/playwright-logo.svg +9 -0
  318. package/lib/vite/traceViewer/recorder.B_SY1GJM.css +0 -0
  319. package/lib/vite/traceViewer/recorder.C4zxcvd2.js +2 -0
  320. package/lib/vite/traceViewer/recorder.html +17 -0
  321. package/lib/vite/traceViewer/snapshot.html +21 -0
  322. package/lib/vite/traceViewer/sw.bundle.js +3 -0
  323. package/lib/vite/traceViewer/uiMode.CAYqod-m.css +1 -0
  324. package/lib/vite/traceViewer/uiMode.html +20 -0
  325. package/lib/vite/traceViewer/uiMode.mTXWniJb.js +5 -0
  326. package/lib/vite/traceViewer/workbench.D3JVcA9K.css +1 -0
  327. package/lib/vite/traceViewer/xtermModule.DSXBckUd.css +32 -0
  328. package/lib/zipBundle.js +25 -0
  329. package/lib/zipBundleImpl.js +5 -0
  330. package/package.json +44 -0
  331. package/types/protocol.d.ts +21571 -0
  332. package/types/structs.d.ts +45 -0
  333. package/types/types.d.ts +22519 -0
@@ -0,0 +1,93 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.BidiDeserializer = void 0;
7
+ /**
8
+ * @license
9
+ * Copyright 2024 Google Inc.
10
+ * Modifications copyright (c) Microsoft Corporation.
11
+ * SPDX-License-Identifier: Apache-2.0
12
+ */
13
+
14
+ /* eslint-disable object-curly-spacing */
15
+
16
+ /**
17
+ * @internal
18
+ */
19
+ class BidiDeserializer {
20
+ static deserialize(result) {
21
+ var _result$value, _result$value2, _result$value3, _result$value4;
22
+ if (!result) return undefined;
23
+ switch (result.type) {
24
+ case 'array':
25
+ return (_result$value = result.value) === null || _result$value === void 0 ? void 0 : _result$value.map(value => {
26
+ return BidiDeserializer.deserialize(value);
27
+ });
28
+ case 'set':
29
+ return (_result$value2 = result.value) === null || _result$value2 === void 0 ? void 0 : _result$value2.reduce((acc, value) => {
30
+ return acc.add(BidiDeserializer.deserialize(value));
31
+ }, new Set());
32
+ case 'object':
33
+ return (_result$value3 = result.value) === null || _result$value3 === void 0 ? void 0 : _result$value3.reduce((acc, tuple) => {
34
+ const {
35
+ key,
36
+ value
37
+ } = BidiDeserializer._deserializeTuple(tuple);
38
+ acc[key] = value;
39
+ return acc;
40
+ }, {});
41
+ case 'map':
42
+ return (_result$value4 = result.value) === null || _result$value4 === void 0 ? void 0 : _result$value4.reduce((acc, tuple) => {
43
+ const {
44
+ key,
45
+ value
46
+ } = BidiDeserializer._deserializeTuple(tuple);
47
+ return acc.set(key, value);
48
+ }, new Map());
49
+ case 'promise':
50
+ return {};
51
+ case 'regexp':
52
+ return new RegExp(result.value.pattern, result.value.flags);
53
+ case 'date':
54
+ return new Date(result.value);
55
+ case 'undefined':
56
+ return undefined;
57
+ case 'null':
58
+ return null;
59
+ case 'number':
60
+ return BidiDeserializer._deserializeNumber(result.value);
61
+ case 'bigint':
62
+ return BigInt(result.value);
63
+ case 'boolean':
64
+ return Boolean(result.value);
65
+ case 'string':
66
+ return result.value;
67
+ }
68
+ throw new Error(`Deserialization of type ${result.type} not supported.`);
69
+ }
70
+ static _deserializeNumber(value) {
71
+ switch (value) {
72
+ case '-0':
73
+ return -0;
74
+ case 'NaN':
75
+ return NaN;
76
+ case 'Infinity':
77
+ return Infinity;
78
+ case '-Infinity':
79
+ return -Infinity;
80
+ default:
81
+ return value;
82
+ }
83
+ }
84
+ static _deserializeTuple([serializedKey, serializedValue]) {
85
+ const key = typeof serializedKey === 'string' ? serializedKey : BidiDeserializer.deserialize(serializedKey);
86
+ const value = BidiDeserializer.deserialize(serializedValue);
87
+ return {
88
+ key,
89
+ value
90
+ };
91
+ }
92
+ }
93
+ exports.BidiDeserializer = BidiDeserializer;
@@ -0,0 +1,238 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getBidiKeyValue = void 0;
7
+ /**
8
+ * @license
9
+ * Copyright 2024 Google Inc.
10
+ * Modifications copyright (c) Microsoft Corporation.
11
+ * SPDX-License-Identifier: Apache-2.0
12
+ */
13
+
14
+ /* eslint-disable curly */
15
+
16
+ const getBidiKeyValue = key => {
17
+ switch (key) {
18
+ case '\r':
19
+ case '\n':
20
+ key = 'Enter';
21
+ break;
22
+ }
23
+ // Measures the number of code points rather than UTF-16 code units.
24
+ if ([...key].length === 1) {
25
+ return key;
26
+ }
27
+ switch (key) {
28
+ case 'Cancel':
29
+ return '\uE001';
30
+ case 'Help':
31
+ return '\uE002';
32
+ case 'Backspace':
33
+ return '\uE003';
34
+ case 'Tab':
35
+ return '\uE004';
36
+ case 'Clear':
37
+ return '\uE005';
38
+ case 'Enter':
39
+ return '\uE007';
40
+ case 'Shift':
41
+ case 'ShiftLeft':
42
+ return '\uE008';
43
+ case 'Control':
44
+ case 'ControlLeft':
45
+ return '\uE009';
46
+ case 'Alt':
47
+ case 'AltLeft':
48
+ return '\uE00A';
49
+ case 'Pause':
50
+ return '\uE00B';
51
+ case 'Escape':
52
+ return '\uE00C';
53
+ case 'PageUp':
54
+ return '\uE00E';
55
+ case 'PageDown':
56
+ return '\uE00F';
57
+ case 'End':
58
+ return '\uE010';
59
+ case 'Home':
60
+ return '\uE011';
61
+ case 'ArrowLeft':
62
+ return '\uE012';
63
+ case 'ArrowUp':
64
+ return '\uE013';
65
+ case 'ArrowRight':
66
+ return '\uE014';
67
+ case 'ArrowDown':
68
+ return '\uE015';
69
+ case 'Insert':
70
+ return '\uE016';
71
+ case 'Delete':
72
+ return '\uE017';
73
+ case 'NumpadEqual':
74
+ return '\uE019';
75
+ case 'Numpad0':
76
+ return '\uE01A';
77
+ case 'Numpad1':
78
+ return '\uE01B';
79
+ case 'Numpad2':
80
+ return '\uE01C';
81
+ case 'Numpad3':
82
+ return '\uE01D';
83
+ case 'Numpad4':
84
+ return '\uE01E';
85
+ case 'Numpad5':
86
+ return '\uE01F';
87
+ case 'Numpad6':
88
+ return '\uE020';
89
+ case 'Numpad7':
90
+ return '\uE021';
91
+ case 'Numpad8':
92
+ return '\uE022';
93
+ case 'Numpad9':
94
+ return '\uE023';
95
+ case 'NumpadMultiply':
96
+ return '\uE024';
97
+ case 'NumpadAdd':
98
+ return '\uE025';
99
+ case 'NumpadSubtract':
100
+ return '\uE027';
101
+ case 'NumpadDecimal':
102
+ return '\uE028';
103
+ case 'NumpadDivide':
104
+ return '\uE029';
105
+ case 'F1':
106
+ return '\uE031';
107
+ case 'F2':
108
+ return '\uE032';
109
+ case 'F3':
110
+ return '\uE033';
111
+ case 'F4':
112
+ return '\uE034';
113
+ case 'F5':
114
+ return '\uE035';
115
+ case 'F6':
116
+ return '\uE036';
117
+ case 'F7':
118
+ return '\uE037';
119
+ case 'F8':
120
+ return '\uE038';
121
+ case 'F9':
122
+ return '\uE039';
123
+ case 'F10':
124
+ return '\uE03A';
125
+ case 'F11':
126
+ return '\uE03B';
127
+ case 'F12':
128
+ return '\uE03C';
129
+ case 'Meta':
130
+ case 'MetaLeft':
131
+ return '\uE03D';
132
+ case 'ShiftRight':
133
+ return '\uE050';
134
+ case 'ControlRight':
135
+ return '\uE051';
136
+ case 'AltRight':
137
+ return '\uE052';
138
+ case 'MetaRight':
139
+ return '\uE053';
140
+ case 'Digit0':
141
+ return '0';
142
+ case 'Digit1':
143
+ return '1';
144
+ case 'Digit2':
145
+ return '2';
146
+ case 'Digit3':
147
+ return '3';
148
+ case 'Digit4':
149
+ return '4';
150
+ case 'Digit5':
151
+ return '5';
152
+ case 'Digit6':
153
+ return '6';
154
+ case 'Digit7':
155
+ return '7';
156
+ case 'Digit8':
157
+ return '8';
158
+ case 'Digit9':
159
+ return '9';
160
+ case 'KeyA':
161
+ return 'a';
162
+ case 'KeyB':
163
+ return 'b';
164
+ case 'KeyC':
165
+ return 'c';
166
+ case 'KeyD':
167
+ return 'd';
168
+ case 'KeyE':
169
+ return 'e';
170
+ case 'KeyF':
171
+ return 'f';
172
+ case 'KeyG':
173
+ return 'g';
174
+ case 'KeyH':
175
+ return 'h';
176
+ case 'KeyI':
177
+ return 'i';
178
+ case 'KeyJ':
179
+ return 'j';
180
+ case 'KeyK':
181
+ return 'k';
182
+ case 'KeyL':
183
+ return 'l';
184
+ case 'KeyM':
185
+ return 'm';
186
+ case 'KeyN':
187
+ return 'n';
188
+ case 'KeyO':
189
+ return 'o';
190
+ case 'KeyP':
191
+ return 'p';
192
+ case 'KeyQ':
193
+ return 'q';
194
+ case 'KeyR':
195
+ return 'r';
196
+ case 'KeyS':
197
+ return 's';
198
+ case 'KeyT':
199
+ return 't';
200
+ case 'KeyU':
201
+ return 'u';
202
+ case 'KeyV':
203
+ return 'v';
204
+ case 'KeyW':
205
+ return 'w';
206
+ case 'KeyX':
207
+ return 'x';
208
+ case 'KeyY':
209
+ return 'y';
210
+ case 'KeyZ':
211
+ return 'z';
212
+ case 'Semicolon':
213
+ return ';';
214
+ case 'Equal':
215
+ return '=';
216
+ case 'Comma':
217
+ return ',';
218
+ case 'Minus':
219
+ return '-';
220
+ case 'Period':
221
+ return '.';
222
+ case 'Slash':
223
+ return '/';
224
+ case 'Backquote':
225
+ return '`';
226
+ case 'BracketLeft':
227
+ return '[';
228
+ case 'Backslash':
229
+ return '\\';
230
+ case 'BracketRight':
231
+ return ']';
232
+ case 'Quote':
233
+ return '"';
234
+ default:
235
+ throw new Error(`Unknown key: "${key}"`);
236
+ }
237
+ };
238
+ exports.getBidiKeyValue = getBidiKeyValue;
@@ -0,0 +1,139 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.Storage = exports.Session = exports.Script = exports.Network = exports.Log = exports.Input = exports.ErrorCode = exports.BrowsingContext = exports.Browser = void 0;
7
+ /**
8
+ * @license
9
+ * Copyright 2024 Google Inc.
10
+ * Modifications copyright (c) Microsoft Corporation.
11
+ * SPDX-License-Identifier: Apache-2.0
12
+ */
13
+ /**
14
+ * THIS FILE IS AUTOGENERATED by cddlconv 0.1.5.
15
+ * Run `node tools/generate-bidi-types.mjs` to regenerate.
16
+ * @see https://github.com/w3c/webdriver-bidi/blob/master/index.bs
17
+ */
18
+ /**
19
+ * Must be between `-9007199254740991` and `9007199254740991`, inclusive.
20
+ */
21
+ /**
22
+ * Must be between `0` and `9007199254740991`, inclusive.
23
+ */
24
+ let ErrorCode = exports.ErrorCode = /*#__PURE__*/function (ErrorCode) {
25
+ ErrorCode["InvalidArgument"] = "invalid argument";
26
+ ErrorCode["InvalidSelector"] = "invalid selector";
27
+ ErrorCode["InvalidSessionId"] = "invalid session id";
28
+ ErrorCode["MoveTargetOutOfBounds"] = "move target out of bounds";
29
+ ErrorCode["NoSuchAlert"] = "no such alert";
30
+ ErrorCode["NoSuchElement"] = "no such element";
31
+ ErrorCode["NoSuchFrame"] = "no such frame";
32
+ ErrorCode["NoSuchHandle"] = "no such handle";
33
+ ErrorCode["NoSuchHistoryEntry"] = "no such history entry";
34
+ ErrorCode["NoSuchIntercept"] = "no such intercept";
35
+ ErrorCode["NoSuchNode"] = "no such node";
36
+ ErrorCode["NoSuchRequest"] = "no such request";
37
+ ErrorCode["NoSuchScript"] = "no such script";
38
+ ErrorCode["NoSuchStoragePartition"] = "no such storage partition";
39
+ ErrorCode["NoSuchUserContext"] = "no such user context";
40
+ ErrorCode["SessionNotCreated"] = "session not created";
41
+ ErrorCode["UnableToCaptureScreen"] = "unable to capture screen";
42
+ ErrorCode["UnableToCloseBrowser"] = "unable to close browser";
43
+ ErrorCode["UnableToSetCookie"] = "unable to set cookie";
44
+ ErrorCode["UnableToSetFileInput"] = "unable to set file input";
45
+ ErrorCode["UnderspecifiedStoragePartition"] = "underspecified storage partition";
46
+ ErrorCode["UnknownCommand"] = "unknown command";
47
+ ErrorCode["UnknownError"] = "unknown error";
48
+ ErrorCode["UnsupportedOperation"] = "unsupported operation";
49
+ return ErrorCode;
50
+ }({});
51
+ let Session = exports.Session = void 0;
52
+ (function (_Session10) {
53
+ let UserPromptHandlerType = /*#__PURE__*/function (UserPromptHandlerType) {
54
+ UserPromptHandlerType["Accept"] = "accept";
55
+ UserPromptHandlerType["Dismiss"] = "dismiss";
56
+ UserPromptHandlerType["Ignore"] = "ignore";
57
+ return UserPromptHandlerType;
58
+ }({});
59
+ _Session10.UserPromptHandlerType = UserPromptHandlerType;
60
+ })(Session || (exports.Session = Session = {}));
61
+ let Browser = exports.Browser = void 0;
62
+ let BrowsingContext = exports.BrowsingContext = void 0;
63
+ (function (_BrowsingContext10) {
64
+ let ReadinessState = /*#__PURE__*/function (ReadinessState) {
65
+ ReadinessState["None"] = "none";
66
+ ReadinessState["Interactive"] = "interactive";
67
+ ReadinessState["Complete"] = "complete";
68
+ return ReadinessState;
69
+ }({});
70
+ _BrowsingContext10.ReadinessState = ReadinessState;
71
+ })(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));
72
+ (function (_BrowsingContext11) {
73
+ let UserPromptType = /*#__PURE__*/function (UserPromptType) {
74
+ UserPromptType["Alert"] = "alert";
75
+ UserPromptType["Beforeunload"] = "beforeunload";
76
+ UserPromptType["Confirm"] = "confirm";
77
+ UserPromptType["Prompt"] = "prompt";
78
+ return UserPromptType;
79
+ }({});
80
+ _BrowsingContext11.UserPromptType = UserPromptType;
81
+ })(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));
82
+ (function (_BrowsingContext24) {
83
+ let CreateType = /*#__PURE__*/function (CreateType) {
84
+ CreateType["Tab"] = "tab";
85
+ CreateType["Window"] = "window";
86
+ return CreateType;
87
+ }({});
88
+ _BrowsingContext24.CreateType = CreateType;
89
+ })(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));
90
+ let Network = exports.Network = void 0;
91
+ (function (_Network6) {
92
+ let SameSite = /*#__PURE__*/function (SameSite) {
93
+ SameSite["Strict"] = "strict";
94
+ SameSite["Lax"] = "lax";
95
+ SameSite["None"] = "none";
96
+ return SameSite;
97
+ }({});
98
+ _Network6.SameSite = SameSite;
99
+ })(Network || (exports.Network = Network = {}));
100
+ (function (_Network23) {
101
+ let InterceptPhase = /*#__PURE__*/function (InterceptPhase) {
102
+ InterceptPhase["BeforeRequestSent"] = "beforeRequestSent";
103
+ InterceptPhase["ResponseStarted"] = "responseStarted";
104
+ InterceptPhase["AuthRequired"] = "authRequired";
105
+ return InterceptPhase;
106
+ }({});
107
+ _Network23.InterceptPhase = InterceptPhase;
108
+ })(Network || (exports.Network = Network = {}));
109
+ let Script = exports.Script = void 0;
110
+ (function (_Script68) {
111
+ let ResultOwnership = /*#__PURE__*/function (ResultOwnership) {
112
+ ResultOwnership["Root"] = "root";
113
+ ResultOwnership["None"] = "none";
114
+ return ResultOwnership;
115
+ }({});
116
+ _Script68.ResultOwnership = ResultOwnership;
117
+ })(Script || (exports.Script = Script = {}));
118
+ let Storage = exports.Storage = void 0;
119
+ let Log = exports.Log = void 0;
120
+ (function (_Log7) {
121
+ let Level = /*#__PURE__*/function (Level) {
122
+ Level["Debug"] = "debug";
123
+ Level["Info"] = "info";
124
+ Level["Warn"] = "warn";
125
+ Level["Error"] = "error";
126
+ return Level;
127
+ }({});
128
+ _Log7.Level = Level;
129
+ })(Log || (exports.Log = Log = {}));
130
+ let Input = exports.Input = void 0;
131
+ (function (_Input9) {
132
+ let PointerType = /*#__PURE__*/function (PointerType) {
133
+ PointerType["Mouse"] = "mouse";
134
+ PointerType["Pen"] = "pen";
135
+ PointerType["Touch"] = "touch";
136
+ return PointerType;
137
+ }({});
138
+ _Input9.PointerType = PointerType;
139
+ })(Input || (exports.Input = Input = {}));
@@ -0,0 +1,144 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.isRegExp = exports.isPlainObject = exports.isDate = exports.BidiSerializer = void 0;
7
+ /**
8
+ * @license
9
+ * Copyright 2024 Google Inc.
10
+ * Modifications copyright (c) Microsoft Corporation.
11
+ * SPDX-License-Identifier: Apache-2.0
12
+ */
13
+
14
+ /* eslint-disable curly, indent */
15
+
16
+ /**
17
+ * @internal
18
+ */
19
+ class UnserializableError extends Error {}
20
+
21
+ /**
22
+ * @internal
23
+ */
24
+ class BidiSerializer {
25
+ static serialize(arg) {
26
+ switch (typeof arg) {
27
+ case 'symbol':
28
+ case 'function':
29
+ throw new UnserializableError(`Unable to serializable ${typeof arg}`);
30
+ case 'object':
31
+ return BidiSerializer._serializeObject(arg);
32
+ case 'undefined':
33
+ return {
34
+ type: 'undefined'
35
+ };
36
+ case 'number':
37
+ return BidiSerializer._serializeNumber(arg);
38
+ case 'bigint':
39
+ return {
40
+ type: 'bigint',
41
+ value: arg.toString()
42
+ };
43
+ case 'string':
44
+ return {
45
+ type: 'string',
46
+ value: arg
47
+ };
48
+ case 'boolean':
49
+ return {
50
+ type: 'boolean',
51
+ value: arg
52
+ };
53
+ }
54
+ }
55
+ static _serializeNumber(arg) {
56
+ let value;
57
+ if (Object.is(arg, -0)) {
58
+ value = '-0';
59
+ } else if (Object.is(arg, Infinity)) {
60
+ value = 'Infinity';
61
+ } else if (Object.is(arg, -Infinity)) {
62
+ value = '-Infinity';
63
+ } else if (Object.is(arg, NaN)) {
64
+ value = 'NaN';
65
+ } else {
66
+ value = arg;
67
+ }
68
+ return {
69
+ type: 'number',
70
+ value
71
+ };
72
+ }
73
+ static _serializeObject(arg) {
74
+ if (arg === null) {
75
+ return {
76
+ type: 'null'
77
+ };
78
+ } else if (Array.isArray(arg)) {
79
+ const parsedArray = arg.map(subArg => {
80
+ return BidiSerializer.serialize(subArg);
81
+ });
82
+ return {
83
+ type: 'array',
84
+ value: parsedArray
85
+ };
86
+ } else if (isPlainObject(arg)) {
87
+ try {
88
+ JSON.stringify(arg);
89
+ } catch (error) {
90
+ if (error instanceof TypeError && error.message.startsWith('Converting circular structure to JSON')) {
91
+ error.message += ' Recursive objects are not allowed.';
92
+ }
93
+ throw error;
94
+ }
95
+ const parsedObject = [];
96
+ for (const key in arg) {
97
+ parsedObject.push([BidiSerializer.serialize(key), BidiSerializer.serialize(arg[key])]);
98
+ }
99
+ return {
100
+ type: 'object',
101
+ value: parsedObject
102
+ };
103
+ } else if (isRegExp(arg)) {
104
+ return {
105
+ type: 'regexp',
106
+ value: {
107
+ pattern: arg.source,
108
+ flags: arg.flags
109
+ }
110
+ };
111
+ } else if (isDate(arg)) {
112
+ return {
113
+ type: 'date',
114
+ value: arg.toISOString()
115
+ };
116
+ }
117
+ throw new UnserializableError('Custom object serialization not possible. Use plain objects instead.');
118
+ }
119
+ }
120
+
121
+ /**
122
+ * @internal
123
+ */
124
+ exports.BidiSerializer = BidiSerializer;
125
+ const isPlainObject = obj => {
126
+ return typeof obj === 'object' && (obj === null || obj === void 0 ? void 0 : obj.constructor) === Object;
127
+ };
128
+
129
+ /**
130
+ * @internal
131
+ */
132
+ exports.isPlainObject = isPlainObject;
133
+ const isRegExp = obj => {
134
+ return typeof obj === 'object' && (obj === null || obj === void 0 ? void 0 : obj.constructor) === RegExp;
135
+ };
136
+
137
+ /**
138
+ * @internal
139
+ */
140
+ exports.isRegExp = isRegExp;
141
+ const isDate = obj => {
142
+ return typeof obj === 'object' && (obj === null || obj === void 0 ? void 0 : obj.constructor) === Date;
143
+ };
144
+ exports.isDate = isDate;