@pedropaulovc/playwright-core 1.59.0-alpha-1769214875000

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 (364) hide show
  1. package/LICENSE +202 -0
  2. package/NOTICE +5 -0
  3. package/README.md +3 -0
  4. package/ThirdPartyNotices.txt +4076 -0
  5. package/bin/install_media_pack.ps1 +5 -0
  6. package/bin/install_webkit_wsl.ps1 +33 -0
  7. package/bin/reinstall_chrome_beta_linux.sh +42 -0
  8. package/bin/reinstall_chrome_beta_mac.sh +13 -0
  9. package/bin/reinstall_chrome_beta_win.ps1 +24 -0
  10. package/bin/reinstall_chrome_stable_linux.sh +42 -0
  11. package/bin/reinstall_chrome_stable_mac.sh +12 -0
  12. package/bin/reinstall_chrome_stable_win.ps1 +24 -0
  13. package/bin/reinstall_msedge_beta_linux.sh +48 -0
  14. package/bin/reinstall_msedge_beta_mac.sh +11 -0
  15. package/bin/reinstall_msedge_beta_win.ps1 +23 -0
  16. package/bin/reinstall_msedge_dev_linux.sh +48 -0
  17. package/bin/reinstall_msedge_dev_mac.sh +11 -0
  18. package/bin/reinstall_msedge_dev_win.ps1 +23 -0
  19. package/bin/reinstall_msedge_stable_linux.sh +48 -0
  20. package/bin/reinstall_msedge_stable_mac.sh +11 -0
  21. package/bin/reinstall_msedge_stable_win.ps1 +24 -0
  22. package/browsers.json +79 -0
  23. package/cli.js +18 -0
  24. package/index.d.ts +17 -0
  25. package/index.js +32 -0
  26. package/index.mjs +28 -0
  27. package/lib/androidServerImpl.js +65 -0
  28. package/lib/browserServerImpl.js +120 -0
  29. package/lib/cli/driver.js +97 -0
  30. package/lib/cli/program.js +601 -0
  31. package/lib/cli/programWithTestStub.js +74 -0
  32. package/lib/client/android.js +361 -0
  33. package/lib/client/api.js +137 -0
  34. package/lib/client/artifact.js +79 -0
  35. package/lib/client/browser.js +161 -0
  36. package/lib/client/browserContext.js +582 -0
  37. package/lib/client/browserType.js +185 -0
  38. package/lib/client/cdpSession.js +51 -0
  39. package/lib/client/channelOwner.js +194 -0
  40. package/lib/client/clientHelper.js +64 -0
  41. package/lib/client/clientInstrumentation.js +55 -0
  42. package/lib/client/clientStackTrace.js +69 -0
  43. package/lib/client/clock.js +68 -0
  44. package/lib/client/connection.js +318 -0
  45. package/lib/client/consoleMessage.js +58 -0
  46. package/lib/client/coverage.js +44 -0
  47. package/lib/client/dialog.js +56 -0
  48. package/lib/client/download.js +62 -0
  49. package/lib/client/electron.js +138 -0
  50. package/lib/client/elementHandle.js +284 -0
  51. package/lib/client/errors.js +77 -0
  52. package/lib/client/eventEmitter.js +314 -0
  53. package/lib/client/events.js +103 -0
  54. package/lib/client/fetch.js +368 -0
  55. package/lib/client/fileChooser.js +46 -0
  56. package/lib/client/fileUtils.js +34 -0
  57. package/lib/client/frame.js +409 -0
  58. package/lib/client/harRouter.js +87 -0
  59. package/lib/client/input.js +84 -0
  60. package/lib/client/jsHandle.js +109 -0
  61. package/lib/client/jsonPipe.js +39 -0
  62. package/lib/client/localUtils.js +60 -0
  63. package/lib/client/locator.js +369 -0
  64. package/lib/client/network.js +747 -0
  65. package/lib/client/page.js +743 -0
  66. package/lib/client/pageAgent.js +64 -0
  67. package/lib/client/platform.js +77 -0
  68. package/lib/client/playwright.js +71 -0
  69. package/lib/client/selectors.js +55 -0
  70. package/lib/client/stream.js +39 -0
  71. package/lib/client/timeoutSettings.js +79 -0
  72. package/lib/client/tracing.js +119 -0
  73. package/lib/client/types.js +28 -0
  74. package/lib/client/video.js +59 -0
  75. package/lib/client/waiter.js +142 -0
  76. package/lib/client/webError.js +39 -0
  77. package/lib/client/webSocket.js +93 -0
  78. package/lib/client/worker.js +85 -0
  79. package/lib/client/writableStream.js +39 -0
  80. package/lib/generated/bindingsControllerSource.js +28 -0
  81. package/lib/generated/clockSource.js +28 -0
  82. package/lib/generated/injectedScriptSource.js +28 -0
  83. package/lib/generated/pollingRecorderSource.js +28 -0
  84. package/lib/generated/storageScriptSource.js +28 -0
  85. package/lib/generated/utilityScriptSource.js +28 -0
  86. package/lib/generated/webSocketMockSource.js +336 -0
  87. package/lib/inProcessFactory.js +60 -0
  88. package/lib/inprocess.js +3 -0
  89. package/lib/mcpBundle.js +84 -0
  90. package/lib/mcpBundleImpl/index.js +147 -0
  91. package/lib/outofprocess.js +76 -0
  92. package/lib/protocol/serializers.js +197 -0
  93. package/lib/protocol/validator.js +2969 -0
  94. package/lib/protocol/validatorPrimitives.js +193 -0
  95. package/lib/remote/playwrightConnection.js +129 -0
  96. package/lib/remote/playwrightServer.js +334 -0
  97. package/lib/server/agent/actionRunner.js +335 -0
  98. package/lib/server/agent/actions.js +128 -0
  99. package/lib/server/agent/codegen.js +111 -0
  100. package/lib/server/agent/context.js +150 -0
  101. package/lib/server/agent/expectTools.js +156 -0
  102. package/lib/server/agent/pageAgent.js +204 -0
  103. package/lib/server/agent/performTools.js +262 -0
  104. package/lib/server/agent/tool.js +109 -0
  105. package/lib/server/android/android.js +465 -0
  106. package/lib/server/android/backendAdb.js +177 -0
  107. package/lib/server/artifact.js +127 -0
  108. package/lib/server/bidi/bidiBrowser.js +549 -0
  109. package/lib/server/bidi/bidiChromium.js +148 -0
  110. package/lib/server/bidi/bidiConnection.js +213 -0
  111. package/lib/server/bidi/bidiDeserializer.js +116 -0
  112. package/lib/server/bidi/bidiExecutionContext.js +267 -0
  113. package/lib/server/bidi/bidiFirefox.js +128 -0
  114. package/lib/server/bidi/bidiInput.js +146 -0
  115. package/lib/server/bidi/bidiNetworkManager.js +383 -0
  116. package/lib/server/bidi/bidiOverCdp.js +102 -0
  117. package/lib/server/bidi/bidiPage.js +583 -0
  118. package/lib/server/bidi/bidiPdf.js +106 -0
  119. package/lib/server/bidi/third_party/bidiCommands.d.js +22 -0
  120. package/lib/server/bidi/third_party/bidiKeyboard.js +256 -0
  121. package/lib/server/bidi/third_party/bidiProtocol.js +24 -0
  122. package/lib/server/bidi/third_party/bidiProtocolCore.js +180 -0
  123. package/lib/server/bidi/third_party/bidiProtocolPermissions.js +42 -0
  124. package/lib/server/bidi/third_party/bidiSerializer.js +148 -0
  125. package/lib/server/bidi/third_party/firefoxPrefs.js +259 -0
  126. package/lib/server/browser.js +149 -0
  127. package/lib/server/browserContext.js +702 -0
  128. package/lib/server/browserType.js +336 -0
  129. package/lib/server/callLog.js +82 -0
  130. package/lib/server/chromium/appIcon.png +0 -0
  131. package/lib/server/chromium/chromium.js +395 -0
  132. package/lib/server/chromium/chromiumSwitches.js +104 -0
  133. package/lib/server/chromium/crBrowser.js +511 -0
  134. package/lib/server/chromium/crConnection.js +197 -0
  135. package/lib/server/chromium/crCoverage.js +235 -0
  136. package/lib/server/chromium/crDevTools.js +111 -0
  137. package/lib/server/chromium/crDragDrop.js +131 -0
  138. package/lib/server/chromium/crExecutionContext.js +146 -0
  139. package/lib/server/chromium/crInput.js +187 -0
  140. package/lib/server/chromium/crNetworkManager.js +707 -0
  141. package/lib/server/chromium/crPage.js +1001 -0
  142. package/lib/server/chromium/crPdf.js +121 -0
  143. package/lib/server/chromium/crProtocolHelper.js +145 -0
  144. package/lib/server/chromium/crServiceWorker.js +136 -0
  145. package/lib/server/chromium/defaultFontFamilies.js +162 -0
  146. package/lib/server/chromium/protocol.d.js +16 -0
  147. package/lib/server/clock.js +149 -0
  148. package/lib/server/codegen/csharp.js +327 -0
  149. package/lib/server/codegen/java.js +274 -0
  150. package/lib/server/codegen/javascript.js +247 -0
  151. package/lib/server/codegen/jsonl.js +52 -0
  152. package/lib/server/codegen/language.js +132 -0
  153. package/lib/server/codegen/languages.js +68 -0
  154. package/lib/server/codegen/python.js +279 -0
  155. package/lib/server/codegen/types.js +16 -0
  156. package/lib/server/console.js +57 -0
  157. package/lib/server/cookieStore.js +206 -0
  158. package/lib/server/debugController.js +191 -0
  159. package/lib/server/debugger.js +119 -0
  160. package/lib/server/deviceDescriptors.js +39 -0
  161. package/lib/server/deviceDescriptorsSource.json +1779 -0
  162. package/lib/server/dialog.js +116 -0
  163. package/lib/server/dispatchers/androidDispatcher.js +325 -0
  164. package/lib/server/dispatchers/artifactDispatcher.js +118 -0
  165. package/lib/server/dispatchers/browserContextDispatcher.js +384 -0
  166. package/lib/server/dispatchers/browserDispatcher.js +118 -0
  167. package/lib/server/dispatchers/browserTypeDispatcher.js +64 -0
  168. package/lib/server/dispatchers/cdpSessionDispatcher.js +44 -0
  169. package/lib/server/dispatchers/debugControllerDispatcher.js +78 -0
  170. package/lib/server/dispatchers/dialogDispatcher.js +47 -0
  171. package/lib/server/dispatchers/dispatcher.js +364 -0
  172. package/lib/server/dispatchers/electronDispatcher.js +89 -0
  173. package/lib/server/dispatchers/elementHandlerDispatcher.js +181 -0
  174. package/lib/server/dispatchers/frameDispatcher.js +227 -0
  175. package/lib/server/dispatchers/jsHandleDispatcher.js +85 -0
  176. package/lib/server/dispatchers/jsonPipeDispatcher.js +58 -0
  177. package/lib/server/dispatchers/localUtilsDispatcher.js +149 -0
  178. package/lib/server/dispatchers/networkDispatchers.js +213 -0
  179. package/lib/server/dispatchers/pageAgentDispatcher.js +96 -0
  180. package/lib/server/dispatchers/pageDispatcher.js +393 -0
  181. package/lib/server/dispatchers/playwrightDispatcher.js +108 -0
  182. package/lib/server/dispatchers/streamDispatcher.js +67 -0
  183. package/lib/server/dispatchers/tracingDispatcher.js +68 -0
  184. package/lib/server/dispatchers/webSocketRouteDispatcher.js +165 -0
  185. package/lib/server/dispatchers/writableStreamDispatcher.js +79 -0
  186. package/lib/server/dom.js +815 -0
  187. package/lib/server/download.js +70 -0
  188. package/lib/server/electron/electron.js +273 -0
  189. package/lib/server/electron/loader.js +29 -0
  190. package/lib/server/errors.js +69 -0
  191. package/lib/server/fetch.js +621 -0
  192. package/lib/server/fileChooser.js +43 -0
  193. package/lib/server/fileUploadUtils.js +84 -0
  194. package/lib/server/firefox/ffBrowser.js +418 -0
  195. package/lib/server/firefox/ffConnection.js +142 -0
  196. package/lib/server/firefox/ffExecutionContext.js +150 -0
  197. package/lib/server/firefox/ffInput.js +159 -0
  198. package/lib/server/firefox/ffNetworkManager.js +256 -0
  199. package/lib/server/firefox/ffPage.js +497 -0
  200. package/lib/server/firefox/firefox.js +114 -0
  201. package/lib/server/firefox/protocol.d.js +16 -0
  202. package/lib/server/formData.js +147 -0
  203. package/lib/server/frameSelectors.js +160 -0
  204. package/lib/server/frames.js +1471 -0
  205. package/lib/server/har/harRecorder.js +147 -0
  206. package/lib/server/har/harTracer.js +607 -0
  207. package/lib/server/harBackend.js +157 -0
  208. package/lib/server/helper.js +96 -0
  209. package/lib/server/index.js +58 -0
  210. package/lib/server/input.js +277 -0
  211. package/lib/server/instrumentation.js +72 -0
  212. package/lib/server/javascript.js +291 -0
  213. package/lib/server/launchApp.js +128 -0
  214. package/lib/server/localUtils.js +214 -0
  215. package/lib/server/macEditingCommands.js +143 -0
  216. package/lib/server/network.js +667 -0
  217. package/lib/server/page.js +830 -0
  218. package/lib/server/pipeTransport.js +89 -0
  219. package/lib/server/playwright.js +69 -0
  220. package/lib/server/progress.js +132 -0
  221. package/lib/server/protocolError.js +52 -0
  222. package/lib/server/recorder/chat.js +161 -0
  223. package/lib/server/recorder/recorderApp.js +366 -0
  224. package/lib/server/recorder/recorderRunner.js +138 -0
  225. package/lib/server/recorder/recorderSignalProcessor.js +83 -0
  226. package/lib/server/recorder/recorderUtils.js +157 -0
  227. package/lib/server/recorder/throttledFile.js +57 -0
  228. package/lib/server/recorder.js +499 -0
  229. package/lib/server/registry/browserFetcher.js +177 -0
  230. package/lib/server/registry/dependencies.js +371 -0
  231. package/lib/server/registry/index.js +1422 -0
  232. package/lib/server/registry/nativeDeps.js +1280 -0
  233. package/lib/server/registry/oopDownloadBrowserMain.js +127 -0
  234. package/lib/server/screencast.js +190 -0
  235. package/lib/server/screenshotter.js +333 -0
  236. package/lib/server/selectors.js +112 -0
  237. package/lib/server/socksClientCertificatesInterceptor.js +383 -0
  238. package/lib/server/socksInterceptor.js +95 -0
  239. package/lib/server/trace/exporter/traceExporter.js +1102 -0
  240. package/lib/server/trace/recorder/snapshotter.js +147 -0
  241. package/lib/server/trace/recorder/snapshotterInjected.js +561 -0
  242. package/lib/server/trace/recorder/tracing.js +604 -0
  243. package/lib/server/trace/viewer/traceParser.js +72 -0
  244. package/lib/server/trace/viewer/traceViewer.js +245 -0
  245. package/lib/server/transport.js +181 -0
  246. package/lib/server/types.js +28 -0
  247. package/lib/server/usKeyboardLayout.js +145 -0
  248. package/lib/server/utils/ascii.js +44 -0
  249. package/lib/server/utils/comparators.js +139 -0
  250. package/lib/server/utils/crypto.js +216 -0
  251. package/lib/server/utils/debug.js +42 -0
  252. package/lib/server/utils/debugLogger.js +122 -0
  253. package/lib/server/utils/env.js +73 -0
  254. package/lib/server/utils/eventsHelper.js +39 -0
  255. package/lib/server/utils/expectUtils.js +123 -0
  256. package/lib/server/utils/fileUtils.js +191 -0
  257. package/lib/server/utils/happyEyeballs.js +207 -0
  258. package/lib/server/utils/hostPlatform.js +123 -0
  259. package/lib/server/utils/httpServer.js +203 -0
  260. package/lib/server/utils/imageUtils.js +141 -0
  261. package/lib/server/utils/image_tools/colorUtils.js +89 -0
  262. package/lib/server/utils/image_tools/compare.js +109 -0
  263. package/lib/server/utils/image_tools/imageChannel.js +78 -0
  264. package/lib/server/utils/image_tools/stats.js +102 -0
  265. package/lib/server/utils/linuxUtils.js +71 -0
  266. package/lib/server/utils/network.js +242 -0
  267. package/lib/server/utils/nodePlatform.js +154 -0
  268. package/lib/server/utils/pipeTransport.js +84 -0
  269. package/lib/server/utils/processLauncher.js +241 -0
  270. package/lib/server/utils/profiler.js +65 -0
  271. package/lib/server/utils/socksProxy.js +511 -0
  272. package/lib/server/utils/spawnAsync.js +41 -0
  273. package/lib/server/utils/task.js +51 -0
  274. package/lib/server/utils/userAgent.js +98 -0
  275. package/lib/server/utils/wsServer.js +121 -0
  276. package/lib/server/utils/zipFile.js +74 -0
  277. package/lib/server/utils/zones.js +57 -0
  278. package/lib/server/videoRecorder.js +124 -0
  279. package/lib/server/webkit/protocol.d.js +16 -0
  280. package/lib/server/webkit/webkit.js +108 -0
  281. package/lib/server/webkit/wkBrowser.js +335 -0
  282. package/lib/server/webkit/wkConnection.js +144 -0
  283. package/lib/server/webkit/wkExecutionContext.js +154 -0
  284. package/lib/server/webkit/wkInput.js +181 -0
  285. package/lib/server/webkit/wkInterceptableRequest.js +197 -0
  286. package/lib/server/webkit/wkPage.js +1158 -0
  287. package/lib/server/webkit/wkProvisionalPage.js +83 -0
  288. package/lib/server/webkit/wkWorkers.js +105 -0
  289. package/lib/third_party/pixelmatch.js +255 -0
  290. package/lib/utils/isomorphic/ariaSnapshot.js +455 -0
  291. package/lib/utils/isomorphic/assert.js +31 -0
  292. package/lib/utils/isomorphic/colors.js +72 -0
  293. package/lib/utils/isomorphic/cssParser.js +245 -0
  294. package/lib/utils/isomorphic/cssTokenizer.js +1051 -0
  295. package/lib/utils/isomorphic/headers.js +53 -0
  296. package/lib/utils/isomorphic/locatorGenerators.js +689 -0
  297. package/lib/utils/isomorphic/locatorParser.js +176 -0
  298. package/lib/utils/isomorphic/locatorUtils.js +81 -0
  299. package/lib/utils/isomorphic/lruCache.js +51 -0
  300. package/lib/utils/isomorphic/manualPromise.js +114 -0
  301. package/lib/utils/isomorphic/mimeType.js +459 -0
  302. package/lib/utils/isomorphic/multimap.js +80 -0
  303. package/lib/utils/isomorphic/protocolFormatter.js +81 -0
  304. package/lib/utils/isomorphic/protocolMetainfo.js +330 -0
  305. package/lib/utils/isomorphic/rtti.js +43 -0
  306. package/lib/utils/isomorphic/selectorParser.js +386 -0
  307. package/lib/utils/isomorphic/semaphore.js +54 -0
  308. package/lib/utils/isomorphic/stackTrace.js +158 -0
  309. package/lib/utils/isomorphic/stringUtils.js +204 -0
  310. package/lib/utils/isomorphic/time.js +49 -0
  311. package/lib/utils/isomorphic/timeoutRunner.js +66 -0
  312. package/lib/utils/isomorphic/trace/entries.js +16 -0
  313. package/lib/utils/isomorphic/trace/snapshotRenderer.js +499 -0
  314. package/lib/utils/isomorphic/trace/snapshotServer.js +120 -0
  315. package/lib/utils/isomorphic/trace/snapshotStorage.js +89 -0
  316. package/lib/utils/isomorphic/trace/traceLoader.js +131 -0
  317. package/lib/utils/isomorphic/trace/traceModel.js +365 -0
  318. package/lib/utils/isomorphic/trace/traceModernizer.js +400 -0
  319. package/lib/utils/isomorphic/trace/versions/traceV3.js +16 -0
  320. package/lib/utils/isomorphic/trace/versions/traceV4.js +16 -0
  321. package/lib/utils/isomorphic/trace/versions/traceV5.js +16 -0
  322. package/lib/utils/isomorphic/trace/versions/traceV6.js +16 -0
  323. package/lib/utils/isomorphic/trace/versions/traceV7.js +16 -0
  324. package/lib/utils/isomorphic/trace/versions/traceV8.js +16 -0
  325. package/lib/utils/isomorphic/traceUtils.js +58 -0
  326. package/lib/utils/isomorphic/types.js +16 -0
  327. package/lib/utils/isomorphic/urlMatch.js +190 -0
  328. package/lib/utils/isomorphic/utilityScriptSerializers.js +251 -0
  329. package/lib/utils/isomorphic/yaml.js +84 -0
  330. package/lib/utils.js +111 -0
  331. package/lib/utilsBundle.js +112 -0
  332. package/lib/utilsBundleImpl/index.js +218 -0
  333. package/lib/utilsBundleImpl/xdg-open +1066 -0
  334. package/lib/vite/htmlReport/index.html +84 -0
  335. package/lib/vite/recorder/assets/codeMirrorModule-DYBRYzYX.css +1 -0
  336. package/lib/vite/recorder/assets/codeMirrorModule-DadYNm1I.js +32 -0
  337. package/lib/vite/recorder/assets/codicon-DCmgc-ay.ttf +0 -0
  338. package/lib/vite/recorder/assets/index-BSjZa4pk.css +1 -0
  339. package/lib/vite/recorder/assets/index-BhTWtUlo.js +193 -0
  340. package/lib/vite/recorder/index.html +29 -0
  341. package/lib/vite/recorder/playwright-logo.svg +9 -0
  342. package/lib/vite/traceViewer/assets/codeMirrorModule-a5XoALAZ.js +32 -0
  343. package/lib/vite/traceViewer/assets/defaultSettingsView-CJSZINFr.js +266 -0
  344. package/lib/vite/traceViewer/assets/xtermModule-CsJ4vdCR.js +9 -0
  345. package/lib/vite/traceViewer/codeMirrorModule.DYBRYzYX.css +1 -0
  346. package/lib/vite/traceViewer/codicon.DCmgc-ay.ttf +0 -0
  347. package/lib/vite/traceViewer/defaultSettingsView.7ch9cixO.css +1 -0
  348. package/lib/vite/traceViewer/index.BVu7tZDe.css +1 -0
  349. package/lib/vite/traceViewer/index.Dd9jebqr.js +2 -0
  350. package/lib/vite/traceViewer/index.html +43 -0
  351. package/lib/vite/traceViewer/manifest.webmanifest +16 -0
  352. package/lib/vite/traceViewer/playwright-logo.svg +9 -0
  353. package/lib/vite/traceViewer/snapshot.html +21 -0
  354. package/lib/vite/traceViewer/sw.bundle.js +5 -0
  355. package/lib/vite/traceViewer/uiMode.Btcz36p_.css +1 -0
  356. package/lib/vite/traceViewer/uiMode.CQJ9SCIQ.js +5 -0
  357. package/lib/vite/traceViewer/uiMode.html +17 -0
  358. package/lib/vite/traceViewer/xtermModule.DYP7pi_n.css +32 -0
  359. package/lib/zipBundle.js +34 -0
  360. package/lib/zipBundleImpl.js +5 -0
  361. package/package.json +43 -0
  362. package/types/protocol.d.ts +23824 -0
  363. package/types/structs.d.ts +45 -0
  364. package/types/types.d.ts +23170 -0
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from === "object" || typeof from === "function") {
8
+ for (let key of __getOwnPropNames(from))
9
+ if (!__hasOwnProp.call(to, key) && key !== except)
10
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
+ }
12
+ return to;
13
+ };
14
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
+ var bidiCommands_d_exports = {};
16
+ module.exports = __toCommonJS(bidiCommands_d_exports);
17
+ /**
18
+ * @license
19
+ * Copyright 2024 Google Inc.
20
+ * Modifications copyright (c) Microsoft Corporation.
21
+ * SPDX-License-Identifier: Apache-2.0
22
+ */
@@ -0,0 +1,256 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var bidiKeyboard_exports = {};
20
+ __export(bidiKeyboard_exports, {
21
+ getBidiKeyValue: () => getBidiKeyValue
22
+ });
23
+ module.exports = __toCommonJS(bidiKeyboard_exports);
24
+ /**
25
+ * @license
26
+ * Copyright 2024 Google Inc.
27
+ * Modifications copyright (c) Microsoft Corporation.
28
+ * SPDX-License-Identifier: Apache-2.0
29
+ */
30
+ const getBidiKeyValue = (keyName) => {
31
+ switch (keyName) {
32
+ case "\r":
33
+ case "\n":
34
+ keyName = "Enter";
35
+ break;
36
+ }
37
+ if ([...keyName].length === 1) {
38
+ return keyName;
39
+ }
40
+ switch (keyName) {
41
+ case "Cancel":
42
+ return "\uE001";
43
+ case "Help":
44
+ return "\uE002";
45
+ case "Backspace":
46
+ return "\uE003";
47
+ case "Tab":
48
+ return "\uE004";
49
+ case "Clear":
50
+ return "\uE005";
51
+ case "Enter":
52
+ return "\uE007";
53
+ case "Shift":
54
+ case "ShiftLeft":
55
+ return "\uE008";
56
+ case "Control":
57
+ case "ControlLeft":
58
+ return "\uE009";
59
+ case "Alt":
60
+ case "AltLeft":
61
+ return "\uE00A";
62
+ case "Pause":
63
+ return "\uE00B";
64
+ case "Escape":
65
+ return "\uE00C";
66
+ case "PageUp":
67
+ return "\uE00E";
68
+ case "PageDown":
69
+ return "\uE00F";
70
+ case "End":
71
+ return "\uE010";
72
+ case "Home":
73
+ return "\uE011";
74
+ case "ArrowLeft":
75
+ return "\uE012";
76
+ case "ArrowUp":
77
+ return "\uE013";
78
+ case "ArrowRight":
79
+ return "\uE014";
80
+ case "ArrowDown":
81
+ return "\uE015";
82
+ case "Insert":
83
+ return "\uE016";
84
+ case "Delete":
85
+ return "\uE017";
86
+ case "NumpadEqual":
87
+ return "\uE019";
88
+ case "Numpad0":
89
+ return "\uE01A";
90
+ case "Numpad1":
91
+ return "\uE01B";
92
+ case "Numpad2":
93
+ return "\uE01C";
94
+ case "Numpad3":
95
+ return "\uE01D";
96
+ case "Numpad4":
97
+ return "\uE01E";
98
+ case "Numpad5":
99
+ return "\uE01F";
100
+ case "Numpad6":
101
+ return "\uE020";
102
+ case "Numpad7":
103
+ return "\uE021";
104
+ case "Numpad8":
105
+ return "\uE022";
106
+ case "Numpad9":
107
+ return "\uE023";
108
+ case "NumpadMultiply":
109
+ return "\uE024";
110
+ case "NumpadAdd":
111
+ return "\uE025";
112
+ case "NumpadSubtract":
113
+ return "\uE027";
114
+ case "NumpadDecimal":
115
+ return "\uE028";
116
+ case "NumpadDivide":
117
+ return "\uE029";
118
+ case "F1":
119
+ return "\uE031";
120
+ case "F2":
121
+ return "\uE032";
122
+ case "F3":
123
+ return "\uE033";
124
+ case "F4":
125
+ return "\uE034";
126
+ case "F5":
127
+ return "\uE035";
128
+ case "F6":
129
+ return "\uE036";
130
+ case "F7":
131
+ return "\uE037";
132
+ case "F8":
133
+ return "\uE038";
134
+ case "F9":
135
+ return "\uE039";
136
+ case "F10":
137
+ return "\uE03A";
138
+ case "F11":
139
+ return "\uE03B";
140
+ case "F12":
141
+ return "\uE03C";
142
+ case "Meta":
143
+ case "MetaLeft":
144
+ return "\uE03D";
145
+ case "ShiftRight":
146
+ return "\uE050";
147
+ case "ControlRight":
148
+ return "\uE051";
149
+ case "AltRight":
150
+ return "\uE052";
151
+ case "MetaRight":
152
+ return "\uE053";
153
+ case "Space":
154
+ return " ";
155
+ case "Digit0":
156
+ return "0";
157
+ case "Digit1":
158
+ return "1";
159
+ case "Digit2":
160
+ return "2";
161
+ case "Digit3":
162
+ return "3";
163
+ case "Digit4":
164
+ return "4";
165
+ case "Digit5":
166
+ return "5";
167
+ case "Digit6":
168
+ return "6";
169
+ case "Digit7":
170
+ return "7";
171
+ case "Digit8":
172
+ return "8";
173
+ case "Digit9":
174
+ return "9";
175
+ case "KeyA":
176
+ return "a";
177
+ case "KeyB":
178
+ return "b";
179
+ case "KeyC":
180
+ return "c";
181
+ case "KeyD":
182
+ return "d";
183
+ case "KeyE":
184
+ return "e";
185
+ case "KeyF":
186
+ return "f";
187
+ case "KeyG":
188
+ return "g";
189
+ case "KeyH":
190
+ return "h";
191
+ case "KeyI":
192
+ return "i";
193
+ case "KeyJ":
194
+ return "j";
195
+ case "KeyK":
196
+ return "k";
197
+ case "KeyL":
198
+ return "l";
199
+ case "KeyM":
200
+ return "m";
201
+ case "KeyN":
202
+ return "n";
203
+ case "KeyO":
204
+ return "o";
205
+ case "KeyP":
206
+ return "p";
207
+ case "KeyQ":
208
+ return "q";
209
+ case "KeyR":
210
+ return "r";
211
+ case "KeyS":
212
+ return "s";
213
+ case "KeyT":
214
+ return "t";
215
+ case "KeyU":
216
+ return "u";
217
+ case "KeyV":
218
+ return "v";
219
+ case "KeyW":
220
+ return "w";
221
+ case "KeyX":
222
+ return "x";
223
+ case "KeyY":
224
+ return "y";
225
+ case "KeyZ":
226
+ return "z";
227
+ case "Semicolon":
228
+ return ";";
229
+ case "Equal":
230
+ return "=";
231
+ case "Comma":
232
+ return ",";
233
+ case "Minus":
234
+ return "-";
235
+ case "Period":
236
+ return ".";
237
+ case "Slash":
238
+ return "/";
239
+ case "Backquote":
240
+ return "`";
241
+ case "BracketLeft":
242
+ return "[";
243
+ case "Backslash":
244
+ return "\\";
245
+ case "BracketRight":
246
+ return "]";
247
+ case "Quote":
248
+ return '"';
249
+ default:
250
+ throw new Error(`Unknown key: "${keyName}"`);
251
+ }
252
+ };
253
+ // Annotate the CommonJS export names for ESM import in node:
254
+ 0 && (module.exports = {
255
+ getBidiKeyValue
256
+ });
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from === "object" || typeof from === "function") {
8
+ for (let key of __getOwnPropNames(from))
9
+ if (!__hasOwnProp.call(to, key) && key !== except)
10
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
+ }
12
+ return to;
13
+ };
14
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
15
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
16
+ var bidiProtocol_exports = {};
17
+ module.exports = __toCommonJS(bidiProtocol_exports);
18
+ __reExport(bidiProtocol_exports, require("./bidiProtocolCore"), module.exports);
19
+ __reExport(bidiProtocol_exports, require("./bidiProtocolPermissions"), module.exports);
20
+ // Annotate the CommonJS export names for ESM import in node:
21
+ 0 && (module.exports = {
22
+ ...require("./bidiProtocolCore"),
23
+ ...require("./bidiProtocolPermissions")
24
+ });
@@ -0,0 +1,180 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var bidiProtocolCore_exports = {};
20
+ __export(bidiProtocolCore_exports, {
21
+ BrowsingContext: () => BrowsingContext,
22
+ Emulation: () => Emulation,
23
+ ErrorCode: () => ErrorCode,
24
+ Input: () => Input,
25
+ Log: () => Log,
26
+ Network: () => Network,
27
+ Script: () => Script,
28
+ Session: () => Session
29
+ });
30
+ module.exports = __toCommonJS(bidiProtocolCore_exports);
31
+ var ErrorCode = /* @__PURE__ */ ((ErrorCode2) => {
32
+ ErrorCode2["InvalidArgument"] = "invalid argument";
33
+ ErrorCode2["InvalidSelector"] = "invalid selector";
34
+ ErrorCode2["InvalidSessionId"] = "invalid session id";
35
+ ErrorCode2["InvalidWebExtension"] = "invalid web extension";
36
+ ErrorCode2["MoveTargetOutOfBounds"] = "move target out of bounds";
37
+ ErrorCode2["NoSuchAlert"] = "no such alert";
38
+ ErrorCode2["NoSuchNetworkCollector"] = "no such network collector";
39
+ ErrorCode2["NoSuchElement"] = "no such element";
40
+ ErrorCode2["NoSuchFrame"] = "no such frame";
41
+ ErrorCode2["NoSuchHandle"] = "no such handle";
42
+ ErrorCode2["NoSuchHistoryEntry"] = "no such history entry";
43
+ ErrorCode2["NoSuchIntercept"] = "no such intercept";
44
+ ErrorCode2["NoSuchNetworkData"] = "no such network data";
45
+ ErrorCode2["NoSuchNode"] = "no such node";
46
+ ErrorCode2["NoSuchRequest"] = "no such request";
47
+ ErrorCode2["NoSuchScript"] = "no such script";
48
+ ErrorCode2["NoSuchStoragePartition"] = "no such storage partition";
49
+ ErrorCode2["NoSuchUserContext"] = "no such user context";
50
+ ErrorCode2["NoSuchWebExtension"] = "no such web extension";
51
+ ErrorCode2["SessionNotCreated"] = "session not created";
52
+ ErrorCode2["UnableToCaptureScreen"] = "unable to capture screen";
53
+ ErrorCode2["UnableToCloseBrowser"] = "unable to close browser";
54
+ ErrorCode2["UnableToSetCookie"] = "unable to set cookie";
55
+ ErrorCode2["UnableToSetFileInput"] = "unable to set file input";
56
+ ErrorCode2["UnavailableNetworkData"] = "unavailable network data";
57
+ ErrorCode2["UnderspecifiedStoragePartition"] = "underspecified storage partition";
58
+ ErrorCode2["UnknownCommand"] = "unknown command";
59
+ ErrorCode2["UnknownError"] = "unknown error";
60
+ ErrorCode2["UnsupportedOperation"] = "unsupported operation";
61
+ return ErrorCode2;
62
+ })(ErrorCode || {});
63
+ var Session;
64
+ ((Session2) => {
65
+ let UserPromptHandlerType;
66
+ ((UserPromptHandlerType2) => {
67
+ UserPromptHandlerType2["Accept"] = "accept";
68
+ UserPromptHandlerType2["Dismiss"] = "dismiss";
69
+ UserPromptHandlerType2["Ignore"] = "ignore";
70
+ })(UserPromptHandlerType = Session2.UserPromptHandlerType || (Session2.UserPromptHandlerType = {}));
71
+ })(Session || (Session = {}));
72
+ var BrowsingContext;
73
+ ((BrowsingContext2) => {
74
+ let ReadinessState;
75
+ ((ReadinessState2) => {
76
+ ReadinessState2["None"] = "none";
77
+ ReadinessState2["Interactive"] = "interactive";
78
+ ReadinessState2["Complete"] = "complete";
79
+ })(ReadinessState = BrowsingContext2.ReadinessState || (BrowsingContext2.ReadinessState = {}));
80
+ })(BrowsingContext || (BrowsingContext = {}));
81
+ ((BrowsingContext2) => {
82
+ let UserPromptType;
83
+ ((UserPromptType2) => {
84
+ UserPromptType2["Alert"] = "alert";
85
+ UserPromptType2["Beforeunload"] = "beforeunload";
86
+ UserPromptType2["Confirm"] = "confirm";
87
+ UserPromptType2["Prompt"] = "prompt";
88
+ })(UserPromptType = BrowsingContext2.UserPromptType || (BrowsingContext2.UserPromptType = {}));
89
+ })(BrowsingContext || (BrowsingContext = {}));
90
+ ((BrowsingContext2) => {
91
+ let CreateType;
92
+ ((CreateType2) => {
93
+ CreateType2["Tab"] = "tab";
94
+ CreateType2["Window"] = "window";
95
+ })(CreateType = BrowsingContext2.CreateType || (BrowsingContext2.CreateType = {}));
96
+ })(BrowsingContext || (BrowsingContext = {}));
97
+ var Emulation;
98
+ ((Emulation2) => {
99
+ let ForcedColorsModeTheme;
100
+ ((ForcedColorsModeTheme2) => {
101
+ ForcedColorsModeTheme2["Light"] = "light";
102
+ ForcedColorsModeTheme2["Dark"] = "dark";
103
+ })(ForcedColorsModeTheme = Emulation2.ForcedColorsModeTheme || (Emulation2.ForcedColorsModeTheme = {}));
104
+ })(Emulation || (Emulation = {}));
105
+ ((Emulation2) => {
106
+ let ScreenOrientationNatural;
107
+ ((ScreenOrientationNatural2) => {
108
+ ScreenOrientationNatural2["Portrait"] = "portrait";
109
+ ScreenOrientationNatural2["Landscape"] = "landscape";
110
+ })(ScreenOrientationNatural = Emulation2.ScreenOrientationNatural || (Emulation2.ScreenOrientationNatural = {}));
111
+ })(Emulation || (Emulation = {}));
112
+ var Network;
113
+ ((Network2) => {
114
+ let CollectorType;
115
+ ((CollectorType2) => {
116
+ CollectorType2["Blob"] = "blob";
117
+ })(CollectorType = Network2.CollectorType || (Network2.CollectorType = {}));
118
+ })(Network || (Network = {}));
119
+ ((Network2) => {
120
+ let SameSite;
121
+ ((SameSite2) => {
122
+ SameSite2["Strict"] = "strict";
123
+ SameSite2["Lax"] = "lax";
124
+ SameSite2["None"] = "none";
125
+ SameSite2["Default"] = "default";
126
+ })(SameSite = Network2.SameSite || (Network2.SameSite = {}));
127
+ })(Network || (Network = {}));
128
+ ((Network2) => {
129
+ let DataType;
130
+ ((DataType2) => {
131
+ DataType2["Request"] = "request";
132
+ DataType2["Response"] = "response";
133
+ })(DataType = Network2.DataType || (Network2.DataType = {}));
134
+ })(Network || (Network = {}));
135
+ ((Network2) => {
136
+ let InterceptPhase;
137
+ ((InterceptPhase2) => {
138
+ InterceptPhase2["BeforeRequestSent"] = "beforeRequestSent";
139
+ InterceptPhase2["ResponseStarted"] = "responseStarted";
140
+ InterceptPhase2["AuthRequired"] = "authRequired";
141
+ })(InterceptPhase = Network2.InterceptPhase || (Network2.InterceptPhase = {}));
142
+ })(Network || (Network = {}));
143
+ var Script;
144
+ ((Script2) => {
145
+ let ResultOwnership;
146
+ ((ResultOwnership2) => {
147
+ ResultOwnership2["Root"] = "root";
148
+ ResultOwnership2["None"] = "none";
149
+ })(ResultOwnership = Script2.ResultOwnership || (Script2.ResultOwnership = {}));
150
+ })(Script || (Script = {}));
151
+ var Log;
152
+ ((Log2) => {
153
+ let Level;
154
+ ((Level2) => {
155
+ Level2["Debug"] = "debug";
156
+ Level2["Info"] = "info";
157
+ Level2["Warn"] = "warn";
158
+ Level2["Error"] = "error";
159
+ })(Level = Log2.Level || (Log2.Level = {}));
160
+ })(Log || (Log = {}));
161
+ var Input;
162
+ ((Input2) => {
163
+ let PointerType;
164
+ ((PointerType2) => {
165
+ PointerType2["Mouse"] = "mouse";
166
+ PointerType2["Pen"] = "pen";
167
+ PointerType2["Touch"] = "touch";
168
+ })(PointerType = Input2.PointerType || (Input2.PointerType = {}));
169
+ })(Input || (Input = {}));
170
+ // Annotate the CommonJS export names for ESM import in node:
171
+ 0 && (module.exports = {
172
+ BrowsingContext,
173
+ Emulation,
174
+ ErrorCode,
175
+ Input,
176
+ Log,
177
+ Network,
178
+ Script,
179
+ Session
180
+ });
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var bidiProtocolPermissions_exports = {};
20
+ __export(bidiProtocolPermissions_exports, {
21
+ Permissions: () => Permissions
22
+ });
23
+ module.exports = __toCommonJS(bidiProtocolPermissions_exports);
24
+ /**
25
+ * @license
26
+ * Copyright 2024 Google Inc.
27
+ * Modifications copyright (c) Microsoft Corporation.
28
+ * SPDX-License-Identifier: Apache-2.0
29
+ */
30
+ var Permissions;
31
+ ((Permissions2) => {
32
+ let PermissionState;
33
+ ((PermissionState2) => {
34
+ PermissionState2["Granted"] = "granted";
35
+ PermissionState2["Denied"] = "denied";
36
+ PermissionState2["Prompt"] = "prompt";
37
+ })(PermissionState = Permissions2.PermissionState || (Permissions2.PermissionState = {}));
38
+ })(Permissions || (Permissions = {}));
39
+ // Annotate the CommonJS export names for ESM import in node:
40
+ 0 && (module.exports = {
41
+ Permissions
42
+ });
@@ -0,0 +1,148 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var bidiSerializer_exports = {};
20
+ __export(bidiSerializer_exports, {
21
+ BidiSerializer: () => BidiSerializer,
22
+ isDate: () => isDate,
23
+ isPlainObject: () => isPlainObject,
24
+ isRegExp: () => isRegExp
25
+ });
26
+ module.exports = __toCommonJS(bidiSerializer_exports);
27
+ /**
28
+ * @license
29
+ * Copyright 2024 Google Inc.
30
+ * Modifications copyright (c) Microsoft Corporation.
31
+ * SPDX-License-Identifier: Apache-2.0
32
+ */
33
+ class UnserializableError extends Error {
34
+ }
35
+ class BidiSerializer {
36
+ static serialize(arg) {
37
+ switch (typeof arg) {
38
+ case "symbol":
39
+ case "function":
40
+ throw new UnserializableError(`Unable to serializable ${typeof arg}`);
41
+ case "object":
42
+ return BidiSerializer._serializeObject(arg);
43
+ case "undefined":
44
+ return {
45
+ type: "undefined"
46
+ };
47
+ case "number":
48
+ return BidiSerializer._serializeNumber(arg);
49
+ case "bigint":
50
+ return {
51
+ type: "bigint",
52
+ value: arg.toString()
53
+ };
54
+ case "string":
55
+ return {
56
+ type: "string",
57
+ value: arg
58
+ };
59
+ case "boolean":
60
+ return {
61
+ type: "boolean",
62
+ value: arg
63
+ };
64
+ }
65
+ }
66
+ static _serializeNumber(arg) {
67
+ let value;
68
+ if (Object.is(arg, -0)) {
69
+ value = "-0";
70
+ } else if (Object.is(arg, Infinity)) {
71
+ value = "Infinity";
72
+ } else if (Object.is(arg, -Infinity)) {
73
+ value = "-Infinity";
74
+ } else if (Object.is(arg, NaN)) {
75
+ value = "NaN";
76
+ } else {
77
+ value = arg;
78
+ }
79
+ return {
80
+ type: "number",
81
+ value
82
+ };
83
+ }
84
+ static _serializeObject(arg) {
85
+ if (arg === null) {
86
+ return {
87
+ type: "null"
88
+ };
89
+ } else if (Array.isArray(arg)) {
90
+ const parsedArray = arg.map((subArg) => {
91
+ return BidiSerializer.serialize(subArg);
92
+ });
93
+ return {
94
+ type: "array",
95
+ value: parsedArray
96
+ };
97
+ } else if (isPlainObject(arg)) {
98
+ try {
99
+ JSON.stringify(arg);
100
+ } catch (error) {
101
+ if (error instanceof TypeError && error.message.startsWith("Converting circular structure to JSON")) {
102
+ error.message += " Recursive objects are not allowed.";
103
+ }
104
+ throw error;
105
+ }
106
+ const parsedObject = [];
107
+ for (const key in arg) {
108
+ parsedObject.push([BidiSerializer.serialize(key), BidiSerializer.serialize(arg[key])]);
109
+ }
110
+ return {
111
+ type: "object",
112
+ value: parsedObject
113
+ };
114
+ } else if (isRegExp(arg)) {
115
+ return {
116
+ type: "regexp",
117
+ value: {
118
+ pattern: arg.source,
119
+ flags: arg.flags
120
+ }
121
+ };
122
+ } else if (isDate(arg)) {
123
+ return {
124
+ type: "date",
125
+ value: arg.toISOString()
126
+ };
127
+ }
128
+ throw new UnserializableError(
129
+ "Custom object serialization not possible. Use plain objects instead."
130
+ );
131
+ }
132
+ }
133
+ const isPlainObject = (obj) => {
134
+ return typeof obj === "object" && obj?.constructor === Object;
135
+ };
136
+ const isRegExp = (obj) => {
137
+ return typeof obj === "object" && obj?.constructor === RegExp;
138
+ };
139
+ const isDate = (obj) => {
140
+ return typeof obj === "object" && obj?.constructor === Date;
141
+ };
142
+ // Annotate the CommonJS export names for ESM import in node:
143
+ 0 && (module.exports = {
144
+ BidiSerializer,
145
+ isDate,
146
+ isPlainObject,
147
+ isRegExp
148
+ });