isomorfeus-puppetmaster 0.5.5 → 0.5.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (710) hide show
  1. checksums.yaml +4 -4
  2. data/lib/isomorfeus/puppetmaster/console_message.rb +18 -18
  3. data/lib/isomorfeus/puppetmaster/cookie.rb +46 -46
  4. data/lib/isomorfeus/puppetmaster/driver/puppeteer.rb +413 -415
  5. data/lib/isomorfeus/puppetmaster/driver/puppeteer_document.rb +953 -953
  6. data/lib/isomorfeus/puppetmaster/driver/puppeteer_node.rb +851 -851
  7. data/lib/isomorfeus/puppetmaster/errors.rb +90 -90
  8. data/lib/isomorfeus/puppetmaster/iframe.rb +16 -16
  9. data/lib/isomorfeus/puppetmaster/node/content_editable.rb +17 -17
  10. data/lib/isomorfeus/puppetmaster/node/input.rb +20 -20
  11. data/lib/isomorfeus/puppetmaster/node/select.rb +35 -35
  12. data/lib/isomorfeus/puppetmaster/node.rb +279 -279
  13. data/lib/isomorfeus/puppetmaster/request.rb +16 -16
  14. data/lib/isomorfeus/puppetmaster/response.rb +25 -25
  15. data/lib/isomorfeus/puppetmaster/self_forwardable.rb +38 -38
  16. data/lib/isomorfeus/puppetmaster/version.rb +3 -3
  17. data/lib/isomorfeus/puppetmaster.rb +85 -85
  18. data/lib/isomorfeus-puppetmaster.rb +1 -0
  19. data/node_modules/.bin/extract-zip +12 -12
  20. data/node_modules/.bin/extract-zip.ps1 +28 -28
  21. data/node_modules/.bin/rimraf +12 -12
  22. data/node_modules/.bin/rimraf.ps1 +28 -28
  23. data/node_modules/.package-lock.json +530 -585
  24. data/node_modules/@types/node/LICENSE +21 -21
  25. data/node_modules/@types/node/assert/strict.d.ts +8 -8
  26. data/node_modules/@types/node/assert.d.ts +912 -912
  27. data/node_modules/@types/node/async_hooks.d.ts +497 -497
  28. data/node_modules/@types/node/buffer.d.ts +2142 -2142
  29. data/node_modules/@types/node/child_process.d.ts +1355 -1355
  30. data/node_modules/@types/node/cluster.d.ts +414 -414
  31. data/node_modules/@types/node/console.d.ts +407 -407
  32. data/node_modules/@types/node/constants.d.ts +18 -18
  33. data/node_modules/@types/node/crypto.d.ts +3224 -3224
  34. data/node_modules/@types/node/dgram.d.ts +545 -545
  35. data/node_modules/@types/node/diagnostics_channel.d.ts +128 -128
  36. data/node_modules/@types/node/dns/promises.d.ts +357 -357
  37. data/node_modules/@types/node/dns.d.ts +643 -643
  38. data/node_modules/@types/node/domain.d.ts +169 -169
  39. data/node_modules/@types/node/events.d.ts +623 -623
  40. data/node_modules/@types/node/fs/promises.d.ts +997 -997
  41. data/node_modules/@types/node/fs.d.ts +3723 -3723
  42. data/node_modules/@types/node/globals.d.ts +285 -285
  43. data/node_modules/@types/node/globals.global.d.ts +1 -1
  44. data/node_modules/@types/node/http.d.ts +1358 -1358
  45. data/node_modules/@types/node/http2.d.ts +2100 -2100
  46. data/node_modules/@types/node/https.d.ts +391 -391
  47. data/node_modules/@types/node/index.d.ts +131 -131
  48. data/node_modules/@types/node/inspector.d.ts +2738 -2738
  49. data/node_modules/@types/node/module.d.ts +114 -114
  50. data/node_modules/@types/node/net.d.ts +783 -783
  51. data/node_modules/@types/node/os.d.ts +455 -455
  52. data/node_modules/@types/node/package.json +229 -229
  53. data/node_modules/@types/node/path.d.ts +172 -172
  54. data/node_modules/@types/node/perf_hooks.d.ts +555 -555
  55. data/node_modules/@types/node/process.d.ts +1477 -1477
  56. data/node_modules/@types/node/punycode.d.ts +117 -117
  57. data/node_modules/@types/node/querystring.d.ts +131 -131
  58. data/node_modules/@types/node/readline.d.ts +542 -542
  59. data/node_modules/@types/node/repl.d.ts +424 -424
  60. data/node_modules/@types/node/stream/consumers.d.ts +24 -24
  61. data/node_modules/@types/node/stream/promises.d.ts +42 -42
  62. data/node_modules/@types/node/stream/web.d.ts +6 -6
  63. data/node_modules/@types/node/stream.d.ts +1181 -1181
  64. data/node_modules/@types/node/string_decoder.d.ts +67 -67
  65. data/node_modules/@types/node/timers/promises.d.ts +68 -68
  66. data/node_modules/@types/node/timers.d.ts +94 -94
  67. data/node_modules/@types/node/tls.d.ts +1019 -1019
  68. data/node_modules/@types/node/trace_events.d.ts +161 -161
  69. data/node_modules/@types/node/tty.d.ts +206 -206
  70. data/node_modules/@types/node/url.d.ts +798 -798
  71. data/node_modules/@types/node/util.d.ts +1556 -1556
  72. data/node_modules/@types/node/v8.d.ts +378 -378
  73. data/node_modules/@types/node/vm.d.ts +504 -504
  74. data/node_modules/@types/node/wasi.d.ts +153 -153
  75. data/node_modules/@types/node/worker_threads.d.ts +649 -649
  76. data/node_modules/@types/node/zlib.d.ts +517 -517
  77. data/node_modules/@types/yauzl/LICENSE +21 -21
  78. data/node_modules/@types/yauzl/index.d.ts +98 -98
  79. data/node_modules/@types/yauzl/package.json +26 -26
  80. data/node_modules/agent-base/README.md +145 -145
  81. data/node_modules/agent-base/dist/src/index.d.ts +78 -78
  82. data/node_modules/agent-base/dist/src/index.js +202 -202
  83. data/node_modules/agent-base/dist/src/promisify.d.ts +4 -4
  84. data/node_modules/agent-base/dist/src/promisify.js +17 -17
  85. data/node_modules/agent-base/package.json +64 -64
  86. data/node_modules/agent-base/src/index.ts +345 -345
  87. data/node_modules/agent-base/src/promisify.ts +33 -33
  88. data/node_modules/balanced-match/.github/FUNDING.yml +2 -2
  89. data/node_modules/balanced-match/LICENSE.md +21 -21
  90. data/node_modules/balanced-match/README.md +97 -97
  91. data/node_modules/balanced-match/index.js +62 -62
  92. data/node_modules/balanced-match/package.json +48 -48
  93. data/node_modules/base64-js/LICENSE +21 -21
  94. data/node_modules/base64-js/README.md +34 -34
  95. data/node_modules/base64-js/index.d.ts +3 -3
  96. data/node_modules/base64-js/index.js +150 -150
  97. data/node_modules/base64-js/package.json +47 -47
  98. data/node_modules/bl/.travis.yml +17 -17
  99. data/node_modules/bl/BufferList.js +396 -396
  100. data/node_modules/bl/LICENSE.md +13 -13
  101. data/node_modules/bl/README.md +247 -247
  102. data/node_modules/bl/bl.js +84 -84
  103. data/node_modules/bl/package.json +37 -37
  104. data/node_modules/bl/test/convert.js +21 -21
  105. data/node_modules/bl/test/indexOf.js +492 -492
  106. data/node_modules/bl/test/isBufferList.js +32 -32
  107. data/node_modules/bl/test/test.js +869 -869
  108. data/node_modules/brace-expansion/LICENSE +21 -21
  109. data/node_modules/brace-expansion/README.md +129 -129
  110. data/node_modules/brace-expansion/index.js +201 -201
  111. data/node_modules/brace-expansion/package.json +47 -47
  112. data/node_modules/buffer/AUTHORS.md +70 -70
  113. data/node_modules/buffer/LICENSE +21 -21
  114. data/node_modules/buffer/README.md +410 -410
  115. data/node_modules/buffer/index.d.ts +186 -186
  116. data/node_modules/buffer/index.js +1817 -1817
  117. data/node_modules/buffer/package.json +96 -96
  118. data/node_modules/buffer-crc32/LICENSE +19 -19
  119. data/node_modules/buffer-crc32/README.md +47 -47
  120. data/node_modules/buffer-crc32/index.js +111 -111
  121. data/node_modules/buffer-crc32/package.json +39 -39
  122. data/node_modules/chownr/LICENSE +15 -15
  123. data/node_modules/chownr/README.md +3 -3
  124. data/node_modules/chownr/chownr.js +167 -167
  125. data/node_modules/chownr/package.json +29 -29
  126. data/node_modules/concat-map/.travis.yml +4 -4
  127. data/node_modules/concat-map/LICENSE +18 -18
  128. data/node_modules/concat-map/README.markdown +62 -62
  129. data/node_modules/concat-map/example/map.js +6 -6
  130. data/node_modules/concat-map/index.js +13 -13
  131. data/node_modules/concat-map/package.json +43 -43
  132. data/node_modules/concat-map/test/map.js +39 -39
  133. data/node_modules/debug/LICENSE +19 -19
  134. data/node_modules/debug/README.md +455 -455
  135. data/node_modules/debug/package.json +59 -59
  136. data/node_modules/debug/src/browser.js +269 -269
  137. data/node_modules/debug/src/common.js +274 -274
  138. data/node_modules/debug/src/index.js +10 -10
  139. data/node_modules/debug/src/node.js +263 -263
  140. data/node_modules/devtools-protocol/LICENSE +27 -27
  141. data/node_modules/devtools-protocol/README.md +12 -12
  142. data/node_modules/devtools-protocol/json/browser_protocol.json +20985 -20640
  143. data/node_modules/devtools-protocol/json/js_protocol.json +3531 -3580
  144. data/node_modules/devtools-protocol/package.json +17 -18
  145. data/node_modules/devtools-protocol/pdl/browser_protocol.pdl +9849 -9637
  146. data/node_modules/devtools-protocol/pdl/js_protocol.pdl +1653 -1678
  147. data/node_modules/devtools-protocol/types/protocol-mapping.d.ts +4333 -4321
  148. data/node_modules/devtools-protocol/types/protocol-proxy-api.d.ts +3695 -3683
  149. data/node_modules/devtools-protocol/types/protocol.d.ts +15714 -15538
  150. data/node_modules/end-of-stream/LICENSE +20 -20
  151. data/node_modules/end-of-stream/README.md +54 -54
  152. data/node_modules/end-of-stream/index.js +94 -94
  153. data/node_modules/end-of-stream/package.json +37 -37
  154. data/node_modules/extract-zip/LICENSE +23 -23
  155. data/node_modules/extract-zip/cli.js +19 -19
  156. data/node_modules/extract-zip/index.d.ts +21 -21
  157. data/node_modules/extract-zip/index.js +173 -173
  158. data/node_modules/extract-zip/package.json +80 -80
  159. data/node_modules/extract-zip/readme.md +57 -57
  160. data/node_modules/fd-slicer/.npmignore +2 -2
  161. data/node_modules/fd-slicer/.travis.yml +7 -7
  162. data/node_modules/fd-slicer/CHANGELOG.md +49 -49
  163. data/node_modules/fd-slicer/LICENSE +21 -21
  164. data/node_modules/fd-slicer/README.md +199 -199
  165. data/node_modules/fd-slicer/index.js +296 -296
  166. data/node_modules/fd-slicer/package.json +36 -36
  167. data/node_modules/fd-slicer/test/test.js +350 -350
  168. data/node_modules/find-up/index.d.ts +137 -137
  169. data/node_modules/find-up/index.js +89 -89
  170. data/node_modules/find-up/license +9 -9
  171. data/node_modules/find-up/package.json +53 -53
  172. data/node_modules/find-up/readme.md +156 -156
  173. data/node_modules/fs-constants/LICENSE +21 -21
  174. data/node_modules/fs-constants/README.md +26 -26
  175. data/node_modules/fs-constants/browser.js +1 -1
  176. data/node_modules/fs-constants/index.js +1 -1
  177. data/node_modules/fs-constants/package.json +19 -19
  178. data/node_modules/fs.realpath/LICENSE +43 -43
  179. data/node_modules/fs.realpath/README.md +33 -33
  180. data/node_modules/fs.realpath/index.js +66 -66
  181. data/node_modules/fs.realpath/old.js +303 -303
  182. data/node_modules/fs.realpath/package.json +26 -26
  183. data/node_modules/get-stream/buffer-stream.js +52 -52
  184. data/node_modules/get-stream/index.d.ts +108 -108
  185. data/node_modules/get-stream/index.js +60 -60
  186. data/node_modules/get-stream/license +9 -9
  187. data/node_modules/get-stream/package.json +50 -50
  188. data/node_modules/get-stream/readme.md +124 -124
  189. data/node_modules/glob/LICENSE +21 -21
  190. data/node_modules/glob/README.md +375 -375
  191. data/node_modules/glob/changelog.md +67 -67
  192. data/node_modules/glob/common.js +234 -234
  193. data/node_modules/glob/glob.js +788 -788
  194. data/node_modules/glob/package.json +51 -51
  195. data/node_modules/glob/sync.js +484 -484
  196. data/node_modules/https-proxy-agent/README.md +137 -137
  197. data/node_modules/https-proxy-agent/dist/agent.d.ts +30 -30
  198. data/node_modules/https-proxy-agent/dist/agent.js +179 -179
  199. data/node_modules/https-proxy-agent/dist/index.d.ts +23 -23
  200. data/node_modules/https-proxy-agent/dist/index.js +13 -13
  201. data/node_modules/https-proxy-agent/dist/parse-proxy-response.d.ts +7 -7
  202. data/node_modules/https-proxy-agent/dist/parse-proxy-response.js +65 -65
  203. data/node_modules/https-proxy-agent/package.json +56 -56
  204. data/node_modules/ieee754/LICENSE +11 -11
  205. data/node_modules/ieee754/README.md +51 -51
  206. data/node_modules/ieee754/index.d.ts +9 -9
  207. data/node_modules/ieee754/index.js +85 -85
  208. data/node_modules/ieee754/package.json +52 -52
  209. data/node_modules/inflight/LICENSE +15 -15
  210. data/node_modules/inflight/README.md +37 -37
  211. data/node_modules/inflight/inflight.js +54 -54
  212. data/node_modules/inflight/package.json +29 -29
  213. data/node_modules/inherits/LICENSE +16 -16
  214. data/node_modules/inherits/README.md +42 -42
  215. data/node_modules/inherits/inherits.js +9 -9
  216. data/node_modules/inherits/inherits_browser.js +27 -27
  217. data/node_modules/inherits/package.json +29 -29
  218. data/node_modules/locate-path/index.d.ts +83 -83
  219. data/node_modules/locate-path/index.js +65 -65
  220. data/node_modules/locate-path/license +9 -9
  221. data/node_modules/locate-path/package.json +45 -45
  222. data/node_modules/locate-path/readme.md +122 -122
  223. data/node_modules/minimatch/LICENSE +15 -15
  224. data/node_modules/minimatch/README.md +209 -209
  225. data/node_modules/minimatch/minimatch.js +923 -923
  226. data/node_modules/minimatch/package.json +30 -30
  227. data/node_modules/mkdirp-classic/LICENSE +21 -21
  228. data/node_modules/mkdirp-classic/README.md +18 -18
  229. data/node_modules/mkdirp-classic/index.js +98 -98
  230. data/node_modules/mkdirp-classic/package.json +18 -18
  231. data/node_modules/ms/index.js +162 -162
  232. data/node_modules/ms/license.md +21 -21
  233. data/node_modules/ms/package.json +37 -37
  234. data/node_modules/ms/readme.md +60 -60
  235. data/node_modules/node-fetch/LICENSE.md +22 -22
  236. data/node_modules/node-fetch/README.md +590 -590
  237. data/node_modules/node-fetch/browser.js +24 -24
  238. data/node_modules/node-fetch/lib/index.es.js +1662 -1662
  239. data/node_modules/node-fetch/lib/index.js +1671 -1671
  240. data/node_modules/node-fetch/lib/index.mjs +1660 -1660
  241. data/node_modules/node-fetch/package.json +68 -68
  242. data/node_modules/once/LICENSE +15 -15
  243. data/node_modules/once/README.md +79 -79
  244. data/node_modules/once/once.js +42 -42
  245. data/node_modules/once/package.json +33 -33
  246. data/node_modules/p-limit/index.d.ts +38 -38
  247. data/node_modules/p-limit/index.js +57 -57
  248. data/node_modules/p-limit/license +9 -9
  249. data/node_modules/p-limit/package.json +52 -52
  250. data/node_modules/p-limit/readme.md +101 -101
  251. data/node_modules/p-locate/index.d.ts +64 -64
  252. data/node_modules/p-locate/index.js +52 -52
  253. data/node_modules/p-locate/license +9 -9
  254. data/node_modules/p-locate/package.json +53 -53
  255. data/node_modules/p-locate/readme.md +90 -90
  256. data/node_modules/p-try/index.d.ts +39 -39
  257. data/node_modules/p-try/index.js +9 -9
  258. data/node_modules/p-try/license +9 -9
  259. data/node_modules/p-try/package.json +42 -42
  260. data/node_modules/p-try/readme.md +58 -58
  261. data/node_modules/path-exists/index.d.ts +28 -28
  262. data/node_modules/path-exists/index.js +23 -23
  263. data/node_modules/path-exists/license +9 -9
  264. data/node_modules/path-exists/package.json +39 -39
  265. data/node_modules/path-exists/readme.md +52 -52
  266. data/node_modules/path-is-absolute/index.js +20 -20
  267. data/node_modules/path-is-absolute/license +21 -21
  268. data/node_modules/path-is-absolute/package.json +43 -43
  269. data/node_modules/path-is-absolute/readme.md +59 -59
  270. data/node_modules/pend/LICENSE +23 -23
  271. data/node_modules/pend/README.md +41 -41
  272. data/node_modules/pend/index.js +55 -55
  273. data/node_modules/pend/package.json +18 -18
  274. data/node_modules/pend/test.js +137 -137
  275. data/node_modules/pkg-dir/index.d.ts +44 -44
  276. data/node_modules/pkg-dir/index.js +17 -17
  277. data/node_modules/pkg-dir/license +9 -9
  278. data/node_modules/pkg-dir/package.json +56 -56
  279. data/node_modules/pkg-dir/readme.md +66 -66
  280. data/node_modules/progress/CHANGELOG.md +115 -115
  281. data/node_modules/progress/LICENSE +22 -22
  282. data/node_modules/progress/Makefile +8 -8
  283. data/node_modules/progress/Readme.md +146 -146
  284. data/node_modules/progress/index.js +1 -1
  285. data/node_modules/progress/lib/node-progress.js +236 -236
  286. data/node_modules/progress/package.json +26 -26
  287. data/node_modules/proxy-from-env/.eslintrc +29 -29
  288. data/node_modules/proxy-from-env/.travis.yml +10 -10
  289. data/node_modules/proxy-from-env/LICENSE +20 -20
  290. data/node_modules/proxy-from-env/README.md +131 -131
  291. data/node_modules/proxy-from-env/index.js +108 -108
  292. data/node_modules/proxy-from-env/package.json +34 -34
  293. data/node_modules/proxy-from-env/test.js +483 -483
  294. data/node_modules/pump/.travis.yml +5 -5
  295. data/node_modules/pump/LICENSE +20 -20
  296. data/node_modules/pump/README.md +65 -65
  297. data/node_modules/pump/index.js +82 -82
  298. data/node_modules/pump/package.json +24 -24
  299. data/node_modules/pump/test-browser.js +66 -66
  300. data/node_modules/pump/test-node.js +53 -53
  301. data/node_modules/puppeteer-core/CHANGELOG.md +319 -290
  302. data/node_modules/puppeteer-core/LICENSE +202 -202
  303. data/node_modules/puppeteer-core/README.md +481 -481
  304. data/node_modules/puppeteer-core/cjs-entry-core.js +29 -29
  305. data/node_modules/puppeteer-core/cjs-entry.js +29 -29
  306. data/node_modules/puppeteer-core/install.js +89 -89
  307. data/node_modules/puppeteer-core/lib/cjs/puppeteer/api-docs-entry.d.ts +110 -110
  308. data/node_modules/puppeteer-core/lib/cjs/puppeteer/api-docs-entry.js +80 -80
  309. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Accessibility.d.ts +175 -175
  310. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Accessibility.js +360 -360
  311. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/AriaQueryHandler.d.ts +20 -20
  312. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/AriaQueryHandler.js +84 -84
  313. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/AriaQueryHandler.js.map +1 -1
  314. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Browser.d.ts +455 -455
  315. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Browser.js +540 -540
  316. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/BrowserConnector.d.ts +53 -53
  317. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/BrowserConnector.js +97 -97
  318. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/BrowserWebSocketTransport.d.ts +25 -25
  319. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/BrowserWebSocketTransport.js +34 -34
  320. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Connection.d.ts +135 -135
  321. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Connection.js +298 -298
  322. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/ConnectionTransport.d.ts +24 -24
  323. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/ConnectionTransport.js +17 -17
  324. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/ConsoleMessage.d.ts +72 -72
  325. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/ConsoleMessage.js +64 -64
  326. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Coverage.d.ts +204 -204
  327. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Coverage.js +335 -335
  328. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/DOMWorld.d.ts +175 -175
  329. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/DOMWorld.js +662 -662
  330. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Debug.d.ts +52 -52
  331. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Debug.js +81 -81
  332. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/DeviceDescriptors.d.ts +40 -40
  333. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/DeviceDescriptors.js +1070 -1070
  334. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Dialog.d.ts +74 -74
  335. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Dialog.js +97 -97
  336. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/EmulationManager.d.ts +24 -24
  337. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/EmulationManager.js +37 -37
  338. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Errors.d.ts +50 -50
  339. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Errors.js +56 -56
  340. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/EvalTypes.d.ts +60 -60
  341. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/EvalTypes.js +17 -17
  342. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/EventEmitter.d.ts +92 -92
  343. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/EventEmitter.js +116 -116
  344. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Events.d.ts +81 -81
  345. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Events.js +86 -86
  346. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/ExecutionContext.d.ts +193 -193
  347. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/ExecutionContext.js +321 -321
  348. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/FileChooser.d.ts +58 -58
  349. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/FileChooser.js +71 -71
  350. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/FrameManager.d.ts +744 -744
  351. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/FrameManager.js +1047 -1047
  352. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/FrameManager.js.map +1 -1
  353. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/HTTPRequest.d.ts +350 -345
  354. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/HTTPRequest.d.ts.map +1 -1
  355. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/HTTPRequest.js +549 -549
  356. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/HTTPRequest.js.map +1 -1
  357. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/HTTPResponse.d.ts +134 -125
  358. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/HTTPResponse.d.ts.map +1 -1
  359. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/HTTPResponse.js +184 -164
  360. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/HTTPResponse.js.map +1 -1
  361. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Input.d.ts +358 -358
  362. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Input.js +543 -543
  363. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/JSHandle.d.ts +490 -490
  364. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/JSHandle.js +827 -827
  365. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/LifecycleWatcher.d.ts +65 -65
  366. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/LifecycleWatcher.d.ts.map +1 -1
  367. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/LifecycleWatcher.js +149 -148
  368. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/LifecycleWatcher.js.map +1 -1
  369. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/NetworkConditions.d.ts +26 -26
  370. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/NetworkConditions.js +33 -33
  371. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/NetworkManager.d.ts +126 -97
  372. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/NetworkManager.d.ts.map +1 -1
  373. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/NetworkManager.js +467 -342
  374. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/NetworkManager.js.map +1 -1
  375. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/PDFOptions.d.ts +161 -161
  376. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/PDFOptions.js +34 -34
  377. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Page.d.ts +2055 -2055
  378. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Page.js +2533 -2533
  379. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Product.d.ts +20 -20
  380. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Product.js +17 -17
  381. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Puppeteer.d.ts +159 -159
  382. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Puppeteer.js +161 -161
  383. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/PuppeteerViewport.d.ts +51 -51
  384. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/PuppeteerViewport.js +2 -2
  385. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/QueryHandler.d.ts +64 -64
  386. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/QueryHandler.js +165 -165
  387. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/SecurityDetails.d.ts +60 -60
  388. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/SecurityDetails.js +76 -76
  389. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Target.d.ts +100 -100
  390. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Target.js +145 -145
  391. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/TaskQueue.d.ts +20 -20
  392. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/TaskQueue.js +29 -29
  393. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/TimeoutSettings.d.ts +27 -27
  394. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/TimeoutSettings.js +47 -47
  395. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Tracing.d.ts +46 -46
  396. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Tracing.js +109 -109
  397. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/USKeyboardLayout.d.ts +39 -39
  398. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/USKeyboardLayout.js +406 -406
  399. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/WebWorker.d.ts +98 -98
  400. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/WebWorker.js +112 -112
  401. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/assert.d.ts +22 -22
  402. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/assert.js +33 -33
  403. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/fetch.d.ts +16 -16
  404. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/fetch.js +43 -43
  405. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/helper.d.ts +84 -84
  406. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/helper.js +327 -327
  407. data/node_modules/puppeteer-core/lib/cjs/puppeteer/environment.d.ts +16 -16
  408. data/node_modules/puppeteer-core/lib/cjs/puppeteer/environment.js +19 -19
  409. data/node_modules/puppeteer-core/lib/cjs/puppeteer/global.d.ts +16 -16
  410. data/node_modules/puppeteer-core/lib/cjs/puppeteer/global.js +2 -2
  411. data/node_modules/puppeteer-core/lib/cjs/puppeteer/initialize-node.d.ts +17 -17
  412. data/node_modules/puppeteer-core/lib/cjs/puppeteer/initialize-node.js +44 -44
  413. data/node_modules/puppeteer-core/lib/cjs/puppeteer/initialize-web.d.ts +17 -17
  414. data/node_modules/puppeteer-core/lib/cjs/puppeteer/initialize-web.js +26 -26
  415. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/BrowserFetcher.d.ts +133 -133
  416. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/BrowserFetcher.js +500 -500
  417. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/BrowserRunner.d.ts +40 -39
  418. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/BrowserRunner.d.ts.map +1 -1
  419. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/BrowserRunner.js +256 -230
  420. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/BrowserRunner.js.map +1 -1
  421. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/LaunchOptions.d.ts +134 -134
  422. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/LaunchOptions.js +17 -17
  423. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/Launcher.d.ts +16 -16
  424. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/Launcher.d.ts.map +1 -1
  425. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/Launcher.js +655 -588
  426. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/Launcher.js.map +1 -1
  427. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/NodeWebSocketTransport.d.ts +26 -26
  428. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/NodeWebSocketTransport.js +47 -47
  429. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/PipeTransport.d.ts +29 -29
  430. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/PipeTransport.js +64 -64
  431. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/Puppeteer.d.ts +153 -153
  432. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/Puppeteer.js +188 -188
  433. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/install.d.ts +17 -17
  434. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/install.js +173 -173
  435. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node-puppeteer-core.d.ts +17 -17
  436. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node-puppeteer-core.js +24 -24
  437. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node.d.ts +17 -17
  438. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node.js +23 -23
  439. data/node_modules/puppeteer-core/lib/cjs/puppeteer/revisions.d.ts +21 -21
  440. data/node_modules/puppeteer-core/lib/cjs/puppeteer/revisions.js +22 -22
  441. data/node_modules/puppeteer-core/lib/cjs/puppeteer/web.d.ts +17 -17
  442. data/node_modules/puppeteer-core/lib/cjs/puppeteer/web.js +23 -23
  443. data/node_modules/puppeteer-core/lib/cjs/vendor/mitt/src/index.d.ts +27 -27
  444. data/node_modules/puppeteer-core/lib/cjs/vendor/mitt/src/index.js +56 -56
  445. data/node_modules/puppeteer-core/lib/esm/puppeteer/api-docs-entry.d.ts +110 -110
  446. data/node_modules/puppeteer-core/lib/esm/puppeteer/api-docs-entry.js +80 -80
  447. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Accessibility.d.ts +175 -175
  448. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Accessibility.js +356 -356
  449. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/AriaQueryHandler.d.ts +20 -20
  450. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/AriaQueryHandler.js +81 -81
  451. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/AriaQueryHandler.js.map +1 -1
  452. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Browser.d.ts +455 -455
  453. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Browser.js +535 -535
  454. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/BrowserConnector.d.ts +53 -53
  455. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/BrowserConnector.js +74 -74
  456. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/BrowserWebSocketTransport.d.ts +25 -25
  457. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/BrowserWebSocketTransport.js +30 -30
  458. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Connection.d.ts +135 -135
  459. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Connection.js +293 -293
  460. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/ConnectionTransport.d.ts +24 -24
  461. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/ConnectionTransport.js +16 -16
  462. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/ConsoleMessage.d.ts +72 -72
  463. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/ConsoleMessage.js +60 -60
  464. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Coverage.d.ts +204 -204
  465. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Coverage.js +329 -329
  466. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/DOMWorld.d.ts +175 -175
  467. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/DOMWorld.js +657 -657
  468. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Debug.d.ts +52 -52
  469. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Debug.js +77 -77
  470. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/DeviceDescriptors.d.ts +40 -40
  471. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/DeviceDescriptors.js +1067 -1067
  472. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Dialog.d.ts +74 -74
  473. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Dialog.js +93 -93
  474. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/EmulationManager.d.ts +24 -24
  475. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/EmulationManager.js +33 -33
  476. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Errors.d.ts +50 -50
  477. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Errors.js +50 -50
  478. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/EvalTypes.d.ts +60 -60
  479. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/EvalTypes.js +16 -16
  480. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/EventEmitter.d.ts +92 -92
  481. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/EventEmitter.js +109 -109
  482. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Events.d.ts +81 -81
  483. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Events.js +83 -83
  484. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/ExecutionContext.d.ts +193 -193
  485. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/ExecutionContext.js +317 -317
  486. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/FileChooser.d.ts +58 -58
  487. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/FileChooser.js +67 -67
  488. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/FrameManager.d.ts +744 -744
  489. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/FrameManager.js +1042 -1042
  490. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/FrameManager.js.map +1 -1
  491. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/HTTPRequest.d.ts +350 -345
  492. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/HTTPRequest.d.ts.map +1 -1
  493. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/HTTPRequest.js +545 -545
  494. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/HTTPRequest.js.map +1 -1
  495. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/HTTPResponse.d.ts +134 -125
  496. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/HTTPResponse.d.ts.map +1 -1
  497. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/HTTPResponse.js +180 -160
  498. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/HTTPResponse.js.map +1 -1
  499. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Input.d.ts +358 -358
  500. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Input.js +537 -537
  501. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/JSHandle.d.ts +490 -490
  502. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/JSHandle.js +802 -802
  503. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/LifecycleWatcher.d.ts +65 -65
  504. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/LifecycleWatcher.d.ts.map +1 -1
  505. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/LifecycleWatcher.js +145 -144
  506. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/LifecycleWatcher.js.map +1 -1
  507. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/NetworkConditions.d.ts +26 -26
  508. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/NetworkConditions.js +30 -30
  509. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/NetworkManager.d.ts +126 -97
  510. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/NetworkManager.d.ts.map +1 -1
  511. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/NetworkManager.js +463 -338
  512. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/NetworkManager.js.map +1 -1
  513. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/PDFOptions.d.ts +161 -161
  514. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/PDFOptions.js +31 -31
  515. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Page.d.ts +2055 -2055
  516. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Page.js +2529 -2529
  517. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Product.d.ts +20 -20
  518. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Product.js +16 -16
  519. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Puppeteer.d.ts +159 -159
  520. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Puppeteer.js +157 -157
  521. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/PuppeteerViewport.d.ts +51 -51
  522. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/PuppeteerViewport.js +1 -1
  523. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/QueryHandler.d.ts +64 -64
  524. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/QueryHandler.js +157 -157
  525. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/SecurityDetails.d.ts +60 -60
  526. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/SecurityDetails.js +72 -72
  527. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Target.d.ts +100 -100
  528. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Target.js +141 -141
  529. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/TaskQueue.d.ts +20 -20
  530. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/TaskQueue.js +25 -25
  531. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/TimeoutSettings.d.ts +27 -27
  532. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/TimeoutSettings.js +43 -43
  533. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Tracing.d.ts +46 -46
  534. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Tracing.js +105 -105
  535. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/USKeyboardLayout.d.ts +39 -39
  536. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/USKeyboardLayout.js +403 -403
  537. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/WebWorker.d.ts +98 -98
  538. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/WebWorker.js +108 -108
  539. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/assert.d.ts +22 -22
  540. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/assert.js +28 -28
  541. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/fetch.d.ts +16 -16
  542. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/fetch.js +20 -20
  543. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/helper.d.ts +84 -84
  544. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/helper.js +305 -305
  545. data/node_modules/puppeteer-core/lib/esm/puppeteer/environment.d.ts +16 -16
  546. data/node_modules/puppeteer-core/lib/esm/puppeteer/environment.js +16 -16
  547. data/node_modules/puppeteer-core/lib/esm/puppeteer/global.d.ts +16 -16
  548. data/node_modules/puppeteer-core/lib/esm/puppeteer/global.js +1 -1
  549. data/node_modules/puppeteer-core/lib/esm/puppeteer/initialize-node.d.ts +17 -17
  550. data/node_modules/puppeteer-core/lib/esm/puppeteer/initialize-node.js +37 -37
  551. data/node_modules/puppeteer-core/lib/esm/puppeteer/initialize-web.d.ts +17 -17
  552. data/node_modules/puppeteer-core/lib/esm/puppeteer/initialize-web.js +22 -22
  553. data/node_modules/puppeteer-core/lib/esm/puppeteer/node/BrowserFetcher.d.ts +133 -133
  554. data/node_modules/puppeteer-core/lib/esm/puppeteer/node/BrowserFetcher.js +474 -474
  555. data/node_modules/puppeteer-core/lib/esm/puppeteer/node/BrowserRunner.d.ts +40 -39
  556. data/node_modules/puppeteer-core/lib/esm/puppeteer/node/BrowserRunner.d.ts.map +1 -1
  557. data/node_modules/puppeteer-core/lib/esm/puppeteer/node/BrowserRunner.js +230 -204
  558. data/node_modules/puppeteer-core/lib/esm/puppeteer/node/BrowserRunner.js.map +1 -1
  559. data/node_modules/puppeteer-core/lib/esm/puppeteer/node/LaunchOptions.d.ts +134 -134
  560. data/node_modules/puppeteer-core/lib/esm/puppeteer/node/LaunchOptions.js +16 -16
  561. data/node_modules/puppeteer-core/lib/esm/puppeteer/node/Launcher.d.ts +16 -16
  562. data/node_modules/puppeteer-core/lib/esm/puppeteer/node/Launcher.d.ts.map +1 -1
  563. data/node_modules/puppeteer-core/lib/esm/puppeteer/node/Launcher.js +633 -566
  564. data/node_modules/puppeteer-core/lib/esm/puppeteer/node/Launcher.js.map +1 -1
  565. data/node_modules/puppeteer-core/lib/esm/puppeteer/node/NodeWebSocketTransport.d.ts +26 -26
  566. data/node_modules/puppeteer-core/lib/esm/puppeteer/node/NodeWebSocketTransport.js +40 -40
  567. data/node_modules/puppeteer-core/lib/esm/puppeteer/node/PipeTransport.d.ts +29 -29
  568. data/node_modules/puppeteer-core/lib/esm/puppeteer/node/PipeTransport.js +60 -60
  569. data/node_modules/puppeteer-core/lib/esm/puppeteer/node/Puppeteer.d.ts +153 -153
  570. data/node_modules/puppeteer-core/lib/esm/puppeteer/node/Puppeteer.js +181 -181
  571. data/node_modules/puppeteer-core/lib/esm/puppeteer/node/install.d.ts +17 -17
  572. data/node_modules/puppeteer-core/lib/esm/puppeteer/node/install.js +165 -165
  573. data/node_modules/puppeteer-core/lib/esm/puppeteer/node-puppeteer-core.d.ts +17 -17
  574. data/node_modules/puppeteer-core/lib/esm/puppeteer/node-puppeteer-core.js +22 -22
  575. data/node_modules/puppeteer-core/lib/esm/puppeteer/node.d.ts +17 -17
  576. data/node_modules/puppeteer-core/lib/esm/puppeteer/node.js +21 -21
  577. data/node_modules/puppeteer-core/lib/esm/puppeteer/revisions.d.ts +21 -21
  578. data/node_modules/puppeteer-core/lib/esm/puppeteer/revisions.js +19 -19
  579. data/node_modules/puppeteer-core/lib/esm/puppeteer/web.d.ts +17 -17
  580. data/node_modules/puppeteer-core/lib/esm/puppeteer/web.js +21 -21
  581. data/node_modules/puppeteer-core/lib/esm/vendor/mitt/src/index.d.ts +27 -27
  582. data/node_modules/puppeteer-core/lib/esm/vendor/mitt/src/index.js +53 -53
  583. data/node_modules/puppeteer-core/lib/types.d.ts +67 -25
  584. data/node_modules/puppeteer-core/package.json +115 -115
  585. data/node_modules/puppeteer-core/typescript-if-required.js +61 -61
  586. data/node_modules/readable-stream/CONTRIBUTING.md +38 -38
  587. data/node_modules/readable-stream/GOVERNANCE.md +136 -136
  588. data/node_modules/readable-stream/LICENSE +47 -47
  589. data/node_modules/readable-stream/README.md +106 -106
  590. data/node_modules/readable-stream/errors-browser.js +127 -127
  591. data/node_modules/readable-stream/errors.js +116 -116
  592. data/node_modules/readable-stream/experimentalWarning.js +17 -17
  593. data/node_modules/readable-stream/lib/_stream_duplex.js +138 -138
  594. data/node_modules/readable-stream/lib/_stream_passthrough.js +38 -38
  595. data/node_modules/readable-stream/lib/_stream_readable.js +1123 -1123
  596. data/node_modules/readable-stream/lib/_stream_transform.js +200 -200
  597. data/node_modules/readable-stream/lib/_stream_writable.js +696 -696
  598. data/node_modules/readable-stream/lib/internal/streams/async_iterator.js +206 -206
  599. data/node_modules/readable-stream/lib/internal/streams/buffer_list.js +209 -209
  600. data/node_modules/readable-stream/lib/internal/streams/destroy.js +104 -104
  601. data/node_modules/readable-stream/lib/internal/streams/end-of-stream.js +103 -103
  602. data/node_modules/readable-stream/lib/internal/streams/from-browser.js +3 -3
  603. data/node_modules/readable-stream/lib/internal/streams/from.js +63 -63
  604. data/node_modules/readable-stream/lib/internal/streams/pipeline.js +96 -96
  605. data/node_modules/readable-stream/lib/internal/streams/state.js +26 -26
  606. data/node_modules/readable-stream/lib/internal/streams/stream-browser.js +1 -1
  607. data/node_modules/readable-stream/lib/internal/streams/stream.js +1 -1
  608. data/node_modules/readable-stream/package.json +68 -68
  609. data/node_modules/readable-stream/readable-browser.js +9 -9
  610. data/node_modules/readable-stream/readable.js +16 -16
  611. data/node_modules/rimraf/CHANGELOG.md +65 -65
  612. data/node_modules/rimraf/LICENSE +15 -15
  613. data/node_modules/rimraf/README.md +101 -101
  614. data/node_modules/rimraf/bin.js +68 -68
  615. data/node_modules/rimraf/package.json +32 -32
  616. data/node_modules/rimraf/rimraf.js +360 -360
  617. data/node_modules/safe-buffer/LICENSE +21 -21
  618. data/node_modules/safe-buffer/README.md +584 -584
  619. data/node_modules/safe-buffer/index.d.ts +186 -186
  620. data/node_modules/safe-buffer/index.js +65 -65
  621. data/node_modules/safe-buffer/package.json +51 -51
  622. data/node_modules/string_decoder/LICENSE +48 -48
  623. data/node_modules/string_decoder/README.md +47 -47
  624. data/node_modules/string_decoder/lib/string_decoder.js +295 -295
  625. data/node_modules/string_decoder/package.json +34 -34
  626. data/node_modules/tar-fs/.travis.yml +6 -6
  627. data/node_modules/tar-fs/LICENSE +20 -20
  628. data/node_modules/tar-fs/README.md +165 -165
  629. data/node_modules/tar-fs/index.js +351 -351
  630. data/node_modules/tar-fs/package.json +41 -41
  631. data/node_modules/tar-fs/test/fixtures/a/hello.txt +1 -1
  632. data/node_modules/tar-fs/test/fixtures/b/a/test.txt +1 -1
  633. data/node_modules/tar-fs/test/index.js +346 -346
  634. data/node_modules/tar-stream/LICENSE +20 -20
  635. data/node_modules/tar-stream/README.md +168 -168
  636. data/node_modules/tar-stream/extract.js +257 -257
  637. data/node_modules/tar-stream/headers.js +295 -295
  638. data/node_modules/tar-stream/index.js +2 -2
  639. data/node_modules/tar-stream/pack.js +255 -255
  640. data/node_modules/tar-stream/package.json +58 -58
  641. data/node_modules/tar-stream/sandbox.js +11 -11
  642. data/node_modules/through/.travis.yml +5 -5
  643. data/node_modules/through/LICENSE.APACHE2 +15 -15
  644. data/node_modules/through/LICENSE.MIT +24 -24
  645. data/node_modules/through/index.js +108 -108
  646. data/node_modules/through/package.json +36 -36
  647. data/node_modules/through/readme.markdown +64 -64
  648. data/node_modules/through/test/async.js +28 -28
  649. data/node_modules/through/test/auto-destroy.js +30 -30
  650. data/node_modules/through/test/buffering.js +71 -71
  651. data/node_modules/through/test/end.js +45 -45
  652. data/node_modules/through/test/index.js +133 -133
  653. data/node_modules/tr46/.npmignore +4 -4
  654. data/node_modules/tr46/index.js +193 -193
  655. data/node_modules/tr46/package.json +31 -31
  656. data/node_modules/unbzip2-stream/LICENSE +24 -24
  657. data/node_modules/unbzip2-stream/README.md +59 -59
  658. data/node_modules/unbzip2-stream/dist/unbzip2-stream.min.js +1 -1
  659. data/node_modules/unbzip2-stream/index.js +93 -93
  660. data/node_modules/unbzip2-stream/lib/bit_iterator.js +39 -39
  661. data/node_modules/unbzip2-stream/lib/bzip2.js +365 -365
  662. data/node_modules/unbzip2-stream/package.json +51 -51
  663. data/node_modules/util-deprecate/History.md +16 -16
  664. data/node_modules/util-deprecate/LICENSE +24 -24
  665. data/node_modules/util-deprecate/README.md +53 -53
  666. data/node_modules/util-deprecate/browser.js +67 -67
  667. data/node_modules/util-deprecate/node.js +6 -6
  668. data/node_modules/util-deprecate/package.json +27 -27
  669. data/node_modules/webidl-conversions/LICENSE.md +12 -12
  670. data/node_modules/webidl-conversions/README.md +53 -53
  671. data/node_modules/webidl-conversions/lib/index.js +189 -189
  672. data/node_modules/webidl-conversions/package.json +23 -23
  673. data/node_modules/whatwg-url/LICENSE.txt +21 -21
  674. data/node_modules/whatwg-url/README.md +67 -67
  675. data/node_modules/whatwg-url/lib/URL-impl.js +200 -200
  676. data/node_modules/whatwg-url/lib/URL.js +196 -196
  677. data/node_modules/whatwg-url/lib/public-api.js +11 -11
  678. data/node_modules/whatwg-url/lib/utils.js +20 -20
  679. data/node_modules/whatwg-url/package.json +32 -32
  680. data/node_modules/wrappy/LICENSE +15 -15
  681. data/node_modules/wrappy/README.md +36 -36
  682. data/node_modules/wrappy/package.json +29 -29
  683. data/node_modules/wrappy/wrappy.js +33 -33
  684. data/node_modules/ws/LICENSE +19 -19
  685. data/node_modules/ws/README.md +493 -493
  686. data/node_modules/ws/browser.js +8 -8
  687. data/node_modules/ws/index.js +13 -13
  688. data/node_modules/ws/lib/buffer-util.js +126 -126
  689. data/node_modules/ws/lib/constants.js +12 -12
  690. data/node_modules/ws/lib/event-target.js +266 -266
  691. data/node_modules/ws/lib/extension.js +203 -203
  692. data/node_modules/ws/lib/limiter.js +55 -55
  693. data/node_modules/ws/lib/permessage-deflate.js +511 -511
  694. data/node_modules/ws/lib/receiver.js +612 -612
  695. data/node_modules/ws/lib/sender.js +422 -422
  696. data/node_modules/ws/lib/stream.js +180 -180
  697. data/node_modules/ws/lib/subprotocol.js +62 -62
  698. data/node_modules/ws/lib/validation.js +124 -124
  699. data/node_modules/ws/lib/websocket-server.js +485 -485
  700. data/node_modules/ws/lib/websocket.js +1149 -1149
  701. data/node_modules/ws/package.json +61 -61
  702. data/node_modules/ws/wrapper.mjs +8 -8
  703. data/node_modules/yauzl/LICENSE +21 -21
  704. data/node_modules/yauzl/README.md +658 -658
  705. data/node_modules/yauzl/index.js +796 -796
  706. data/node_modules/yauzl/package.json +40 -40
  707. data/package.json +1 -1
  708. metadata +23 -25
  709. data/node_modules/devtools-protocol/changelog.md +0 -10491
  710. data/node_modules/devtools-protocol/externs/protocol_externs.js +0 -9734
