@bctrl/sdk 1.0.1 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (279) hide show
  1. package/README.md +24 -29
  2. package/dist/bctrl.d.ts +22 -36
  3. package/dist/bctrl.js +40 -75
  4. package/dist/browsers.d.ts +24 -0
  5. package/dist/browsers.js +82 -0
  6. package/dist/errors.d.ts +49 -43
  7. package/dist/errors.js +83 -120
  8. package/dist/files.d.ts +31 -0
  9. package/dist/files.js +97 -0
  10. package/dist/http.d.ts +18 -0
  11. package/dist/http.js +135 -0
  12. package/dist/index.d.ts +9 -12
  13. package/dist/index.js +8 -23
  14. package/dist/invocations.d.ts +24 -0
  15. package/dist/invocations.js +66 -0
  16. package/dist/pagination.d.ts +2 -0
  17. package/dist/pagination.js +13 -0
  18. package/dist/runs.d.ts +38 -0
  19. package/dist/runs.js +99 -0
  20. package/dist/runtimes.d.ts +73 -0
  21. package/dist/runtimes.js +205 -0
  22. package/dist/spaces.d.ts +41 -0
  23. package/dist/spaces.js +96 -0
  24. package/dist/types.d.ts +386 -0
  25. package/dist/types.js +1 -0
  26. package/dist/utils.d.ts +4 -0
  27. package/dist/utils.js +27 -0
  28. package/dist/version.js +2 -2
  29. package/package.json +12 -31
  30. package/dist/agents/browser-use/index.d.ts +0 -1
  31. package/dist/agents/browser-use/index.js +0 -9
  32. package/dist/agents/browser-use/namespace.d.ts +0 -39
  33. package/dist/agents/browser-use/namespace.js +0 -93
  34. package/dist/agents/index.d.ts +0 -2
  35. package/dist/agents/index.js +0 -17
  36. package/dist/agents/stagehand/core.d.ts +0 -93
  37. package/dist/agents/stagehand/core.js +0 -144
  38. package/dist/agents/stagehand/index.d.ts +0 -3
  39. package/dist/agents/stagehand/index.js +0 -24
  40. package/dist/agents/stagehand/namespace.d.ts +0 -51
  41. package/dist/agents/stagehand/namespace.js +0 -65
  42. package/dist/ai-credentials/client.d.ts +0 -12
  43. package/dist/ai-credentials/client.js +0 -70
  44. package/dist/ai-credentials/index.d.ts +0 -1
  45. package/dist/ai-credentials/index.js +0 -1
  46. package/dist/base/event-binding.d.ts +0 -7
  47. package/dist/base/event-binding.js +0 -23
  48. package/dist/base/types.d.ts +0 -109
  49. package/dist/base/types.js +0 -4
  50. package/dist/browser-extensions/client.d.ts +0 -15
  51. package/dist/browser-extensions/client.js +0 -72
  52. package/dist/browser-extensions/index.d.ts +0 -2
  53. package/dist/browser-extensions/index.js +0 -1
  54. package/dist/browser-profiles/client.d.ts +0 -11
  55. package/dist/browser-profiles/client.js +0 -63
  56. package/dist/browser-profiles/index.d.ts +0 -1
  57. package/dist/browser-profiles/index.js +0 -1
  58. package/dist/captcha/index.d.ts +0 -1
  59. package/dist/captcha/index.js +0 -1
  60. package/dist/captcha/namespace.d.ts +0 -34
  61. package/dist/captcha/namespace.js +0 -41
  62. package/dist/client/index.d.ts +0 -1
  63. package/dist/client/index.js +0 -1
  64. package/dist/client/rpc.d.ts +0 -83
  65. package/dist/client/rpc.js +0 -354
  66. package/dist/config.d.ts +0 -5
  67. package/dist/config.js +0 -28
  68. package/dist/constants/browser.d.ts +0 -2
  69. package/dist/constants/browser.js +0 -1
  70. package/dist/contracts/agent-tools.d.ts +0 -45
  71. package/dist/contracts/agent-tools.js +0 -31
  72. package/dist/contracts/automation.d.ts +0 -265
  73. package/dist/contracts/automation.js +0 -109
  74. package/dist/contracts/browser-management.d.ts +0 -179
  75. package/dist/contracts/browser-management.js +0 -95
  76. package/dist/contracts/browser-use.d.ts +0 -136
  77. package/dist/contracts/browser-use.js +0 -93
  78. package/dist/contracts/captcha.d.ts +0 -114
  79. package/dist/contracts/captcha.js +0 -40
  80. package/dist/contracts/desktop.d.ts +0 -223
  81. package/dist/contracts/desktop.js +0 -121
  82. package/dist/contracts/drivers/playwright.d.ts +0 -2008
  83. package/dist/contracts/drivers/playwright.js +0 -2033
  84. package/dist/contracts/drivers/puppeteer.d.ts +0 -1221
  85. package/dist/contracts/drivers/puppeteer.js +0 -941
  86. package/dist/contracts/drivers/selenium.d.ts +0 -156
  87. package/dist/contracts/drivers/selenium.js +0 -61
  88. package/dist/contracts/drivers/stagehand.d.ts +0 -155
  89. package/dist/contracts/drivers/stagehand.js +0 -7
  90. package/dist/contracts/extensions.d.ts +0 -13
  91. package/dist/contracts/extensions.js +0 -9
  92. package/dist/contracts/index.d.ts +0 -13
  93. package/dist/contracts/index.js +0 -13
  94. package/dist/contracts/public-api.d.ts +0 -360
  95. package/dist/contracts/public-api.js +0 -17
  96. package/dist/contracts/runtime.d.ts +0 -81
  97. package/dist/contracts/runtime.js +0 -16
  98. package/dist/contracts/stagehand.d.ts +0 -253
  99. package/dist/contracts/stagehand.js +0 -145
  100. package/dist/contracts/storage.d.ts +0 -51
  101. package/dist/contracts/storage.js +0 -56
  102. package/dist/contracts/vault.d.ts +0 -119
  103. package/dist/contracts/vault.js +0 -112
  104. package/dist/contracts/version.d.ts +0 -3
  105. package/dist/contracts/version.js +0 -16
  106. package/dist/desktop.d.ts +0 -2
  107. package/dist/desktop.js +0 -3
  108. package/dist/drivers/desktop/index.d.ts +0 -65
  109. package/dist/drivers/desktop/index.js +0 -68
  110. package/dist/drivers/desktop/session.d.ts +0 -313
  111. package/dist/drivers/desktop/session.js +0 -432
  112. package/dist/drivers/playwright/event-emitter.d.ts +0 -160
  113. package/dist/drivers/playwright/event-emitter.js +0 -297
  114. package/dist/drivers/playwright/generated/api-request-context.d.ts +0 -137
  115. package/dist/drivers/playwright/generated/api-request-context.js +0 -154
  116. package/dist/drivers/playwright/generated/api-response.d.ts +0 -119
  117. package/dist/drivers/playwright/generated/api-response.js +0 -123
  118. package/dist/drivers/playwright/generated/browser-context.d.ts +0 -284
  119. package/dist/drivers/playwright/generated/browser-context.js +0 -458
  120. package/dist/drivers/playwright/generated/browser.d.ts +0 -120
  121. package/dist/drivers/playwright/generated/browser.js +0 -151
  122. package/dist/drivers/playwright/generated/clock.d.ts +0 -80
  123. package/dist/drivers/playwright/generated/clock.js +0 -94
  124. package/dist/drivers/playwright/generated/console-message.d.ts +0 -94
  125. package/dist/drivers/playwright/generated/console-message.js +0 -89
  126. package/dist/drivers/playwright/generated/coverage.d.ts +0 -57
  127. package/dist/drivers/playwright/generated/coverage.js +0 -66
  128. package/dist/drivers/playwright/generated/dialog.d.ts +0 -79
  129. package/dist/drivers/playwright/generated/dialog.js +0 -80
  130. package/dist/drivers/playwright/generated/element-handle.d.ts +0 -399
  131. package/dist/drivers/playwright/generated/element-handle.js +0 -501
  132. package/dist/drivers/playwright/generated/frame-locator.d.ts +0 -34
  133. package/dist/drivers/playwright/generated/frame-locator.js +0 -63
  134. package/dist/drivers/playwright/generated/frame.d.ts +0 -557
  135. package/dist/drivers/playwright/generated/frame.js +0 -634
  136. package/dist/drivers/playwright/generated/js-handle.d.ts +0 -72
  137. package/dist/drivers/playwright/generated/js-handle.js +0 -92
  138. package/dist/drivers/playwright/generated/keyboard.d.ts +0 -103
  139. package/dist/drivers/playwright/generated/keyboard.js +0 -113
  140. package/dist/drivers/playwright/generated/locator.d.ts +0 -795
  141. package/dist/drivers/playwright/generated/locator.js +0 -974
  142. package/dist/drivers/playwright/generated/mouse.d.ts +0 -97
  143. package/dist/drivers/playwright/generated/mouse.js +0 -109
  144. package/dist/drivers/playwright/generated/page.d.ts +0 -762
  145. package/dist/drivers/playwright/generated/page.js +0 -988
  146. package/dist/drivers/playwright/generated/touchscreen.d.ts +0 -34
  147. package/dist/drivers/playwright/generated/touchscreen.js +0 -37
  148. package/dist/drivers/playwright/generated/tracing.d.ts +0 -78
  149. package/dist/drivers/playwright/generated/tracing.js +0 -80
  150. package/dist/drivers/playwright/generated/worker.d.ts +0 -53
  151. package/dist/drivers/playwright/generated/worker.js +0 -59
  152. package/dist/drivers/playwright/index.d.ts +0 -19
  153. package/dist/drivers/playwright/index.js +0 -20
  154. package/dist/drivers/playwright/remote-base.d.ts +0 -62
  155. package/dist/drivers/playwright/remote-base.js +0 -86
  156. package/dist/drivers/playwright/types.d.ts +0 -148
  157. package/dist/drivers/playwright/types.js +0 -8
  158. package/dist/drivers/puppeteer/errors.d.ts +0 -50
  159. package/dist/drivers/puppeteer/errors.js +0 -71
  160. package/dist/drivers/puppeteer/event-emitter.d.ts +0 -145
  161. package/dist/drivers/puppeteer/event-emitter.js +0 -259
  162. package/dist/drivers/puppeteer/generated/accessibility.d.ts +0 -77
  163. package/dist/drivers/puppeteer/generated/accessibility.js +0 -74
  164. package/dist/drivers/puppeteer/generated/browser-context.d.ts +0 -116
  165. package/dist/drivers/puppeteer/generated/browser-context.js +0 -168
  166. package/dist/drivers/puppeteer/generated/browser.d.ts +0 -169
  167. package/dist/drivers/puppeteer/generated/browser.js +0 -246
  168. package/dist/drivers/puppeteer/generated/console-message.d.ts +0 -54
  169. package/dist/drivers/puppeteer/generated/console-message.js +0 -69
  170. package/dist/drivers/puppeteer/generated/coverage.d.ts +0 -49
  171. package/dist/drivers/puppeteer/generated/coverage.js +0 -57
  172. package/dist/drivers/puppeteer/generated/dialog.d.ts +0 -46
  173. package/dist/drivers/puppeteer/generated/dialog.js +0 -60
  174. package/dist/drivers/puppeteer/generated/element-handle.d.ts +0 -261
  175. package/dist/drivers/puppeteer/generated/element-handle.js +0 -341
  176. package/dist/drivers/puppeteer/generated/file-chooser.d.ts +0 -34
  177. package/dist/drivers/puppeteer/generated/file-chooser.js +0 -43
  178. package/dist/drivers/puppeteer/generated/frame.d.ts +0 -221
  179. package/dist/drivers/puppeteer/generated/frame.js +0 -302
  180. package/dist/drivers/puppeteer/generated/http-request.d.ts +0 -195
  181. package/dist/drivers/puppeteer/generated/http-request.js +0 -243
  182. package/dist/drivers/puppeteer/generated/http-response.d.ts +0 -142
  183. package/dist/drivers/puppeteer/generated/http-response.js +0 -169
  184. package/dist/drivers/puppeteer/generated/js-handle.d.ts +0 -104
  185. package/dist/drivers/puppeteer/generated/js-handle.js +0 -125
  186. package/dist/drivers/puppeteer/generated/keyboard.d.ts +0 -79
  187. package/dist/drivers/puppeteer/generated/keyboard.js +0 -89
  188. package/dist/drivers/puppeteer/generated/locator.d.ts +0 -141
  189. package/dist/drivers/puppeteer/generated/locator.js +0 -164
  190. package/dist/drivers/puppeteer/generated/mouse.d.ts +0 -74
  191. package/dist/drivers/puppeteer/generated/mouse.js +0 -94
  192. package/dist/drivers/puppeteer/generated/page.d.ts +0 -604
  193. package/dist/drivers/puppeteer/generated/page.js +0 -776
  194. package/dist/drivers/puppeteer/generated/target.d.ts +0 -105
  195. package/dist/drivers/puppeteer/generated/target.js +0 -123
  196. package/dist/drivers/puppeteer/generated/touchscreen.d.ts +0 -87
  197. package/dist/drivers/puppeteer/generated/touchscreen.js +0 -103
  198. package/dist/drivers/puppeteer/generated/tracing.d.ts +0 -38
  199. package/dist/drivers/puppeteer/generated/tracing.js +0 -43
  200. package/dist/drivers/puppeteer/generated/web-worker.d.ts +0 -63
  201. package/dist/drivers/puppeteer/generated/web-worker.js +0 -73
  202. package/dist/drivers/puppeteer/index.d.ts +0 -21
  203. package/dist/drivers/puppeteer/index.js +0 -23
  204. package/dist/drivers/puppeteer/remote-base.d.ts +0 -57
  205. package/dist/drivers/puppeteer/remote-base.js +0 -79
  206. package/dist/drivers/puppeteer/types.d.ts +0 -178
  207. package/dist/drivers/puppeteer/types.js +0 -8
  208. package/dist/drivers/selenium/driver.d.ts +0 -28
  209. package/dist/drivers/selenium/driver.js +0 -169
  210. package/dist/drivers/selenium/element.d.ts +0 -34
  211. package/dist/drivers/selenium/element.js +0 -73
  212. package/dist/drivers/selenium/index.d.ts +0 -3
  213. package/dist/drivers/selenium/index.js +0 -5
  214. package/dist/drivers/selenium/types.d.ts +0 -2
  215. package/dist/drivers/selenium/types.js +0 -12
  216. package/dist/drivers/stagehand/generated/context.d.ts +0 -127
  217. package/dist/drivers/stagehand/generated/context.js +0 -153
  218. package/dist/drivers/stagehand/generated/locator.d.ts +0 -324
  219. package/dist/drivers/stagehand/generated/locator.js +0 -368
  220. package/dist/drivers/stagehand/generated/page.d.ts +0 -377
  221. package/dist/drivers/stagehand/generated/page.js +0 -439
  222. package/dist/drivers/stagehand/generated/response.d.ts +0 -197
  223. package/dist/drivers/stagehand/generated/response.js +0 -232
  224. package/dist/drivers/stagehand/index.d.ts +0 -5
  225. package/dist/drivers/stagehand/index.js +0 -8
  226. package/dist/drivers/stagehand/types.d.ts +0 -1
  227. package/dist/drivers/stagehand/types.js +0 -7
  228. package/dist/extensions/client.d.ts +0 -47
  229. package/dist/extensions/client.js +0 -154
  230. package/dist/extensions/index.d.ts +0 -1
  231. package/dist/extensions/index.js +0 -1
  232. package/dist/internal/dev-client.d.ts +0 -5
  233. package/dist/internal/dev-client.js +0 -9
  234. package/dist/internal/rpc-targets.d.ts +0 -17
  235. package/dist/internal/rpc-targets.js +0 -58
  236. package/dist/internal/serialization.d.ts +0 -32
  237. package/dist/internal/serialization.js +0 -42
  238. package/dist/internal/transport.d.ts +0 -24
  239. package/dist/internal/transport.js +0 -29
  240. package/dist/playwright.d.ts +0 -1
  241. package/dist/playwright.js +0 -2
  242. package/dist/puppeteer.d.ts +0 -1
  243. package/dist/puppeteer.js +0 -2
  244. package/dist/selenium.d.ts +0 -1
  245. package/dist/selenium.js +0 -2
  246. package/dist/stagehand.d.ts +0 -1
  247. package/dist/stagehand.js +0 -2
  248. package/dist/storage/client.d.ts +0 -151
  249. package/dist/storage/client.js +0 -329
  250. package/dist/storage/index.d.ts +0 -2
  251. package/dist/storage/index.js +0 -4
  252. package/dist/telemetry.d.ts +0 -18
  253. package/dist/telemetry.js +0 -93
  254. package/dist/updates/client.d.ts +0 -8
  255. package/dist/updates/client.js +0 -128
  256. package/dist/updates/index.d.ts +0 -1
  257. package/dist/updates/index.js +0 -1
  258. package/dist/utils/http.d.ts +0 -39
  259. package/dist/utils/http.js +0 -88
  260. package/dist/utils/index.d.ts +0 -4
  261. package/dist/utils/index.js +0 -4
  262. package/dist/utils/logger.d.ts +0 -27
  263. package/dist/utils/logger.js +0 -74
  264. package/dist/utils/schema.d.ts +0 -17
  265. package/dist/utils/schema.js +0 -31
  266. package/dist/utils/url.d.ts +0 -5
  267. package/dist/utils/url.js +0 -7
  268. package/dist/vault/client.d.ts +0 -43
  269. package/dist/vault/client.js +0 -123
  270. package/dist/vault/index.d.ts +0 -1
  271. package/dist/vault/index.js +0 -1
  272. package/dist/workspaces/browser-runtime.d.ts +0 -251
  273. package/dist/workspaces/browser-runtime.js +0 -1025
  274. package/dist/workspaces/client.d.ts +0 -48
  275. package/dist/workspaces/client.js +0 -222
  276. package/dist/workspaces/index.d.ts +0 -2
  277. package/dist/workspaces/index.js +0 -2
  278. package/dist/workspaces/runtime-event-pump.d.ts +0 -65
  279. package/dist/workspaces/runtime-event-pump.js +0 -716
@@ -1,148 +0,0 @@
1
- export type { PlaywrightGotoOptions, PlaywrightReloadOptions, PlaywrightGoBackOptions, PlaywrightGoForwardOptions, PlaywrightNavigationOptions, PlaywrightWaitUntil, WaitUntilState, PlaywrightWaitForSelectorOptions, PlaywrightWaitForLoadStateOptions, PlaywrightWaitForURLOptions, PlaywrightWaitForNavigationOptions, PlaywrightWaitForOptions, PlaywrightWaitForFunctionOptions, PlaywrightMouseButton, PlaywrightMouseClickOptions, PlaywrightMouseDblclickOptions, PlaywrightMouseMoveOptions, PlaywrightMouseDownUpOptions, PlaywrightKeyboardOptions, PlaywrightKeyboardPressOptions, PlaywrightKeyboardTypeOptions, PlaywrightModifiers, PlaywrightPosition, PlaywrightClickOptions, PlaywrightDblclickOptions, PlaywrightFillOptions, PlaywrightTypeOptions, PlaywrightPressOptions, PlaywrightPressSequentiallyOptions, PlaywrightCheckOptions, PlaywrightUncheckOptions, PlaywrightSetCheckedOptions, PlaywrightSelectOptionOptions, PlaywrightSelectOption, PlaywrightSelectOptionValue, PlaywrightHoverOptions, PlaywrightFocusOptions, PlaywrightBlurOptions, PlaywrightTapOptions, PlaywrightClearOptions, PlaywrightTextContentOptions, PlaywrightInnerTextOptions, PlaywrightInnerHTMLOptions, PlaywrightGetAttributeOptions, PlaywrightInputValueOptions, PlaywrightIsOptions, PlaywrightElementState, PlaywrightEvaluateOptions, PlaywrightClipRegion, PlaywrightScreenshotOptions, PlaywrightPageScreenshotOptions, PlaywrightPDFMargin, PlaywrightPDFOptions, PlaywrightGetByRoleOptions, PlaywrightGetByTextOptions, PlaywrightGetByLabelOptions, PlaywrightGetByPlaceholderOptions, PlaywrightGetByAltTextOptions, PlaywrightGetByTitleOptions, PlaywrightGetByTestIdOptions, PlaywrightFilterOptions, PlaywrightAriaRole, PlaywrightViewport, PlaywrightViewportSize, PlaywrightGeolocation, PlaywrightHttpCredentials, PlaywrightHTTPCredentials, PlaywrightNewContextOptions, PlaywrightNewPageOptions, PlaywrightBoundingBoxResult, PlaywrightBoundingBox, PlaywrightBoundingBoxOptions, LocatorChainStep, SerializedLocatorChain, PlaywrightTracingStartOptions, PlaywrightTracingStopOptions, PlaywrightStartTracingOptions, PlaywrightConsoleMessageType, PlaywrightConsoleMessageLocation, PlaywrightStartCSSCoverageOptions, PlaywrightStartJSCoverageOptions, PlaywrightCSSCoverageEntry, PlaywrightJSCoverageEntry, PlaywrightDialogType, PlaywrightCookie, PlaywrightClearCookiesOptions, PlaywrightPermission, PlaywrightGrantPermissionsOptions, PlaywrightRouteOptions, PlaywrightRouteFromHAROptions, PlaywrightUnrouteAllOptions, PlaywrightStorageState, PlaywrightStorageStateOptions, PlaywrightWaitForEventOptions, PlaywrightEventInit, PlaywrightDispatchEventOptions, PlaywrightTimeoutOptions, PlaywrightFilePayload, FilePayload, PlaywrightSetInputFilesOptions, PlaywrightScrollIntoViewOptions, PlaywrightScrollIntoViewIfNeededOptions, PlaywrightDragToOptions, PlaywrightDragAndDropOptions, PlaywrightSetContentOptions, PlaywrightAddScriptTagOptions, PlaywrightAddStyleTagOptions, PlaywrightEmulateMediaOptions, PlaywrightLoadState, LoadState, PlaywrightRequest, PlaywrightResponse, PlaywrightRouteHandler, PlaywrightAPIResponse, PlaywrightAPIRequestOptions, PlaywrightConsoleMessage, PlaywrightWebSocketRoute, PlaywrightAddLocatorHandlerOptions, } from '../../contracts/drivers/playwright.js';
2
- export type { PageEvents, PlaywrightPageEvents, } from '../../contracts/drivers/playwright.js';
3
- export type { SelectOption } from '../../base/types.js';
4
- import type { PlaywrightMouseClickOptions, PlaywrightMouseMoveOptions, PlaywrightKeyboardOptions, PlaywrightClickOptions, PlaywrightFillOptions, PlaywrightTypeOptions, PlaywrightPressOptions, PlaywrightCheckOptions, PlaywrightSelectOptionOptions, PlaywrightHoverOptions, PlaywrightFocusOptions, PlaywrightTextContentOptions, PlaywrightInnerTextOptions, PlaywrightInnerHTMLOptions, PlaywrightGetAttributeOptions, PlaywrightInputValueOptions, PlaywrightIsOptions, PlaywrightWaitForOptions, PlaywrightScreenshotOptions, PlaywrightGetByRoleOptions, PlaywrightGetByTextOptions, PlaywrightGetByLabelOptions, PlaywrightGetByPlaceholderOptions, PlaywrightGetByAltTextOptions, PlaywrightGetByTitleOptions, PlaywrightGotoOptions, PlaywrightReloadOptions, PlaywrightGoBackOptions, PlaywrightGoForwardOptions, PlaywrightWaitForSelectorOptions, PlaywrightWaitForLoadStateOptions, PlaywrightWaitForURLOptions, PlaywrightPageScreenshotOptions, PlaywrightPDFOptions, PlaywrightNewContextOptions, PlaywrightNewPageOptions, PlaywrightBoundingBoxResult, SerializedLocatorChain } from '../../contracts/drivers/playwright.js';
5
- export interface PlaywrightMouse {
6
- click(x: number, y: number, options?: PlaywrightMouseClickOptions): Promise<void>;
7
- dblclick(x: number, y: number, options?: PlaywrightMouseClickOptions): Promise<void>;
8
- down(options?: {
9
- button?: 'left' | 'right' | 'middle';
10
- }): Promise<void>;
11
- up(options?: {
12
- button?: 'left' | 'right' | 'middle';
13
- }): Promise<void>;
14
- move(x: number, y: number, options?: PlaywrightMouseMoveOptions): Promise<void>;
15
- wheel(deltaX: number, deltaY: number): Promise<void>;
16
- }
17
- export interface PlaywrightKeyboard {
18
- down(key: string): Promise<void>;
19
- up(key: string): Promise<void>;
20
- press(key: string, options?: PlaywrightKeyboardOptions): Promise<void>;
21
- type(text: string, options?: PlaywrightKeyboardOptions): Promise<void>;
22
- insertText(text: string): Promise<void>;
23
- }
24
- export interface PlaywrightLocatorOptions {
25
- has?: PlaywrightLocator | SerializedLocatorChain;
26
- hasNot?: PlaywrightLocator | SerializedLocatorChain;
27
- hasText?: string | RegExp;
28
- hasNotText?: string | RegExp;
29
- }
30
- export interface PlaywrightLocatorFilterOptions {
31
- has?: PlaywrightLocator | SerializedLocatorChain;
32
- hasNot?: PlaywrightLocator | SerializedLocatorChain;
33
- hasText?: string | RegExp;
34
- hasNotText?: string | RegExp;
35
- }
36
- export interface PlaywrightLocator {
37
- locator(selector: string, options?: PlaywrightLocatorOptions): PlaywrightLocator;
38
- filter(options: PlaywrightLocatorFilterOptions): PlaywrightLocator;
39
- first(): PlaywrightLocator;
40
- last(): PlaywrightLocator;
41
- nth(index: number): PlaywrightLocator;
42
- and(locator: PlaywrightLocator): PlaywrightLocator;
43
- or(locator: PlaywrightLocator): PlaywrightLocator;
44
- getByRole(role: string, options?: PlaywrightGetByRoleOptions): PlaywrightLocator;
45
- getByText(text: string | RegExp, options?: PlaywrightGetByTextOptions): PlaywrightLocator;
46
- getByLabel(text: string | RegExp, options?: PlaywrightGetByLabelOptions): PlaywrightLocator;
47
- getByPlaceholder(text: string | RegExp, options?: PlaywrightGetByPlaceholderOptions): PlaywrightLocator;
48
- getByAltText(text: string | RegExp, options?: PlaywrightGetByAltTextOptions): PlaywrightLocator;
49
- getByTitle(text: string | RegExp, options?: PlaywrightGetByTitleOptions): PlaywrightLocator;
50
- getByTestId(testId: string): PlaywrightLocator;
51
- click(options?: PlaywrightClickOptions): Promise<void>;
52
- dblclick(options?: PlaywrightClickOptions): Promise<void>;
53
- fill(value: string, options?: PlaywrightFillOptions): Promise<void>;
54
- type(text: string, options?: PlaywrightTypeOptions): Promise<void>;
55
- press(key: string, options?: PlaywrightPressOptions): Promise<void>;
56
- check(options?: PlaywrightCheckOptions): Promise<void>;
57
- uncheck(options?: PlaywrightCheckOptions): Promise<void>;
58
- selectOption(values: string | string[] | {
59
- value?: string;
60
- label?: string;
61
- index?: number;
62
- }, options?: PlaywrightSelectOptionOptions): Promise<string[]>;
63
- hover(options?: PlaywrightHoverOptions): Promise<void>;
64
- focus(options?: PlaywrightFocusOptions): Promise<void>;
65
- clear(options?: PlaywrightFillOptions): Promise<void>;
66
- count(): Promise<number>;
67
- textContent(options?: PlaywrightTextContentOptions): Promise<string | null>;
68
- innerText(options?: PlaywrightInnerTextOptions): Promise<string>;
69
- innerHTML(options?: PlaywrightInnerHTMLOptions): Promise<string>;
70
- getAttribute(name: string, options?: PlaywrightGetAttributeOptions): Promise<string | null>;
71
- inputValue(options?: PlaywrightInputValueOptions): Promise<string>;
72
- isVisible(options?: PlaywrightIsOptions): Promise<boolean>;
73
- isHidden(options?: PlaywrightIsOptions): Promise<boolean>;
74
- isEnabled(options?: PlaywrightIsOptions): Promise<boolean>;
75
- isDisabled(options?: PlaywrightIsOptions): Promise<boolean>;
76
- isChecked(options?: PlaywrightIsOptions): Promise<boolean>;
77
- isEditable(options?: PlaywrightIsOptions): Promise<boolean>;
78
- waitFor(options?: PlaywrightWaitForOptions): Promise<void>;
79
- boundingBox(options?: {
80
- timeout?: number;
81
- }): Promise<PlaywrightBoundingBoxResult | null>;
82
- screenshot(options?: PlaywrightScreenshotOptions): Promise<Buffer>;
83
- evaluate<R, Arg = unknown>(pageFunction: (element: Element, arg: Arg) => R | Promise<R>, arg?: Arg): Promise<R>;
84
- evaluateAll<R, Arg = unknown>(pageFunction: (elements: Element[], arg: Arg) => R | Promise<R>, arg?: Arg): Promise<R>;
85
- }
86
- export interface PlaywrightPage {
87
- locator(selector: string, options?: PlaywrightLocatorOptions): PlaywrightLocator;
88
- getByRole(role: string, options?: PlaywrightGetByRoleOptions): PlaywrightLocator;
89
- getByText(text: string | RegExp, options?: PlaywrightGetByTextOptions): PlaywrightLocator;
90
- getByLabel(text: string | RegExp, options?: PlaywrightGetByLabelOptions): PlaywrightLocator;
91
- getByPlaceholder(text: string | RegExp, options?: PlaywrightGetByPlaceholderOptions): PlaywrightLocator;
92
- getByAltText(text: string | RegExp, options?: PlaywrightGetByAltTextOptions): PlaywrightLocator;
93
- getByTitle(text: string | RegExp, options?: PlaywrightGetByTitleOptions): PlaywrightLocator;
94
- getByTestId(testId: string): PlaywrightLocator;
95
- goto(url: string, options?: PlaywrightGotoOptions): Promise<void>;
96
- reload(options?: PlaywrightReloadOptions): Promise<void>;
97
- goBack(options?: PlaywrightGoBackOptions): Promise<void>;
98
- goForward(options?: PlaywrightGoForwardOptions): Promise<void>;
99
- url(): string;
100
- title(): Promise<string>;
101
- content(): Promise<string>;
102
- mouse: PlaywrightMouse;
103
- keyboard: PlaywrightKeyboard;
104
- click(selector: string, options?: PlaywrightClickOptions): Promise<void>;
105
- fill(selector: string, value: string, options?: PlaywrightFillOptions): Promise<void>;
106
- check(selector: string, options?: PlaywrightCheckOptions): Promise<void>;
107
- uncheck(selector: string, options?: PlaywrightCheckOptions): Promise<void>;
108
- isChecked(selector: string, options?: PlaywrightIsOptions): Promise<boolean>;
109
- selectOption(selector: string, values: string | string[] | {
110
- value?: string;
111
- label?: string;
112
- index?: number;
113
- }, options?: PlaywrightSelectOptionOptions): Promise<string[]>;
114
- waitForSelector(selector: string, options?: PlaywrightWaitForSelectorOptions): Promise<void>;
115
- waitForLoadState(state?: 'load' | 'domcontentloaded' | 'networkidle', options?: PlaywrightWaitForLoadStateOptions): Promise<void>;
116
- waitForTimeout(timeout: number): Promise<void>;
117
- waitForURL(url: string | RegExp | ((url: URL) => boolean), options?: PlaywrightWaitForURLOptions): Promise<void>;
118
- evaluate<R, Arg>(pageFunction: (arg: Arg) => R | Promise<R>, arg?: Arg): Promise<R>;
119
- evaluateHandle<R, Arg>(pageFunction: (arg: Arg) => R | Promise<R>, arg?: Arg): Promise<unknown>;
120
- screenshot(options?: PlaywrightPageScreenshotOptions): Promise<Buffer>;
121
- pdf(options?: PlaywrightPDFOptions): Promise<Buffer>;
122
- close(): Promise<void>;
123
- isClosed(): boolean;
124
- context(): PlaywrightBrowserContext | null;
125
- setViewportSize(viewportSize: {
126
- width: number;
127
- height: number;
128
- }): Promise<void>;
129
- viewportSize(): {
130
- width: number;
131
- height: number;
132
- } | null;
133
- bringToFront(): Promise<void>;
134
- }
135
- export interface PlaywrightBrowserContext {
136
- newPage(): Promise<PlaywrightPage>;
137
- pages(): PlaywrightPage[];
138
- close(): Promise<void>;
139
- browser(): PlaywrightBrowser | null;
140
- }
141
- export interface PlaywrightBrowser {
142
- newContext(options?: PlaywrightNewContextOptions): Promise<PlaywrightBrowserContext>;
143
- newPage(options?: PlaywrightNewPageOptions): Promise<PlaywrightPage>;
144
- contexts(): PlaywrightBrowserContext[];
145
- close(): Promise<void>;
146
- isConnected(): boolean;
147
- version(): Promise<string>;
148
- }
@@ -1,8 +0,0 @@
1
- // ============================================================================
2
- // Playwright Type Definitions
3
- // ============================================================================
4
- //
5
- // Driver option and payload types live in the SDK-local generated contract module.
6
- // This file contains interface definitions for runtime objects with methods.
7
- // ============================================================================
8
- export {};
@@ -1,50 +0,0 @@
1
- /**
2
- * Base error class for all Puppeteer errors.
3
- * @see https://pptr.dev/api/puppeteer.puppeteererror
4
- */
5
- export declare class PuppeteerError extends Error {
6
- constructor(message?: string);
7
- }
8
- /**
9
- * TimeoutError is thrown when an operation times out.
10
- *
11
- * @example
12
- * ```typescript
13
- * import { TimeoutError } from 'bctrl';
14
- *
15
- * try {
16
- * await page.waitForSelector('.element', { timeout: 5000 });
17
- * } catch (error) {
18
- * if (error instanceof TimeoutError) {
19
- * console.log('Element did not appear in time');
20
- * }
21
- * }
22
- * ```
23
- *
24
- * @see https://pptr.dev/api/puppeteer.timeouterror
25
- */
26
- export declare class TimeoutError extends PuppeteerError {
27
- constructor(message?: string);
28
- }
29
- /**
30
- * ProtocolError is thrown when a CDP protocol error occurs.
31
- * @see https://pptr.dev/api/puppeteer.protocolerror
32
- */
33
- export declare class ProtocolError extends PuppeteerError {
34
- /**
35
- * The original CDP error code, if available.
36
- */
37
- code?: number;
38
- /**
39
- * The original CDP error message, if available.
40
- */
41
- originalMessage?: string;
42
- constructor(message?: string, code?: number, originalMessage?: string);
43
- }
44
- /**
45
- * UnsupportedOperation is thrown when an operation is not supported.
46
- * @see https://pptr.dev/api/puppeteer.unsupportedoperation
47
- */
48
- export declare class UnsupportedOperation extends PuppeteerError {
49
- constructor(message?: string);
50
- }
@@ -1,71 +0,0 @@
1
- // ============================================================================
2
- // Puppeteer Error Classes
3
- // ============================================================================
4
- //
5
- // Custom error classes matching Puppeteer's error hierarchy.
6
- // @see https://pptr.dev/api/puppeteer.puppeteererror
7
- // ============================================================================
8
- /**
9
- * Base error class for all Puppeteer errors.
10
- * @see https://pptr.dev/api/puppeteer.puppeteererror
11
- */
12
- export class PuppeteerError extends Error {
13
- constructor(message) {
14
- super(message);
15
- this.name = 'PuppeteerError';
16
- }
17
- }
18
- /**
19
- * TimeoutError is thrown when an operation times out.
20
- *
21
- * @example
22
- * ```typescript
23
- * import { TimeoutError } from 'bctrl';
24
- *
25
- * try {
26
- * await page.waitForSelector('.element', { timeout: 5000 });
27
- * } catch (error) {
28
- * if (error instanceof TimeoutError) {
29
- * console.log('Element did not appear in time');
30
- * }
31
- * }
32
- * ```
33
- *
34
- * @see https://pptr.dev/api/puppeteer.timeouterror
35
- */
36
- export class TimeoutError extends PuppeteerError {
37
- constructor(message) {
38
- super(message ?? 'Timeout exceeded');
39
- this.name = 'TimeoutError';
40
- }
41
- }
42
- /**
43
- * ProtocolError is thrown when a CDP protocol error occurs.
44
- * @see https://pptr.dev/api/puppeteer.protocolerror
45
- */
46
- export class ProtocolError extends PuppeteerError {
47
- /**
48
- * The original CDP error code, if available.
49
- */
50
- code;
51
- /**
52
- * The original CDP error message, if available.
53
- */
54
- originalMessage;
55
- constructor(message, code, originalMessage) {
56
- super(message);
57
- this.name = 'ProtocolError';
58
- this.code = code;
59
- this.originalMessage = originalMessage;
60
- }
61
- }
62
- /**
63
- * UnsupportedOperation is thrown when an operation is not supported.
64
- * @see https://pptr.dev/api/puppeteer.unsupportedoperation
65
- */
66
- export class UnsupportedOperation extends PuppeteerError {
67
- constructor(message) {
68
- super(message ?? 'This operation is not supported');
69
- this.name = 'UnsupportedOperation';
70
- }
71
- }
@@ -1,145 +0,0 @@
1
- /**
2
- * Handler function type for event listeners.
3
- * @see https://pptr.dev/api/puppeteer.handler
4
- */
5
- export type Handler<T = unknown> = (event: T) => void;
6
- /**
7
- * The EventEmitter class that many Puppeteer classes extend.
8
- *
9
- * This provides a familiar event-driven interface for handling browser events
10
- * like page load, console messages, dialogs, network requests, etc.
11
- *
12
- * @example
13
- * ```ts
14
- * page.on('console', msg => {
15
- * console.log('Page logged:', msg.text());
16
- * });
17
- *
18
- * page.once('load', () => {
19
- * console.log('Page loaded!');
20
- * });
21
- * ```
22
- *
23
- * @see https://pptr.dev/api/puppeteer.eventemitter
24
- */
25
- export declare class PuppeteerEventEmitter<Events extends Record<string, unknown> = Record<string, unknown>> {
26
- /**
27
- * Map of event types to their listeners.
28
- * @internal
29
- */
30
- private _listeners;
31
- private notifyFirstListener;
32
- private notifyNoListeners;
33
- /**
34
- * Bind an event listener to fire when an event occurs.
35
- *
36
- * @param type - The event type to listen for.
37
- * @param handler - The function to call when the event occurs.
38
- * @returns `this` to allow for method chaining.
39
- *
40
- * @example
41
- * ```ts
42
- * page.on('request', request => {
43
- * console.log('Request:', request.url());
44
- * });
45
- * ```
46
- *
47
- * @see https://pptr.dev/api/puppeteer.eventemitter.on
48
- */
49
- on<Key extends keyof Events>(type: Key, handler: Handler<Events[Key]>): this;
50
- /**
51
- * Remove an event listener.
52
- *
53
- * If `handler` is provided, only that specific listener is removed.
54
- * If `handler` is not provided, all listeners for that event type are removed.
55
- *
56
- * @param type - The event type.
57
- * @param handler - Optional specific handler to remove.
58
- * @returns `this` to allow for method chaining.
59
- *
60
- * @example
61
- * ```ts
62
- * const handler = msg => console.log(msg);
63
- * page.on('console', handler);
64
- * // Later...
65
- * page.off('console', handler);
66
- * ```
67
- *
68
- * @see https://pptr.dev/api/puppeteer.eventemitter.off
69
- */
70
- off<Key extends keyof Events>(type: Key, handler?: Handler<Events[Key]>): this;
71
- /**
72
- * Bind an event listener that will fire only once.
73
- *
74
- * After the handler is called once, it is automatically removed.
75
- *
76
- * @param type - The event type to listen for.
77
- * @param handler - The function to call when the event occurs.
78
- * @returns `this` to allow for method chaining.
79
- *
80
- * @example
81
- * ```ts
82
- * page.once('load', () => {
83
- * console.log('Page loaded for the first time!');
84
- * });
85
- * ```
86
- *
87
- * @see https://pptr.dev/api/puppeteer.eventemitter.once
88
- */
89
- once<Key extends keyof Events>(type: Key, handler: Handler<Events[Key]>): this;
90
- /**
91
- * Emit an event, calling all registered handlers.
92
- *
93
- * This method is typically used internally by Puppeteer classes to dispatch
94
- * events. Users rarely need to call this directly.
95
- *
96
- * @param type - The event type to emit.
97
- * @param event - The event data to pass to handlers.
98
- * @returns `true` if there were listeners for this event, `false` otherwise.
99
- *
100
- * @example
101
- * ```ts
102
- * // Internal usage example
103
- * this.emit('console', consoleMessage);
104
- * ```
105
- *
106
- * @see https://pptr.dev/api/puppeteer.eventemitter.emit
107
- */
108
- emit<Key extends keyof Events>(type: Key, event: Events[Key]): boolean;
109
- /**
110
- * Get the count of listeners for a specific event type.
111
- *
112
- * @param type - The event type.
113
- * @returns The number of registered listeners.
114
- *
115
- * @example
116
- * ```ts
117
- * const count = page.listenerCount('request');
118
- * console.log(`There are ${count} request listeners`);
119
- * ```
120
- *
121
- * @see https://pptr.dev/api/puppeteer.eventemitter.listenercount
122
- */
123
- listenerCount<Key extends keyof Events>(type: Key): number;
124
- /**
125
- * Remove all listeners.
126
- *
127
- * If `type` is provided, only listeners for that event type are removed.
128
- * If `type` is not provided, all listeners for all event types are removed.
129
- *
130
- * @param type - Optional event type to remove listeners for.
131
- * @returns `this` to allow for method chaining.
132
- *
133
- * @example
134
- * ```ts
135
- * // Remove all 'request' listeners
136
- * page.removeAllListeners('request');
137
- *
138
- * // Remove ALL listeners
139
- * page.removeAllListeners();
140
- * ```
141
- *
142
- * @see https://pptr.dev/api/puppeteer.eventemitter.removealllisteners
143
- */
144
- removeAllListeners<Key extends keyof Events>(type?: Key): this;
145
- }
@@ -1,259 +0,0 @@
1
- // ============================================================================
2
- // PuppeteerEventEmitter - EventEmitter base class for Puppeteer SDK
3
- // ============================================================================
4
- //
5
- // This class provides an EventEmitter implementation that matches the real
6
- // Puppeteer EventEmitter API 1:1. It supports local event handling on the SDK
7
- // side and can be extended by Page, Browser, and other classes.
8
- //
9
- // @see https://pptr.dev/api/puppeteer.eventemitter
10
- // ============================================================================
11
- import { getRemoteListenerBinding } from '../../base/event-binding.js';
12
- /**
13
- * The EventEmitter class that many Puppeteer classes extend.
14
- *
15
- * This provides a familiar event-driven interface for handling browser events
16
- * like page load, console messages, dialogs, network requests, etc.
17
- *
18
- * @example
19
- * ```ts
20
- * page.on('console', msg => {
21
- * console.log('Page logged:', msg.text());
22
- * });
23
- *
24
- * page.once('load', () => {
25
- * console.log('Page loaded!');
26
- * });
27
- * ```
28
- *
29
- * @see https://pptr.dev/api/puppeteer.eventemitter
30
- */
31
- export class PuppeteerEventEmitter {
32
- /**
33
- * Map of event types to their listeners.
34
- * @internal
35
- */
36
- _listeners = new Map();
37
- notifyFirstListener(event) {
38
- const binding = getRemoteListenerBinding(this);
39
- if (!binding)
40
- return;
41
- binding.onFirstListener(String(event));
42
- }
43
- notifyNoListeners(event) {
44
- const binding = getRemoteListenerBinding(this);
45
- if (!binding)
46
- return;
47
- binding.onNoListeners(String(event));
48
- }
49
- /**
50
- * Bind an event listener to fire when an event occurs.
51
- *
52
- * @param type - The event type to listen for.
53
- * @param handler - The function to call when the event occurs.
54
- * @returns `this` to allow for method chaining.
55
- *
56
- * @example
57
- * ```ts
58
- * page.on('request', request => {
59
- * console.log('Request:', request.url());
60
- * });
61
- * ```
62
- *
63
- * @see https://pptr.dev/api/puppeteer.eventemitter.on
64
- */
65
- on(type, handler) {
66
- const listeners = this._listeners.get(type) ?? [];
67
- const hadListeners = listeners.length > 0;
68
- listeners.push({ handler: handler, once: false });
69
- this._listeners.set(type, listeners);
70
- if (!hadListeners) {
71
- this.notifyFirstListener(type);
72
- }
73
- return this;
74
- }
75
- /**
76
- * Remove an event listener.
77
- *
78
- * If `handler` is provided, only that specific listener is removed.
79
- * If `handler` is not provided, all listeners for that event type are removed.
80
- *
81
- * @param type - The event type.
82
- * @param handler - Optional specific handler to remove.
83
- * @returns `this` to allow for method chaining.
84
- *
85
- * @example
86
- * ```ts
87
- * const handler = msg => console.log(msg);
88
- * page.on('console', handler);
89
- * // Later...
90
- * page.off('console', handler);
91
- * ```
92
- *
93
- * @see https://pptr.dev/api/puppeteer.eventemitter.off
94
- */
95
- off(type, handler) {
96
- if (!handler) {
97
- // Remove all listeners for this type
98
- const hadListeners = (this._listeners.get(type)?.length ?? 0) > 0;
99
- this._listeners.delete(type);
100
- if (hadListeners) {
101
- this.notifyNoListeners(type);
102
- }
103
- return this;
104
- }
105
- const listeners = this._listeners.get(type);
106
- if (!listeners) {
107
- return this;
108
- }
109
- const filtered = listeners.filter((entry) => entry.handler !== handler);
110
- if (filtered.length === 0) {
111
- this._listeners.delete(type);
112
- if (listeners.length > 0) {
113
- this.notifyNoListeners(type);
114
- }
115
- }
116
- else {
117
- this._listeners.set(type, filtered);
118
- }
119
- return this;
120
- }
121
- /**
122
- * Bind an event listener that will fire only once.
123
- *
124
- * After the handler is called once, it is automatically removed.
125
- *
126
- * @param type - The event type to listen for.
127
- * @param handler - The function to call when the event occurs.
128
- * @returns `this` to allow for method chaining.
129
- *
130
- * @example
131
- * ```ts
132
- * page.once('load', () => {
133
- * console.log('Page loaded for the first time!');
134
- * });
135
- * ```
136
- *
137
- * @see https://pptr.dev/api/puppeteer.eventemitter.once
138
- */
139
- once(type, handler) {
140
- const listeners = this._listeners.get(type) ?? [];
141
- const hadListeners = listeners.length > 0;
142
- listeners.push({ handler: handler, once: true });
143
- this._listeners.set(type, listeners);
144
- if (!hadListeners) {
145
- this.notifyFirstListener(type);
146
- }
147
- return this;
148
- }
149
- /**
150
- * Emit an event, calling all registered handlers.
151
- *
152
- * This method is typically used internally by Puppeteer classes to dispatch
153
- * events. Users rarely need to call this directly.
154
- *
155
- * @param type - The event type to emit.
156
- * @param event - The event data to pass to handlers.
157
- * @returns `true` if there were listeners for this event, `false` otherwise.
158
- *
159
- * @example
160
- * ```ts
161
- * // Internal usage example
162
- * this.emit('console', consoleMessage);
163
- * ```
164
- *
165
- * @see https://pptr.dev/api/puppeteer.eventemitter.emit
166
- */
167
- emit(type, event) {
168
- const listeners = this._listeners.get(type);
169
- if (!listeners || listeners.length === 0) {
170
- return false;
171
- }
172
- // Create a copy to avoid issues if handlers modify the listener list
173
- const listenersCopy = [...listeners];
174
- const toRemove = [];
175
- for (const entry of listenersCopy) {
176
- try {
177
- entry.handler(event);
178
- }
179
- catch (error) {
180
- // Log but don't throw to allow other handlers to run
181
- console.error(`Error in event handler for "${String(type)}":`, error);
182
- }
183
- if (entry.once) {
184
- toRemove.push(entry);
185
- }
186
- }
187
- // Remove once listeners
188
- if (toRemove.length > 0) {
189
- const remaining = listeners.filter((entry) => !toRemove.includes(entry));
190
- if (remaining.length === 0) {
191
- this._listeners.delete(type);
192
- if (listeners.length > 0) {
193
- this.notifyNoListeners(type);
194
- }
195
- }
196
- else {
197
- this._listeners.set(type, remaining);
198
- }
199
- }
200
- return true;
201
- }
202
- /**
203
- * Get the count of listeners for a specific event type.
204
- *
205
- * @param type - The event type.
206
- * @returns The number of registered listeners.
207
- *
208
- * @example
209
- * ```ts
210
- * const count = page.listenerCount('request');
211
- * console.log(`There are ${count} request listeners`);
212
- * ```
213
- *
214
- * @see https://pptr.dev/api/puppeteer.eventemitter.listenercount
215
- */
216
- listenerCount(type) {
217
- const listeners = this._listeners.get(type);
218
- return listeners?.length ?? 0;
219
- }
220
- /**
221
- * Remove all listeners.
222
- *
223
- * If `type` is provided, only listeners for that event type are removed.
224
- * If `type` is not provided, all listeners for all event types are removed.
225
- *
226
- * @param type - Optional event type to remove listeners for.
227
- * @returns `this` to allow for method chaining.
228
- *
229
- * @example
230
- * ```ts
231
- * // Remove all 'request' listeners
232
- * page.removeAllListeners('request');
233
- *
234
- * // Remove ALL listeners
235
- * page.removeAllListeners();
236
- * ```
237
- *
238
- * @see https://pptr.dev/api/puppeteer.eventemitter.removealllisteners
239
- */
240
- removeAllListeners(type) {
241
- if (type === undefined) {
242
- const existingEvents = Array.from(this._listeners.entries())
243
- .filter(([, listeners]) => listeners.length > 0)
244
- .map(([eventName]) => eventName);
245
- this._listeners.clear();
246
- for (const eventName of existingEvents) {
247
- this.notifyNoListeners(eventName);
248
- }
249
- }
250
- else {
251
- const hadListeners = (this._listeners.get(type)?.length ?? 0) > 0;
252
- this._listeners.delete(type);
253
- if (hadListeners) {
254
- this.notifyNoListeners(type);
255
- }
256
- }
257
- return this;
258
- }
259
- }