@@ -1,649 +1,649 @@
1
- /**
2
- * The `worker_threads` module enables the use of threads that execute JavaScript
3
- * in parallel. To access it:
4
- *
5
- * ```js
6
- * const worker = require('worker_threads');
7
- * ```
8
- *
9
- * Workers (threads) are useful for performing CPU-intensive JavaScript operations.
10
- * They do not help much with I/O-intensive work. The Node.js built-in
11
- * asynchronous I/O operations are more efficient than Workers can be.
12
- *
13
- * Unlike `child_process` or `cluster`, `worker_threads` can share memory. They do
14
- * so by transferring `ArrayBuffer` instances or sharing `SharedArrayBuffer`instances.
15
- *
16
- * ```js
17
- * const {
18
- * Worker, isMainThread, parentPort, workerData
19
- * } = require('worker_threads');
20
- *
21
- * if (isMainThread) {
22
- * module.exports = function parseJSAsync(script) {
23
- * return new Promise((resolve, reject) => {
24
- * const worker = new Worker(__filename, {
25
- * workerData: script
26
- * });
27
- * worker.on('message', resolve);
28
- * worker.on('error', reject);
29
- * worker.on('exit', (code) => {
30
- * if (code !== 0)
31
- * reject(new Error(`Worker stopped with exit code ${code}`));
32
- * });
33
- * });
34
- * };
35
- * } else {
36
- * const { parse } = require('some-js-parsing-library');
37
- * const script = workerData;
38
- * parentPort.postMessage(parse(script));
39
- * }
40
- * ```
41
- *
42
- * The above example spawns a Worker thread for each `parse()` call. In actual
43
- * practice, use a pool of Workers for these kinds of tasks. Otherwise, the
44
- * overhead of creating Workers would likely exceed their benefit.
45
- *
46
- * When implementing a worker pool, use the `AsyncResource` API to inform
47
- * diagnostic tools (e.g. to provide asynchronous stack traces) about the
48
- * correlation between tasks and their outcomes. See `"Using AsyncResource for a Worker thread pool"` in the `async_hooks` documentation for an example implementation.
49
- *
50
- * Worker threads inherit non-process-specific options by default. Refer to `Worker constructor options` to know how to customize worker thread options,
51
- * specifically `argv` and `execArgv` options.
52
- * @see [source](https://github.com/nodejs/node/blob/v16.7.0/lib/worker_threads.js)
53
- */
54
- declare module 'worker_threads' {
55
- import { Blob } from 'node:buffer';
56
- import { Context } from 'node:vm';
57
- import { EventEmitter } from 'node:events';
58
- import { EventLoopUtilityFunction } from 'node:perf_hooks';
59
- import { FileHandle } from 'node:fs/promises';
60
- import { Readable, Writable } from 'node:stream';
61
- import { URL } from 'node:url';
62
- import { X509Certificate } from 'node:crypto';
63
- const isMainThread: boolean;
64
- const parentPort: null | MessagePort;
65
- const resourceLimits: ResourceLimits;
66
- const SHARE_ENV: unique symbol;
67
- const threadId: number;
68
- const workerData: any;
69
- /**
70
- * Instances of the `worker.MessageChannel` class represent an asynchronous,
71
- * two-way communications channel.
72
- * The `MessageChannel` has no methods of its own. `new MessageChannel()`yields an object with `port1` and `port2` properties, which refer to linked `MessagePort` instances.
73
- *
74
- * ```js
75
- * const { MessageChannel } = require('worker_threads');
76
- *
77
- * const { port1, port2 } = new MessageChannel();
78
- * port1.on('message', (message) => console.log('received', message));
79
- * port2.postMessage({ foo: 'bar' });
80
- * // Prints: received { foo: 'bar' } from the `port1.on('message')` listener
81
- * ```
82
- * @since v10.5.0
83
- */
84
- class MessageChannel {
85
- readonly port1: MessagePort;
86
- readonly port2: MessagePort;
87
- }
88
- interface WorkerPerformance {
89
- eventLoopUtilization: EventLoopUtilityFunction;
90
- }
91
- type TransferListItem = ArrayBuffer | MessagePort | FileHandle | X509Certificate | Blob;
92
- /**
93
- * Instances of the `worker.MessagePort` class represent one end of an
94
- * asynchronous, two-way communications channel. It can be used to transfer
95
- * structured data, memory regions and other `MessagePort`s between different `Worker` s.
96
- *
97
- * This implementation matches [browser `MessagePort`](https://developer.mozilla.org/en-US/docs/Web/API/MessagePort)s.
98
- * @since v10.5.0
99
- */
100
- class MessagePort extends EventEmitter {
101
- /**
102
- * Disables further sending of messages on either side of the connection.
103
- * This method can be called when no further communication will happen over this`MessagePort`.
104
- *
105
- * The `'close' event` is emitted on both `MessagePort` instances that
106
- * are part of the channel.
107
- * @since v10.5.0
108
- */
109
- close(): void;
110
- /**
111
- * Sends a JavaScript value to the receiving side of this channel.`value` is transferred in a way which is compatible with
112
- * the [HTML structured clone algorithm](https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Structured_clone_algorithm).
113
- *
114
- * In particular, the significant differences to `JSON` are:
115
- *
116
- * * `value` may contain circular references.
117
- * * `value` may contain instances of builtin JS types such as `RegExp`s,`BigInt`s, `Map`s, `Set`s, etc.
118
- * * `value` may contain typed arrays, both using `ArrayBuffer`s
119
- * and `SharedArrayBuffer`s.
120
- * * `value` may contain [`WebAssembly.Module`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WebAssembly/Module) instances.
121
- * * `value` may not contain native (C++-backed) objects other than:
122
- *
123
- * ```js
124
- * const { MessageChannel } = require('worker_threads');
125
- * const { port1, port2 } = new MessageChannel();
126
- *
127
- * port1.on('message', (message) => console.log(message));
128
- *
129
- * const circularData = {};
130
- * circularData.foo = circularData;
131
- * // Prints: { foo: [Circular] }
132
- * port2.postMessage(circularData);
133
- * ```
134
- *
135
- * `transferList` may be a list of [`ArrayBuffer`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer), `MessagePort` and `FileHandle` objects.
136
- * After transferring, they are not usable on the sending side of the channel
137
- * anymore (even if they are not contained in `value`). Unlike with `child processes`, transferring handles such as network sockets is currently
138
- * not supported.
139
- *
140
- * If `value` contains [`SharedArrayBuffer`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SharedArrayBuffer) instances, those are accessible
141
- * from either thread. They cannot be listed in `transferList`.
142
- *
143
- * `value` may still contain `ArrayBuffer` instances that are not in`transferList`; in that case, the underlying memory is copied rather than moved.
144
- *
145
- * ```js
146
- * const { MessageChannel } = require('worker_threads');
147
- * const { port1, port2 } = new MessageChannel();
148
- *
149
- * port1.on('message', (message) => console.log(message));
150
- *
151
- * const uint8Array = new Uint8Array([ 1, 2, 3, 4 ]);
152
- * // This posts a copy of `uint8Array`:
153
- * port2.postMessage(uint8Array);
154
- * // This does not copy data, but renders `uint8Array` unusable:
155
- * port2.postMessage(uint8Array, [ uint8Array.buffer ]);
156
- *
157
- * // The memory for the `sharedUint8Array` is accessible from both the
158
- * // original and the copy received by `.on('message')`:
159
- * const sharedUint8Array = new Uint8Array(new SharedArrayBuffer(4));
160
- * port2.postMessage(sharedUint8Array);
161
- *
162
- * // This transfers a freshly created message port to the receiver.
163
- * // This can be used, for example, to create communication channels between
164
- * // multiple `Worker` threads that are children of the same parent thread.
165
- * const otherChannel = new MessageChannel();
166
- * port2.postMessage({ port: otherChannel.port1 }, [ otherChannel.port1 ]);
167
- * ```
168
- *
169
- * The message object is cloned immediately, and can be modified after
170
- * posting without having side effects.
171
- *
172
- * For more information on the serialization and deserialization mechanisms
173
- * behind this API, see the `serialization API of the v8 module`.
174
- * @since v10.5.0
175
- */
176
- postMessage(value: any, transferList?: ReadonlyArray<TransferListItem>): void;
177
- /**
178
- * Opposite of `unref()`. Calling `ref()` on a previously `unref()`ed port does_not_ let the program exit if it's the only active handle left (the default
179
- * behavior). If the port is `ref()`ed, calling `ref()` again has no effect.
180
- *
181
- * If listeners are attached or removed using `.on('message')`, the port
182
- * is `ref()`ed and `unref()`ed automatically depending on whether
183
- * listeners for the event exist.
184
- * @since v10.5.0
185
- */
186
- ref(): void;
187
- /**
188
- * Calling `unref()` on a port allows the thread to exit if this is the only
189
- * active handle in the event system. If the port is already `unref()`ed calling`unref()` again has no effect.
190
- *
191
- * If listeners are attached or removed using `.on('message')`, the port is`ref()`ed and `unref()`ed automatically depending on whether
192
- * listeners for the event exist.
193
- * @since v10.5.0
194
- */
195
- unref(): void;
196
- /**
197
- * Starts receiving messages on this `MessagePort`. When using this port
198
- * as an event emitter, this is called automatically once `'message'`listeners are attached.
199
- *
200
- * This method exists for parity with the Web `MessagePort` API. In Node.js,
201
- * it is only useful for ignoring messages when no event listener is present.
202
- * Node.js also diverges in its handling of `.onmessage`. Setting it
203
- * automatically calls `.start()`, but unsetting it lets messages queue up
204
- * until a new handler is set or the port is discarded.
205
- * @since v10.5.0
206
- */
207
- start(): void;
208
- addListener(event: 'close', listener: () => void): this;
209
- addListener(event: 'message', listener: (value: any) => void): this;
210
- addListener(event: 'messageerror', listener: (error: Error) => void): this;
211
- addListener(event: string | symbol, listener: (...args: any[]) => void): this;
212
- emit(event: 'close'): boolean;
213
- emit(event: 'message', value: any): boolean;
214
- emit(event: 'messageerror', error: Error): boolean;
215
- emit(event: string | symbol, ...args: any[]): boolean;
216
- on(event: 'close', listener: () => void): this;
217
- on(event: 'message', listener: (value: any) => void): this;
218
- on(event: 'messageerror', listener: (error: Error) => void): this;
219
- on(event: string | symbol, listener: (...args: any[]) => void): this;
220
- once(event: 'close', listener: () => void): this;
221
- once(event: 'message', listener: (value: any) => void): this;
222
- once(event: 'messageerror', listener: (error: Error) => void): this;
223
- once(event: string | symbol, listener: (...args: any[]) => void): this;
224
- prependListener(event: 'close', listener: () => void): this;
225
- prependListener(event: 'message', listener: (value: any) => void): this;
226
- prependListener(event: 'messageerror', listener: (error: Error) => void): this;
227
- prependListener(event: string | symbol, listener: (...args: any[]) => void): this;
228
- prependOnceListener(event: 'close', listener: () => void): this;
229
- prependOnceListener(event: 'message', listener: (value: any) => void): this;
230
- prependOnceListener(event: 'messageerror', listener: (error: Error) => void): this;
231
- prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this;
232
- removeListener(event: 'close', listener: () => void): this;
233
- removeListener(event: 'message', listener: (value: any) => void): this;
234
- removeListener(event: 'messageerror', listener: (error: Error) => void): this;
235
- removeListener(event: string | symbol, listener: (...args: any[]) => void): this;
236
- off(event: 'close', listener: () => void): this;
237
- off(event: 'message', listener: (value: any) => void): this;
238
- off(event: 'messageerror', listener: (error: Error) => void): this;
239
- off(event: string | symbol, listener: (...args: any[]) => void): this;
240
- }
241
- interface WorkerOptions {
242
- /**
243
- * List of arguments which would be stringified and appended to
244
- * `process.argv` in the worker. This is mostly similar to the `workerData`
245
- * but the values will be available on the global `process.argv` as if they
246
- * were passed as CLI options to the script.
247
- */
248
- argv?: any[] | undefined;
249
- env?: NodeJS.Dict<string> | typeof SHARE_ENV | undefined;
250
- eval?: boolean | undefined;
251
- workerData?: any;
252
- stdin?: boolean | undefined;
253
- stdout?: boolean | undefined;
254
- stderr?: boolean | undefined;
255
- execArgv?: string[] | undefined;
256
- resourceLimits?: ResourceLimits | undefined;
257
- /**
258
- * Additional data to send in the first worker message.
259
- */
260
- transferList?: TransferListItem[] | undefined;
261
- /**
262
- * @default true
263
- */
264
- trackUnmanagedFds?: boolean | undefined;
265
- }
266
- interface ResourceLimits {
267
- /**
268
- * The maximum size of a heap space for recently created objects.
269
- */
270
- maxYoungGenerationSizeMb?: number | undefined;
271
- /**
272
- * The maximum size of the main heap in MB.
273
- */
274
- maxOldGenerationSizeMb?: number | undefined;
275
- /**
276
- * The size of a pre-allocated memory range used for generated code.
277
- */
278
- codeRangeSizeMb?: number | undefined;
279
- /**
280
- * The default maximum stack size for the thread. Small values may lead to unusable Worker instances.
281
- * @default 4
282
- */
283
- stackSizeMb?: number | undefined;
284
- }
285
- /**
286
- * The `Worker` class represents an independent JavaScript execution thread.
287
- * Most Node.js APIs are available inside of it.
288
- *
289
- * Notable differences inside a Worker environment are:
290
- *
291
- * * The `process.stdin`, `process.stdout` and `process.stderr` may be redirected by the parent thread.
292
- * * The `require('worker_threads').isMainThread` property is set to `false`.
293
- * * The `require('worker_threads').parentPort` message port is available.
294
- * * `process.exit()` does not stop the whole program, just the single thread,
295
- * and `process.abort()` is not available.
296
- * * `process.chdir()` and `process` methods that set group or user ids
297
- * are not available.
298
- * * `process.env` is a copy of the parent thread's environment variables,
299
- * unless otherwise specified. Changes to one copy are not visible in other
300
- * threads, and are not visible to native add-ons (unless `worker.SHARE_ENV` is passed as the `env` option to the `Worker` constructor).
301
- * * `process.title` cannot be modified.
302
- * * Signals are not delivered through `process.on('...')`.
303
- * * Execution may stop at any point as a result of `worker.terminate()` being invoked.
304
- * * IPC channels from parent processes are not accessible.
305
- * * The `trace_events` module is not supported.
306
- * * Native add-ons can only be loaded from multiple threads if they fulfill `certain conditions`.
307
- *
308
- * Creating `Worker` instances inside of other `Worker`s is possible.
309
- *
310
- * Like [Web Workers](https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API) and the `cluster module`, two-way communication can be
311
- * achieved through inter-thread message passing. Internally, a `Worker` has a
312
- * built-in pair of `MessagePort` s that are already associated with each other
313
- * when the `Worker` is created. While the `MessagePort` object on the parent side
314
- * is not directly exposed, its functionalities are exposed through `worker.postMessage()` and the `worker.on('message')` event
315
- * on the `Worker` object for the parent thread.
316
- *
317
- * To create custom messaging channels (which is encouraged over using the default
318
- * global channel because it facilitates separation of concerns), users can create
319
- * a `MessageChannel` object on either thread and pass one of the`MessagePort`s on that `MessageChannel` to the other thread through a
320
- * pre-existing channel, such as the global one.
321
- *
322
- * See `port.postMessage()` for more information on how messages are passed,
323
- * and what kind of JavaScript values can be successfully transported through
324
- * the thread barrier.
325
- *
326
- * ```js
327
- * const assert = require('assert');
328
- * const {
329
- * Worker, MessageChannel, MessagePort, isMainThread, parentPort
330
- * } = require('worker_threads');
331
- * if (isMainThread) {
332
- * const worker = new Worker(__filename);
333
- * const subChannel = new MessageChannel();
334
- * worker.postMessage({ hereIsYourPort: subChannel.port1 }, [subChannel.port1]);
335
- * subChannel.port2.on('message', (value) => {
336
- * console.log('received:', value);
337
- * });
338
- * } else {
339
- * parentPort.once('message', (value) => {
340
- * assert(value.hereIsYourPort instanceof MessagePort);
341
- * value.hereIsYourPort.postMessage('the worker is sending this');
342
- * value.hereIsYourPort.close();
343
- * });
344
- * }
345
- * ```
346
- * @since v10.5.0
347
- */
348
- class Worker extends EventEmitter {
349
- /**
350
- * If `stdin: true` was passed to the `Worker` constructor, this is a
351
- * writable stream. The data written to this stream will be made available in
352
- * the worker thread as `process.stdin`.
353
- * @since v10.5.0
354
- */
355
- readonly stdin: Writable | null;
356
- /**
357
- * This is a readable stream which contains data written to `process.stdout` inside the worker thread. If `stdout: true` was not passed to the `Worker` constructor, then data is piped to the
358
- * parent thread's `process.stdout` stream.
359
- * @since v10.5.0
360
- */
361
- readonly stdout: Readable;
362
- /**
363
- * This is a readable stream which contains data written to `process.stderr` inside the worker thread. If `stderr: true` was not passed to the `Worker` constructor, then data is piped to the
364
- * parent thread's `process.stderr` stream.
365
- * @since v10.5.0
366
- */
367
- readonly stderr: Readable;
368
- /**
369
- * An integer identifier for the referenced thread. Inside the worker thread,
370
- * it is available as `require('worker_threads').threadId`.
371
- * This value is unique for each `Worker` instance inside a single process.
372
- * @since v10.5.0
373
- */
374
- readonly threadId: number;
375
- /**
376
- * Provides the set of JS engine resource constraints for this Worker thread.
377
- * If the `resourceLimits` option was passed to the `Worker` constructor,
378
- * this matches its values.
379
- *
380
- * If the worker has stopped, the return value is an empty object.
381
- * @since v13.2.0, v12.16.0
382
- */
383
- readonly resourceLimits?: ResourceLimits | undefined;
384
- /**
385
- * An object that can be used to query performance information from a worker
386
- * instance. Similar to `perf_hooks.performance`.
387
- * @since v15.1.0, v12.22.0
388
- */
389
- readonly performance: WorkerPerformance;
390
- /**
391
- * @param filename The path to the Worker’s main script or module.
392
- * Must be either an absolute path or a relative path (i.e. relative to the current working directory) starting with ./ or ../,
393
- * or a WHATWG URL object using file: protocol. If options.eval is true, this is a string containing JavaScript code rather than a path.
394
- */
395
- constructor(filename: string | URL, options?: WorkerOptions);
396
- /**
397
- * Send a message to the worker that is received via `require('worker_threads').parentPort.on('message')`.
398
- * See `port.postMessage()` for more details.
399
- * @since v10.5.0
400
- */
401
- postMessage(value: any, transferList?: ReadonlyArray<TransferListItem>): void;
402
- /**
403
- * Opposite of `unref()`, calling `ref()` on a previously `unref()`ed worker does_not_ let the program exit if it's the only active handle left (the default
404
- * behavior). If the worker is `ref()`ed, calling `ref()` again has
405
- * no effect.
406
- * @since v10.5.0
407
- */
408
- ref(): void;
409
- /**
410
- * Calling `unref()` on a worker allows the thread to exit if this is the only
411
- * active handle in the event system. If the worker is already `unref()`ed calling`unref()` again has no effect.
412
- * @since v10.5.0
413
- */
414
- unref(): void;
415
- /**
416
- * Stop all JavaScript execution in the worker thread as soon as possible.
417
- * Returns a Promise for the exit code that is fulfilled when the `'exit' event` is emitted.
418
- * @since v10.5.0
419
- */
420
- terminate(): Promise<number>;
421
- /**
422
- * Returns a readable stream for a V8 snapshot of the current state of the Worker.
423
- * See `v8.getHeapSnapshot()` for more details.
424
- *
425
- * If the Worker thread is no longer running, which may occur before the `'exit' event` is emitted, the returned `Promise` is rejected
426
- * immediately with an `ERR_WORKER_NOT_RUNNING` error.
427
- * @since v13.9.0, v12.17.0
428
- * @return A promise for a Readable Stream containing a V8 heap snapshot
429
- */
430
- getHeapSnapshot(): Promise<Readable>;
431
- addListener(event: 'error', listener: (err: Error) => void): this;
432
- addListener(event: 'exit', listener: (exitCode: number) => void): this;
433
- addListener(event: 'message', listener: (value: any) => void): this;
434
- addListener(event: 'messageerror', listener: (error: Error) => void): this;
435
- addListener(event: 'online', listener: () => void): this;
436
- addListener(event: string | symbol, listener: (...args: any[]) => void): this;
437
- emit(event: 'error', err: Error): boolean;
438
- emit(event: 'exit', exitCode: number): boolean;
439
- emit(event: 'message', value: any): boolean;
440
- emit(event: 'messageerror', error: Error): boolean;
441
- emit(event: 'online'): boolean;
442
- emit(event: string | symbol, ...args: any[]): boolean;
443
- on(event: 'error', listener: (err: Error) => void): this;
444
- on(event: 'exit', listener: (exitCode: number) => void): this;
445
- on(event: 'message', listener: (value: any) => void): this;
446
- on(event: 'messageerror', listener: (error: Error) => void): this;
447
- on(event: 'online', listener: () => void): this;
448
- on(event: string | symbol, listener: (...args: any[]) => void): this;
449
- once(event: 'error', listener: (err: Error) => void): this;
450
- once(event: 'exit', listener: (exitCode: number) => void): this;
451
- once(event: 'message', listener: (value: any) => void): this;
452
- once(event: 'messageerror', listener: (error: Error) => void): this;
453
- once(event: 'online', listener: () => void): this;
454
- once(event: string | symbol, listener: (...args: any[]) => void): this;
455
- prependListener(event: 'error', listener: (err: Error) => void): this;
456
- prependListener(event: 'exit', listener: (exitCode: number) => void): this;
457
- prependListener(event: 'message', listener: (value: any) => void): this;
458
- prependListener(event: 'messageerror', listener: (error: Error) => void): this;
459
- prependListener(event: 'online', listener: () => void): this;
460
- prependListener(event: string | symbol, listener: (...args: any[]) => void): this;
461
- prependOnceListener(event: 'error', listener: (err: Error) => void): this;
462
- prependOnceListener(event: 'exit', listener: (exitCode: number) => void): this;
463
- prependOnceListener(event: 'message', listener: (value: any) => void): this;
464
- prependOnceListener(event: 'messageerror', listener: (error: Error) => void): this;
465
- prependOnceListener(event: 'online', listener: () => void): this;
466
- prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this;
467
- removeListener(event: 'error', listener: (err: Error) => void): this;
468
- removeListener(event: 'exit', listener: (exitCode: number) => void): this;
469
- removeListener(event: 'message', listener: (value: any) => void): this;
470
- removeListener(event: 'messageerror', listener: (error: Error) => void): this;
471
- removeListener(event: 'online', listener: () => void): this;
472
- removeListener(event: string | symbol, listener: (...args: any[]) => void): this;
473
- off(event: 'error', listener: (err: Error) => void): this;
474
- off(event: 'exit', listener: (exitCode: number) => void): this;
475
- off(event: 'message', listener: (value: any) => void): this;
476
- off(event: 'messageerror', listener: (error: Error) => void): this;
477
- off(event: 'online', listener: () => void): this;
478
- off(event: string | symbol, listener: (...args: any[]) => void): this;
479
- }
480
- interface BroadcastChannel extends NodeJS.RefCounted {}
481
- /**
482
- * Instances of `BroadcastChannel` allow asynchronous one-to-many communication
483
- * with all other `BroadcastChannel` instances bound to the same channel name.
484
- *
485
- * ```js
486
- * 'use strict';
487
- *
488
- * const {
489
- * isMainThread,
490
- * BroadcastChannel,
491
- * Worker
492
- * } = require('worker_threads');
493
- *
494
- * const bc = new BroadcastChannel('hello');
495
- *
496
- * if (isMainThread) {
497
- * let c = 0;
498
- * bc.onmessage = (event) => {
499
- * console.log(event.data);
500
- * if (++c === 10) bc.close();
501
- * };
502
- * for (let n = 0; n < 10; n++)
503
- * new Worker(__filename);
504
- * } else {
505
- * bc.postMessage('hello from every worker');
506
- * bc.close();
507
- * }
508
- * ```
509
- * @since v15.4.0
510
- * @experimental
511
- */
512
- class BroadcastChannel {
513
- readonly name: string;
514
- /**
515
- * Invoked with a single \`MessageEvent\` argument when a message is received.
516
- * @since v15.4.0
517
- */
518
- onmessage: (message: unknown) => void;
519
- /**
520
- * Invoked with a received message cannot be deserialized.
521
- * @since v15.4.0
522
- */
523
- onmessageerror: (message: unknown) => void;
524
- constructor(name: string);
525
- /**
526
- * Closes the `BroadcastChannel` connection.
527
- * @since v15.4.0
528
- */
529
- close(): void;
530
- /**
531
- * @since v15.4.0
532
- * @param message Any cloneable JavaScript value.
533
- */
534
- postMessage(message: unknown): void;
535
- }
536
- /**
537
- * Mark an object as not transferable. If `object` occurs in the transfer list of
538
- * a `port.postMessage()` call, it is ignored.
539
- *
540
- * In particular, this makes sense for objects that can be cloned, rather than
541
- * transferred, and which are used by other objects on the sending side.
542
- * For example, Node.js marks the `ArrayBuffer`s it uses for its `Buffer pool` with this.
543
- *
544
- * This operation cannot be undone.
545
- *
546
- * ```js
547
- * const { MessageChannel, markAsUntransferable } = require('worker_threads');
548
- *
549
- * const pooledBuffer = new ArrayBuffer(8);
550
- * const typedArray1 = new Uint8Array(pooledBuffer);
551
- * const typedArray2 = new Float64Array(pooledBuffer);
552
- *
553
- * markAsUntransferable(pooledBuffer);
554
- *
555
- * const { port1 } = new MessageChannel();
556
- * port1.postMessage(typedArray1, [ typedArray1.buffer ]);
557
- *
558
- * // The following line prints the contents of typedArray1 -- it still owns
559
- * // its memory and has been cloned, not transferred. Without
560
- * // `markAsUntransferable()`, this would print an empty Uint8Array.
561
- * // typedArray2 is intact as well.
562
- * console.log(typedArray1);
563
- * console.log(typedArray2);
564
- * ```
565
- *
566
- * There is no equivalent to this API in browsers.
567
- * @since v14.5.0, v12.19.0
568
- */
569
- function markAsUntransferable(object: object): void;
570
- /**
571
- * Transfer a `MessagePort` to a different `vm` Context. The original `port`object is rendered unusable, and the returned `MessagePort` instance
572
- * takes its place.
573
- *
574
- * The returned `MessagePort` is an object in the target context and
575
- * inherits from its global `Object` class. Objects passed to the[`port.onmessage()`](https://developer.mozilla.org/en-US/docs/Web/API/MessagePort/onmessage) listener are also created in the
576
- * target context
577
- * and inherit from its global `Object` class.
578
- *
579
- * However, the created `MessagePort` no longer inherits from[`EventTarget`](https://developer.mozilla.org/en-US/docs/Web/API/EventTarget), and only
580
- * [`port.onmessage()`](https://developer.mozilla.org/en-US/docs/Web/API/MessagePort/onmessage) can be used to receive
581
- * events using it.
582
- * @since v11.13.0
583
- * @param port The message port to transfer.
584
- * @param contextifiedSandbox A `contextified` object as returned by the `vm.createContext()` method.
585
- */
586
- function moveMessagePortToContext(port: MessagePort, contextifiedSandbox: Context): MessagePort;
587
- /**
588
- * Receive a single message from a given `MessagePort`. If no message is available,`undefined` is returned, otherwise an object with a single `message` property
589
- * that contains the message payload, corresponding to the oldest message in the`MessagePort`’s queue.
590
- *
591
- * ```js
592
- * const { MessageChannel, receiveMessageOnPort } = require('worker_threads');
593
- * const { port1, port2 } = new MessageChannel();
594
- * port1.postMessage({ hello: 'world' });
595
- *
596
- * console.log(receiveMessageOnPort(port2));
597
- * // Prints: { message: { hello: 'world' } }
598
- * console.log(receiveMessageOnPort(port2));
599
- * // Prints: undefined
600
- * ```
601
- *
602
- * When this function is used, no `'message'` event is emitted and the`onmessage` listener is not invoked.
603
- * @since v12.3.0
604
- */
605
- function receiveMessageOnPort(port: MessagePort):
606
- | {
607
- message: any;
608
- }
609
- | undefined;
610
- type Serializable = string | object | number | boolean | bigint;
611
- /**
612
- * Within a worker thread, `worker.getEnvironmentData()` returns a clone
613
- * of data passed to the spawning thread's `worker.setEnvironmentData()`.
614
- * Every new `Worker` receives its own copy of the environment data
615
- * automatically.
616
- *
617
- * ```js
618
- * const {
619
- * Worker,
620
- * isMainThread,
621
- * setEnvironmentData,
622
- * getEnvironmentData,
623
- * } = require('worker_threads');
624
- *
625
- * if (isMainThread) {
626
- * setEnvironmentData('Hello', 'World!');
627
- * const worker = new Worker(__filename);
628
- * } else {
629
- * console.log(getEnvironmentData('Hello')); // Prints 'World!'.
630
- * }
631
- * ```
632
- * @since v15.12.0
633
- * @experimental
634
- * @param key Any arbitrary, cloneable JavaScript value that can be used as a {Map} key.
635
- */
636
- function getEnvironmentData(key: Serializable): Serializable;
637
- /**
638
- * The `worker.setEnvironmentData()` API sets the content of`worker.getEnvironmentData()` in the current thread and all new `Worker`instances spawned from the current context.
639
- * @since v15.12.0
640
- * @experimental
641
- * @param key Any arbitrary, cloneable JavaScript value that can be used as a {Map} key.
642
- * @param value Any arbitrary, cloneable JavaScript value that will be cloned and passed automatically to all new `Worker` instances. If `value` is passed as `undefined`, any previously set value
643
- * for the `key` will be deleted.
644
- */
645
- function setEnvironmentData(key: Serializable, value: Serializable): void;
646
- }
647
- declare module 'node:worker_threads' {
648
- export * from 'worker_threads';
649
- }
1
+ /**
2
+ * The `worker_threads` module enables the use of threads that execute JavaScript
3
+ * in parallel. To access it:
4
+ *
5
+ * ```js
6
+ * const worker = require('worker_threads');
7
+ * ```
8
+ *
9
+ * Workers (threads) are useful for performing CPU-intensive JavaScript operations.
10
+ * They do not help much with I/O-intensive work. The Node.js built-in
11
+ * asynchronous I/O operations are more efficient than Workers can be.
12
+ *
13
+ * Unlike `child_process` or `cluster`, `worker_threads` can share memory. They do
14
+ * so by transferring `ArrayBuffer` instances or sharing `SharedArrayBuffer`instances.
15
+ *
16
+ * ```js
17
+ * const {
18
+ * Worker, isMainThread, parentPort, workerData
19
+ * } = require('worker_threads');
20
+ *
21
+ * if (isMainThread) {
22
+ * module.exports = function parseJSAsync(script) {
23
+ * return new Promise((resolve, reject) => {
24
+ * const worker = new Worker(__filename, {
25
+ * workerData: script
26
+ * });
27
+ * worker.on('message', resolve);
28
+ * worker.on('error', reject);
29
+ * worker.on('exit', (code) => {
30
+ * if (code !== 0)
31
+ * reject(new Error(`Worker stopped with exit code ${code}`));
32
+ * });
33
+ * });
34
+ * };
35
+ * } else {
36
+ * const { parse } = require('some-js-parsing-library');
37
+ * const script = workerData;
38
+ * parentPort.postMessage(parse(script));
39
+ * }
40
+ * ```
41
+ *
42
+ * The above example spawns a Worker thread for each `parse()` call. In actual
43
+ * practice, use a pool of Workers for these kinds of tasks. Otherwise, the
44
+ * overhead of creating Workers would likely exceed their benefit.
45
+ *
46
+ * When implementing a worker pool, use the `AsyncResource` API to inform
47
+ * diagnostic tools (e.g. to provide asynchronous stack traces) about the
48
+ * correlation between tasks and their outcomes. See `"Using AsyncResource for a Worker thread pool"` in the `async_hooks` documentation for an example implementation.
49
+ *
50
+ * Worker threads inherit non-process-specific options by default. Refer to `Worker constructor options` to know how to customize worker thread options,
51
+ * specifically `argv` and `execArgv` options.
52
+ * @see [source](https://github.com/nodejs/node/blob/v16.7.0/lib/worker_threads.js)
53
+ */
54
+ declare module 'worker_threads' {
55
+ import { Blob } from 'node:buffer';
56
+ import { Context } from 'node:vm';
57
+ import { EventEmitter } from 'node:events';
58
+ import { EventLoopUtilityFunction } from 'node:perf_hooks';
59
+ import { FileHandle } from 'node:fs/promises';
60
+ import { Readable, Writable } from 'node:stream';
61
+ import { URL } from 'node:url';
62
+ import { X509Certificate } from 'node:crypto';
63
+ const isMainThread: boolean;
64
+ const parentPort: null | MessagePort;
65
+ const resourceLimits: ResourceLimits;
66
+ const SHARE_ENV: unique symbol;
67
+ const threadId: number;
68
+ const workerData: any;
69
+ /**
70
+ * Instances of the `worker.MessageChannel` class represent an asynchronous,
71
+ * two-way communications channel.
72
+ * The `MessageChannel` has no methods of its own. `new MessageChannel()`yields an object with `port1` and `port2` properties, which refer to linked `MessagePort` instances.
73
+ *
74
+ * ```js
75
+ * const { MessageChannel } = require('worker_threads');
76
+ *
77
+ * const { port1, port2 } = new MessageChannel();
78
+ * port1.on('message', (message) => console.log('received', message));
79
+ * port2.postMessage({ foo: 'bar' });
80
+ * // Prints: received { foo: 'bar' } from the `port1.on('message')` listener
81
+ * ```
82
+ * @since v10.5.0
83
+ */
84
+ class MessageChannel {
85
+ readonly port1: MessagePort;
86
+ readonly port2: MessagePort;
87
+ }
88
+ interface WorkerPerformance {
89
+ eventLoopUtilization: EventLoopUtilityFunction;
90
+ }
91
+ type TransferListItem = ArrayBuffer | MessagePort | FileHandle | X509Certificate | Blob;
92
+ /**
93
+ * Instances of the `worker.MessagePort` class represent one end of an
94
+ * asynchronous, two-way communications channel. It can be used to transfer
95
+ * structured data, memory regions and other `MessagePort`s between different `Worker` s.
96
+ *
97
+ * This implementation matches [browser `MessagePort`](https://developer.mozilla.org/en-US/docs/Web/API/MessagePort)s.
98
+ * @since v10.5.0
99
+ */
100
+ class MessagePort extends EventEmitter {
101
+ /**
102
+ * Disables further sending of messages on either side of the connection.
103
+ * This method can be called when no further communication will happen over this`MessagePort`.
104
+ *
105
+ * The `'close' event` is emitted on both `MessagePort` instances that
106
+ * are part of the channel.
107
+ * @since v10.5.0
108
+ */
109
+ close(): void;
110
+ /**
111
+ * Sends a JavaScript value to the receiving side of this channel.`value` is transferred in a way which is compatible with
112
+ * the [HTML structured clone algorithm](https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Structured_clone_algorithm).
113
+ *
114
+ * In particular, the significant differences to `JSON` are:
115
+ *
116
+ * * `value` may contain circular references.
117
+ * * `value` may contain instances of builtin JS types such as `RegExp`s,`BigInt`s, `Map`s, `Set`s, etc.
118
+ * * `value` may contain typed arrays, both using `ArrayBuffer`s
119
+ * and `SharedArrayBuffer`s.
120
+ * * `value` may contain [`WebAssembly.Module`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WebAssembly/Module) instances.
121
+ * * `value` may not contain native (C++-backed) objects other than:
122
+ *
123
+ * ```js
124
+ * const { MessageChannel } = require('worker_threads');
125
+ * const { port1, port2 } = new MessageChannel();
126
+ *
127
+ * port1.on('message', (message) => console.log(message));
128
+ *
129
+ * const circularData = {};
130
+ * circularData.foo = circularData;
131
+ * // Prints: { foo: [Circular] }
132
+ * port2.postMessage(circularData);
133
+ * ```
134
+ *
135
+ * `transferList` may be a list of [`ArrayBuffer`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer), `MessagePort` and `FileHandle` objects.
136
+ * After transferring, they are not usable on the sending side of the channel
137
+ * anymore (even if they are not contained in `value`). Unlike with `child processes`, transferring handles such as network sockets is currently
138
+ * not supported.
139
+ *
140
+ * If `value` contains [`SharedArrayBuffer`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SharedArrayBuffer) instances, those are accessible
141
+ * from either thread. They cannot be listed in `transferList`.
142
+ *
143
+ * `value` may still contain `ArrayBuffer` instances that are not in`transferList`; in that case, the underlying memory is copied rather than moved.
144
+ *
145
+ * ```js
146
+ * const { MessageChannel } = require('worker_threads');
147
+ * const { port1, port2 } = new MessageChannel();
148
+ *
149
+ * port1.on('message', (message) => console.log(message));
150
+ *
151
+ * const uint8Array = new Uint8Array([ 1, 2, 3, 4 ]);
152
+ * // This posts a copy of `uint8Array`:
153
+ * port2.postMessage(uint8Array);
154
+ * // This does not copy data, but renders `uint8Array` unusable:
155
+ * port2.postMessage(uint8Array, [ uint8Array.buffer ]);
156
+ *
157
+ * // The memory for the `sharedUint8Array` is accessible from both the
158
+ * // original and the copy received by `.on('message')`:
159
+ * const sharedUint8Array = new Uint8Array(new SharedArrayBuffer(4));
160
+ * port2.postMessage(sharedUint8Array);
161
+ *
162
+ * // This transfers a freshly created message port to the receiver.
163
+ * // This can be used, for example, to create communication channels between
164
+ * // multiple `Worker` threads that are children of the same parent thread.
165
+ * const otherChannel = new MessageChannel();
166
+ * port2.postMessage({ port: otherChannel.port1 }, [ otherChannel.port1 ]);
167
+ * ```
168
+ *
169
+ * The message object is cloned immediately, and can be modified after
170
+ * posting without having side effects.
171
+ *
172
+ * For more information on the serialization and deserialization mechanisms
173
+ * behind this API, see the `serialization API of the v8 module`.
174
+ * @since v10.5.0
175
+ */
176
+ postMessage(value: any, transferList?: ReadonlyArray<TransferListItem>): void;
177
+ /**
178
+ * Opposite of `unref()`. Calling `ref()` on a previously `unref()`ed port does_not_ let the program exit if it's the only active handle left (the default
179
+ * behavior). If the port is `ref()`ed, calling `ref()` again has no effect.
180
+ *
181
+ * If listeners are attached or removed using `.on('message')`, the port
182
+ * is `ref()`ed and `unref()`ed automatically depending on whether
183
+ * listeners for the event exist.
184
+ * @since v10.5.0
185
+ */
186
+ ref(): void;
187
+ /**
188
+ * Calling `unref()` on a port allows the thread to exit if this is the only
189
+ * active handle in the event system. If the port is already `unref()`ed calling`unref()` again has no effect.
190
+ *
191
+ * If listeners are attached or removed using `.on('message')`, the port is`ref()`ed and `unref()`ed automatically depending on whether
192
+ * listeners for the event exist.
193
+ * @since v10.5.0
194
+ */
195
+ unref(): void;
196
+ /**
197
+ * Starts receiving messages on this `MessagePort`. When using this port
198
+ * as an event emitter, this is called automatically once `'message'`listeners are attached.
199
+ *
200
+ * This method exists for parity with the Web `MessagePort` API. In Node.js,
201
+ * it is only useful for ignoring messages when no event listener is present.
202
+ * Node.js also diverges in its handling of `.onmessage`. Setting it
203
+ * automatically calls `.start()`, but unsetting it lets messages queue up
204
+ * until a new handler is set or the port is discarded.
205
+ * @since v10.5.0
206
+ */
207
+ start(): void;
208
+ addListener(event: 'close', listener: () => void): this;
209
+ addListener(event: 'message', listener: (value: any) => void): this;
210
+ addListener(event: 'messageerror', listener: (error: Error) => void): this;
211
+ addListener(event: string | symbol, listener: (...args: any[]) => void): this;
212
+ emit(event: 'close'): boolean;
213
+ emit(event: 'message', value: any): boolean;
214
+ emit(event: 'messageerror', error: Error): boolean;
215
+ emit(event: string | symbol, ...args: any[]): boolean;
216
+ on(event: 'close', listener: () => void): this;
217
+ on(event: 'message', listener: (value: any) => void): this;
218
+ on(event: 'messageerror', listener: (error: Error) => void): this;
219
+ on(event: string | symbol, listener: (...args: any[]) => void): this;
220
+ once(event: 'close', listener: () => void): this;
221
+ once(event: 'message', listener: (value: any) => void): this;
222
+ once(event: 'messageerror', listener: (error: Error) => void): this;
223
+ once(event: string | symbol, listener: (...args: any[]) => void): this;
224
+ prependListener(event: 'close', listener: () => void): this;
225
+ prependListener(event: 'message', listener: (value: any) => void): this;
226
+ prependListener(event: 'messageerror', listener: (error: Error) => void): this;
227
+ prependListener(event: string | symbol, listener: (...args: any[]) => void): this;
228
+ prependOnceListener(event: 'close', listener: () => void): this;
229
+ prependOnceListener(event: 'message', listener: (value: any) => void): this;
230
+ prependOnceListener(event: 'messageerror', listener: (error: Error) => void): this;
231
+ prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this;
232
+ removeListener(event: 'close', listener: () => void): this;
233
+ removeListener(event: 'message', listener: (value: any) => void): this;
234
+ removeListener(event: 'messageerror', listener: (error: Error) => void): this;
235
+ removeListener(event: string | symbol, listener: (...args: any[]) => void): this;
236
+ off(event: 'close', listener: () => void): this;
237
+ off(event: 'message', listener: (value: any) => void): this;
238
+ off(event: 'messageerror', listener: (error: Error) => void): this;
239
+ off(event: string | symbol, listener: (...args: any[]) => void): this;
240
+ }
241
+ interface WorkerOptions {
242
+ /**
243
+ * List of arguments which would be stringified and appended to
244
+ * `process.argv` in the worker. This is mostly similar to the `workerData`
245
+ * but the values will be available on the global `process.argv` as if they
246
+ * were passed as CLI options to the script.
247
+ */
248
+ argv?: any[] | undefined;
249
+ env?: NodeJS.Dict<string> | typeof SHARE_ENV | undefined;
250
+ eval?: boolean | undefined;
251
+ workerData?: any;
252
+ stdin?: boolean | undefined;
253
+ stdout?: boolean | undefined;
254
+ stderr?: boolean | undefined;
255
+ execArgv?: string[] | undefined;
256
+ resourceLimits?: ResourceLimits | undefined;
257
+ /**
258
+ * Additional data to send in the first worker message.
259
+ */
260
+ transferList?: TransferListItem[] | undefined;
261
+ /**
262
+ * @default true
263
+ */
264
+ trackUnmanagedFds?: boolean | undefined;
265
+ }
266
+ interface ResourceLimits {
267
+ /**
268
+ * The maximum size of a heap space for recently created objects.
269
+ */
270
+ maxYoungGenerationSizeMb?: number | undefined;
271
+ /**
272
+ * The maximum size of the main heap in MB.
273
+ */
274
+ maxOldGenerationSizeMb?: number | undefined;
275
+ /**
276
+ * The size of a pre-allocated memory range used for generated code.
277
+ */
278
+ codeRangeSizeMb?: number | undefined;
279
+ /**
280
+ * The default maximum stack size for the thread. Small values may lead to unusable Worker instances.
281
+ * @default 4
282
+ */
283
+ stackSizeMb?: number | undefined;
284
+ }
285
+ /**
286
+ * The `Worker` class represents an independent JavaScript execution thread.
287
+ * Most Node.js APIs are available inside of it.
288
+ *
289
+ * Notable differences inside a Worker environment are:
290
+ *
291
+ * * The `process.stdin`, `process.stdout` and `process.stderr` may be redirected by the parent thread.
292
+ * * The `require('worker_threads').isMainThread` property is set to `false`.
293
+ * * The `require('worker_threads').parentPort` message port is available.
294
+ * * `process.exit()` does not stop the whole program, just the single thread,
295
+ * and `process.abort()` is not available.
296
+ * * `process.chdir()` and `process` methods that set group or user ids
297
+ * are not available.
298
+ * * `process.env` is a copy of the parent thread's environment variables,
299
+ * unless otherwise specified. Changes to one copy are not visible in other
300
+ * threads, and are not visible to native add-ons (unless `worker.SHARE_ENV` is passed as the `env` option to the `Worker` constructor).
301
+ * * `process.title` cannot be modified.
302
+ * * Signals are not delivered through `process.on('...')`.
303
+ * * Execution may stop at any point as a result of `worker.terminate()` being invoked.
304
+ * * IPC channels from parent processes are not accessible.
305
+ * * The `trace_events` module is not supported.
306
+ * * Native add-ons can only be loaded from multiple threads if they fulfill `certain conditions`.
307
+ *
308
+ * Creating `Worker` instances inside of other `Worker`s is possible.
309
+ *
310
+ * Like [Web Workers](https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API) and the `cluster module`, two-way communication can be
311
+ * achieved through inter-thread message passing. Internally, a `Worker` has a
312
+ * built-in pair of `MessagePort` s that are already associated with each other
313
+ * when the `Worker` is created. While the `MessagePort` object on the parent side
314
+ * is not directly exposed, its functionalities are exposed through `worker.postMessage()` and the `worker.on('message')` event
315
+ * on the `Worker` object for the parent thread.
316
+ *
317
+ * To create custom messaging channels (which is encouraged over using the default
318
+ * global channel because it facilitates separation of concerns), users can create
319
+ * a `MessageChannel` object on either thread and pass one of the`MessagePort`s on that `MessageChannel` to the other thread through a
320
+ * pre-existing channel, such as the global one.
321
+ *
322
+ * See `port.postMessage()` for more information on how messages are passed,
323
+ * and what kind of JavaScript values can be successfully transported through
324
+ * the thread barrier.
325
+ *
326
+ * ```js
327
+ * const assert = require('assert');
328
+ * const {
329
+ * Worker, MessageChannel, MessagePort, isMainThread, parentPort
330
+ * } = require('worker_threads');
331
+ * if (isMainThread) {
332
+ * const worker = new Worker(__filename);
333
+ * const subChannel = new MessageChannel();
334
+ * worker.postMessage({ hereIsYourPort: subChannel.port1 }, [subChannel.port1]);
335
+ * subChannel.port2.on('message', (value) => {
336
+ * console.log('received:', value);
337
+ * });
338
+ * } else {
339
+ * parentPort.once('message', (value) => {
340
+ * assert(value.hereIsYourPort instanceof MessagePort);
341
+ * value.hereIsYourPort.postMessage('the worker is sending this');
342
+ * value.hereIsYourPort.close();
343
+ * });
344
+ * }
345
+ * ```
346
+ * @since v10.5.0
347
+ */
348
+ class Worker extends EventEmitter {
349
+ /**
350
+ * If `stdin: true` was passed to the `Worker` constructor, this is a
351
+ * writable stream. The data written to this stream will be made available in
352
+ * the worker thread as `process.stdin`.
353
+ * @since v10.5.0
354
+ */
355
+ readonly stdin: Writable | null;
356
+ /**
357
+ * This is a readable stream which contains data written to `process.stdout` inside the worker thread. If `stdout: true` was not passed to the `Worker` constructor, then data is piped to the
358
+ * parent thread's `process.stdout` stream.
359
+ * @since v10.5.0
360
+ */
361
+ readonly stdout: Readable;
362
+ /**
363
+ * This is a readable stream which contains data written to `process.stderr` inside the worker thread. If `stderr: true` was not passed to the `Worker` constructor, then data is piped to the
364
+ * parent thread's `process.stderr` stream.
365
+ * @since v10.5.0
366
+ */
367
+ readonly stderr: Readable;
368
+ /**
369
+ * An integer identifier for the referenced thread. Inside the worker thread,
370
+ * it is available as `require('worker_threads').threadId`.
371
+ * This value is unique for each `Worker` instance inside a single process.
372
+ * @since v10.5.0
373
+ */
374
+ readonly threadId: number;
375
+ /**
376
+ * Provides the set of JS engine resource constraints for this Worker thread.
377
+ * If the `resourceLimits` option was passed to the `Worker` constructor,
378
+ * this matches its values.
379
+ *
380
+ * If the worker has stopped, the return value is an empty object.
381
+ * @since v13.2.0, v12.16.0
382
+ */
383
+ readonly resourceLimits?: ResourceLimits | undefined;
384
+ /**
385
+ * An object that can be used to query performance information from a worker
386
+ * instance. Similar to `perf_hooks.performance`.
387
+ * @since v15.1.0, v12.22.0
388
+ */
389
+ readonly performance: WorkerPerformance;
390
+ /**
391
+ * @param filename The path to the Worker’s main script or module.
392
+ * Must be either an absolute path or a relative path (i.e. relative to the current working directory) starting with ./ or ../,
393
+ * or a WHATWG URL object using file: protocol. If options.eval is true, this is a string containing JavaScript code rather than a path.
394
+ */
395
+ constructor(filename: string | URL, options?: WorkerOptions);
396
+ /**
397
+ * Send a message to the worker that is received via `require('worker_threads').parentPort.on('message')`.
398
+ * See `port.postMessage()` for more details.
399
+ * @since v10.5.0
400
+ */
401
+ postMessage(value: any, transferList?: ReadonlyArray<TransferListItem>): void;
402
+ /**
403
+ * Opposite of `unref()`, calling `ref()` on a previously `unref()`ed worker does_not_ let the program exit if it's the only active handle left (the default
404
+ * behavior). If the worker is `ref()`ed, calling `ref()` again has
405
+ * no effect.
406
+ * @since v10.5.0
407
+ */
408
+ ref(): void;
409
+ /**
410
+ * Calling `unref()` on a worker allows the thread to exit if this is the only
411
+ * active handle in the event system. If the worker is already `unref()`ed calling`unref()` again has no effect.
412
+ * @since v10.5.0
413
+ */
414
+ unref(): void;
415
+ /**
416
+ * Stop all JavaScript execution in the worker thread as soon as possible.
417
+ * Returns a Promise for the exit code that is fulfilled when the `'exit' event` is emitted.
418
+ * @since v10.5.0
419
+ */
420
+ terminate(): Promise<number>;
421
+ /**
422
+ * Returns a readable stream for a V8 snapshot of the current state of the Worker.
423
+ * See `v8.getHeapSnapshot()` for more details.
424
+ *
425
+ * If the Worker thread is no longer running, which may occur before the `'exit' event` is emitted, the returned `Promise` is rejected
426
+ * immediately with an `ERR_WORKER_NOT_RUNNING` error.
427
+ * @since v13.9.0, v12.17.0
428
+ * @return A promise for a Readable Stream containing a V8 heap snapshot
429
+ */
430
+ getHeapSnapshot(): Promise<Readable>;
431
+ addListener(event: 'error', listener: (err: Error) => void): this;
432
+ addListener(event: 'exit', listener: (exitCode: number) => void): this;
433
+ addListener(event: 'message', listener: (value: any) => void): this;
434
+ addListener(event: 'messageerror', listener: (error: Error) => void): this;
435
+ addListener(event: 'online', listener: () => void): this;
436
+ addListener(event: string | symbol, listener: (...args: any[]) => void): this;
437
+ emit(event: 'error', err: Error): boolean;
438
+ emit(event: 'exit', exitCode: number): boolean;
439
+ emit(event: 'message', value: any): boolean;
440
+ emit(event: 'messageerror', error: Error): boolean;
441
+ emit(event: 'online'): boolean;
442
+ emit(event: string | symbol, ...args: any[]): boolean;
443
+ on(event: 'error', listener: (err: Error) => void): this;
444
+ on(event: 'exit', listener: (exitCode: number) => void): this;
445
+ on(event: 'message', listener: (value: any) => void): this;
446
+ on(event: 'messageerror', listener: (error: Error) => void): this;
447
+ on(event: 'online', listener: () => void): this;
448
+ on(event: string | symbol, listener: (...args: any[]) => void): this;
449
+ once(event: 'error', listener: (err: Error) => void): this;
450
+ once(event: 'exit', listener: (exitCode: number) => void): this;
451
+ once(event: 'message', listener: (value: any) => void): this;
452
+ once(event: 'messageerror', listener: (error: Error) => void): this;
453
+ once(event: 'online', listener: () => void): this;
454
+ once(event: string | symbol, listener: (...args: any[]) => void): this;
455
+ prependListener(event: 'error', listener: (err: Error) => void): this;
456
+ prependListener(event: 'exit', listener: (exitCode: number) => void): this;
457
+ prependListener(event: 'message', listener: (value: any) => void): this;
458
+ prependListener(event: 'messageerror', listener: (error: Error) => void): this;
459
+ prependListener(event: 'online', listener: () => void): this;
460
+ prependListener(event: string | symbol, listener: (...args: any[]) => void): this;
461
+ prependOnceListener(event: 'error', listener: (err: Error) => void): this;
462
+ prependOnceListener(event: 'exit', listener: (exitCode: number) => void): this;
463
+ prependOnceListener(event: 'message', listener: (value: any) => void): this;
464
+ prependOnceListener(event: 'messageerror', listener: (error: Error) => void): this;
465
+ prependOnceListener(event: 'online', listener: () => void): this;
466
+ prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this;
467
+ removeListener(event: 'error', listener: (err: Error) => void): this;
468
+ removeListener(event: 'exit', listener: (exitCode: number) => void): this;
469
+ removeListener(event: 'message', listener: (value: any) => void): this;
470
+ removeListener(event: 'messageerror', listener: (error: Error) => void): this;
471
+ removeListener(event: 'online', listener: () => void): this;
472
+ removeListener(event: string | symbol, listener: (...args: any[]) => void): this;
473
+ off(event: 'error', listener: (err: Error) => void): this;
474
+ off(event: 'exit', listener: (exitCode: number) => void): this;
475
+ off(event: 'message', listener: (value: any) => void): this;
476
+ off(event: 'messageerror', listener: (error: Error) => void): this;
477
+ off(event: 'online', listener: () => void): this;
478
+ off(event: string | symbol, listener: (...args: any[]) => void): this;
479
+ }
480
+ interface BroadcastChannel extends NodeJS.RefCounted {}
481
+ /**
482
+ * Instances of `BroadcastChannel` allow asynchronous one-to-many communication
483
+ * with all other `BroadcastChannel` instances bound to the same channel name.
484
+ *
485
+ * ```js
486
+ * 'use strict';
487
+ *
488
+ * const {
489
+ * isMainThread,
490
+ * BroadcastChannel,
491
+ * Worker
492
+ * } = require('worker_threads');
493
+ *
494
+ * const bc = new BroadcastChannel('hello');
495
+ *
496
+ * if (isMainThread) {
497
+ * let c = 0;
498
+ * bc.onmessage = (event) => {
499
+ * console.log(event.data);
500
+ * if (++c === 10) bc.close();
501
+ * };
502
+ * for (let n = 0; n < 10; n++)
503
+ * new Worker(__filename);
504
+ * } else {
505
+ * bc.postMessage('hello from every worker');
506
+ * bc.close();
507
+ * }
508
+ * ```
509
+ * @since v15.4.0
510
+ * @experimental
511
+ */
512
+ class BroadcastChannel {
513
+ readonly name: string;
514
+ /**
515
+ * Invoked with a single \`MessageEvent\` argument when a message is received.
516
+ * @since v15.4.0
517
+ */
518
+ onmessage: (message: unknown) => void;
519
+ /**
520
+ * Invoked with a received message cannot be deserialized.
521
+ * @since v15.4.0
522
+ */
523
+ onmessageerror: (message: unknown) => void;
524
+ constructor(name: string);
525
+ /**
526
+ * Closes the `BroadcastChannel` connection.
527
+ * @since v15.4.0
528
+ */
529
+ close(): void;
530
+ /**
531
+ * @since v15.4.0
532
+ * @param message Any cloneable JavaScript value.
533
+ */
534
+ postMessage(message: unknown): void;
535
+ }
536
+ /**
537
+ * Mark an object as not transferable. If `object` occurs in the transfer list of
538
+ * a `port.postMessage()` call, it is ignored.
539
+ *
540
+ * In particular, this makes sense for objects that can be cloned, rather than
541
+ * transferred, and which are used by other objects on the sending side.
542
+ * For example, Node.js marks the `ArrayBuffer`s it uses for its `Buffer pool` with this.
543
+ *
544
+ * This operation cannot be undone.
545
+ *
546
+ * ```js
547
+ * const { MessageChannel, markAsUntransferable } = require('worker_threads');
548
+ *
549
+ * const pooledBuffer = new ArrayBuffer(8);
550
+ * const typedArray1 = new Uint8Array(pooledBuffer);
551
+ * const typedArray2 = new Float64Array(pooledBuffer);
552
+ *
553
+ * markAsUntransferable(pooledBuffer);
554
+ *
555
+ * const { port1 } = new MessageChannel();
556
+ * port1.postMessage(typedArray1, [ typedArray1.buffer ]);
557
+ *
558
+ * // The following line prints the contents of typedArray1 -- it still owns
559
+ * // its memory and has been cloned, not transferred. Without
560
+ * // `markAsUntransferable()`, this would print an empty Uint8Array.
561
+ * // typedArray2 is intact as well.
562
+ * console.log(typedArray1);
563
+ * console.log(typedArray2);
564
+ * ```
565
+ *
566
+ * There is no equivalent to this API in browsers.
567
+ * @since v14.5.0, v12.19.0
568
+ */
569
+ function markAsUntransferable(object: object): void;
570
+ /**
571
+ * Transfer a `MessagePort` to a different `vm` Context. The original `port`object is rendered unusable, and the returned `MessagePort` instance
572
+ * takes its place.
573
+ *
574
+ * The returned `MessagePort` is an object in the target context and
575
+ * inherits from its global `Object` class. Objects passed to the[`port.onmessage()`](https://developer.mozilla.org/en-US/docs/Web/API/MessagePort/onmessage) listener are also created in the
576
+ * target context
577
+ * and inherit from its global `Object` class.
578
+ *
579
+ * However, the created `MessagePort` no longer inherits from[`EventTarget`](https://developer.mozilla.org/en-US/docs/Web/API/EventTarget), and only
580
+ * [`port.onmessage()`](https://developer.mozilla.org/en-US/docs/Web/API/MessagePort/onmessage) can be used to receive
581
+ * events using it.
582
+ * @since v11.13.0
583
+ * @param port The message port to transfer.
584
+ * @param contextifiedSandbox A `contextified` object as returned by the `vm.createContext()` method.
585
+ */
586
+ function moveMessagePortToContext(port: MessagePort, contextifiedSandbox: Context): MessagePort;
587
+ /**
588
+ * Receive a single message from a given `MessagePort`. If no message is available,`undefined` is returned, otherwise an object with a single `message` property
589
+ * that contains the message payload, corresponding to the oldest message in the`MessagePort`’s queue.
590
+ *
591
+ * ```js
592
+ * const { MessageChannel, receiveMessageOnPort } = require('worker_threads');
593
+ * const { port1, port2 } = new MessageChannel();
594
+ * port1.postMessage({ hello: 'world' });
595
+ *
596
+ * console.log(receiveMessageOnPort(port2));
597
+ * // Prints: { message: { hello: 'world' } }
598
+ * console.log(receiveMessageOnPort(port2));
599
+ * // Prints: undefined
600
+ * ```
601
+ *
602
+ * When this function is used, no `'message'` event is emitted and the`onmessage` listener is not invoked.
603
+ * @since v12.3.0
604
+ */
605
+ function receiveMessageOnPort(port: MessagePort):
606
+ | {
607
+ message: any;
608
+ }
609
+ | undefined;
610
+ type Serializable = string | object | number | boolean | bigint;
611
+ /**
612
+ * Within a worker thread, `worker.getEnvironmentData()` returns a clone
613
+ * of data passed to the spawning thread's `worker.setEnvironmentData()`.
614
+ * Every new `Worker` receives its own copy of the environment data
615
+ * automatically.
616
+ *
617
+ * ```js
618
+ * const {
619
+ * Worker,
620
+ * isMainThread,
621
+ * setEnvironmentData,
622
+ * getEnvironmentData,
623
+ * } = require('worker_threads');
624
+ *
625
+ * if (isMainThread) {
626
+ * setEnvironmentData('Hello', 'World!');
627
+ * const worker = new Worker(__filename);
628
+ * } else {
629
+ * console.log(getEnvironmentData('Hello')); // Prints 'World!'.
630
+ * }
631
+ * ```
632
+ * @since v15.12.0
633
+ * @experimental
634
+ * @param key Any arbitrary, cloneable JavaScript value that can be used as a {Map} key.
635
+ */
636
+ function getEnvironmentData(key: Serializable): Serializable;
637
+ /**
638
+ * The `worker.setEnvironmentData()` API sets the content of`worker.getEnvironmentData()` in the current thread and all new `Worker`instances spawned from the current context.
639
+ * @since v15.12.0
640
+ * @experimental
641
+ * @param key Any arbitrary, cloneable JavaScript value that can be used as a {Map} key.
642
+ * @param value Any arbitrary, cloneable JavaScript value that will be cloned and passed automatically to all new `Worker` instances. If `value` is passed as `undefined`, any previously set value
643
+ * for the `key` will be deleted.
644
+ */
645
+ function setEnvironmentData(key: Serializable, value: Serializable): void;
646
+ }
647
+ declare module 'node:worker_threads' {
648
+ export * from 'worker_threads';
649
+ }