@hanivanrizky/nestjs-browser-action 0.22.0 → 0.24.0

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 (35) hide show
  1. package/README.md +57 -65
  2. package/dist/browser-action.module.d.ts +4 -0
  3. package/dist/browser-action.module.js +66 -10
  4. package/dist/browser-action.module.js.map +1 -1
  5. package/dist/common/tokens.d.ts +2 -0
  6. package/dist/common/tokens.js +11 -0
  7. package/dist/common/tokens.js.map +1 -1
  8. package/dist/constants/browser-action.constants.d.ts +1 -0
  9. package/dist/constants/browser-action.constants.js +2 -1
  10. package/dist/constants/browser-action.constants.js.map +1 -1
  11. package/dist/examples/workflow-example.js +55 -0
  12. package/dist/examples/workflow-example.js.map +1 -1
  13. package/dist/interfaces/browser-action-options.d.ts +5 -0
  14. package/dist/interfaces/workflow-options.d.ts +4 -2
  15. package/dist/operators/workflow.operator.d.ts +3 -1
  16. package/dist/operators/workflow.operator.js +86 -1
  17. package/dist/operators/workflow.operator.js.map +1 -1
  18. package/dist/services/browser-action.service.js +8 -26
  19. package/dist/services/browser-action.service.js.map +1 -1
  20. package/dist/services/browser-health-check.d.ts +11 -0
  21. package/dist/services/browser-health-check.js +30 -0
  22. package/dist/services/browser-health-check.js.map +1 -0
  23. package/dist/services/browser-manager.service.js.map +1 -1
  24. package/dist/services/browser-pool.service.js.map +1 -1
  25. package/dist/services/named-browser-shutdown.d.ts +3 -1
  26. package/dist/services/named-browser-shutdown.js +6 -2
  27. package/dist/services/named-browser-shutdown.js.map +1 -1
  28. package/dist/services/page.service.js.map +1 -1
  29. package/dist/tsconfig.build.tsbuildinfo +1 -1
  30. package/dist/utils/pattern-converter.util.d.ts +11 -0
  31. package/dist/utils/pattern-converter.util.js +32 -0
  32. package/dist/utils/pattern-converter.util.js.map +1 -0
  33. package/dist/validators/workflow.validator.js +1 -0
  34. package/dist/validators/workflow.validator.js.map +1 -1
  35. package/package.json +1 -1
package/README.md CHANGED
@@ -10,7 +10,7 @@
10
10
  <a href="https://www.npmjs.com/package/@hanivanrizky/nestjs-browser-action" target="_blank"><img src="https://img.shields.io/npm/v/@hanivanrizky/nestjs-browser-action.svg" alt="NPM Version" /></a>
11
11
  <a href="https://www.npmjs.com/package/@hanivanrizky/nestjs-browser-action" target="_blank"><img src="https://img.shields.io/npm/l/@hanivanrizky/nestjs-browser-action.svg" alt="Package License" /></a>
12
12
  <a href="https://www.npmjs.com/package/@hanivanrizky/nestjs-browser-action" target="_blank"><img src="https://img.shields.io/npm/dm/@hanivanrizky/nestjs-browser-action.svg" alt="NPM Downloads" /></a>
13
- <img src="https://img.shields.io/badge/tests-463%20passed-brightgreen.svg" alt="Tests: 463 passed" />
13
+ <img src="https://img.shields.io/badge/tests-499%20passed-brightgreen.svg" alt="Tests: 499 passed" />
14
14
  </p>
15
15
 
16
16
  > **⚠️ Status: Experimental** — personal use only; API subject to change.
@@ -54,51 +54,31 @@ npm install @hanivanrizky/nestjs-browser-action
54
54
 
55
55
  ## Quick Start
56
56
 
57
- ### Register a Named Browser + Pages
57
+ Two ways to use this library — pick whichever fits your workload. Both are
58
+ fully supported; neither is deprecated.
58
59
 
59
- ```typescript
60
- import { Module } from '@nestjs/common';
61
- import { BrowserActionModule } from '@hanivanrizky/nestjs-browser-action';
62
-
63
- @Module({
64
- imports: [
65
- BrowserActionModule.forRoot({ name: 'stealth', cloak: { headless: true } }),
66
- BrowserActionModule.forFeature(['products'], 'stealth'),
67
- ],
68
- })
69
- export class AppModule {}
70
- ```
60
+ - **[Named Browser + Pages](#option-a-named-browser--pages)** — persistent
61
+ browser/page pairs. Cookies, localStorage, and navigation state carry over
62
+ between calls. Best for login sessions and authenticated crawls.
63
+ - **[Browser Pool](#option-b-browser-pool)** — a pool of browsers, each
64
+ `scrape()` call opens and closes a fresh page. Best for one-shot,
65
+ stateless scraping.
71
66
 
72
- **With cookies and async config:**
67
+ ### Option A: Named Browser + Pages
73
68
 
74
69
  ```typescript
75
70
  import { Module } from '@nestjs/common';
76
71
  import { BrowserActionModule } from '@hanivanrizky/nestjs-browser-action';
77
- import { ConfigModule, ConfigService } from '@nestjs/config';
78
72
 
79
73
  @Module({
80
74
  imports: [
81
- ConfigModule.forRoot(),
82
- BrowserActionModule.forRootAsync({
83
- name: 'stealth',
84
- imports: [ConfigModule],
85
- useFactory: (configService: ConfigService) => ({
86
- cloak: {
87
- proxy: { server: configService.get<string>('PROXY_URL', '') },
88
- },
89
- cookies: { enabled: true, cookiesDir: './cookies' },
90
- logLevel: configService.get<string>('LOG_LEVEL', 'log'),
91
- }),
92
- inject: [ConfigService],
93
- }),
75
+ BrowserActionModule.forRoot({ name: 'stealth', cloak: { headless: true } }),
94
76
  BrowserActionModule.forFeature(['products'], 'stealth'),
95
77
  ],
96
78
  })
97
79
  export class AppModule {}
98
80
  ```
99
81
 
100
- ### Inject the Page Controller
101
-
102
82
  ```typescript
103
83
  import { Injectable } from '@nestjs/common';
104
84
  import {
@@ -131,13 +111,6 @@ export class YourService {
131
111
  patterns: ['h2.woocommerce-loop-product__title'],
132
112
  pipes: { trim: true },
133
113
  },
134
- {
135
- key: 'price',
136
- patternType: 'css',
137
- returnType: 'text',
138
- patterns: ['.price'],
139
- pipes: { trim: true },
140
- },
141
114
  ],
142
115
  });
143
116
 
@@ -146,49 +119,68 @@ export class YourService {
146
119
  }
147
120
  ```
148
121
 
149
- > Pool mode (`forRoot()`/`forRootAsync()` without `name`, plain
150
- > `BrowserActionService`) still works but is deprecated — see
151
- > [Named Browsers & Pages (v0.22+)](#named-browsers--pages-v022) for full
152
- > details, decorators, and the pool → controller migration table.
122
+ Async config, cookies, and the `maxPages` page-count guard are covered in
123
+ [Named Browsers & Pages](docs/features/named-browsers.md), along with
124
+ decorators, auto-recreate semantics, and a pool controller migration table.
153
125
 
154
- ## Named Browsers & Pages (v0.22+)
126
+ ### Option B: Browser Pool
155
127
 
156
- Persistent, named browser + page pairs — an alternative to pool mode for
157
- workloads that want cookies/localStorage/navigation state to carry over
158
- between calls (login sessions, authenticated crawls) instead of a fresh
159
- page opened and closed per scrape. Full details, decorators, auto-recreate
160
- semantics, and a pool → controller migration table live in
161
- [Named Browsers & Pages](docs/features/named-browsers.md).
128
+ A pool of browsers; each `scrape()`/`scrapeAll()`/`evaluateWebsite()` call
129
+ opens a fresh page and closes it when done. No persistent navigation state
130
+ between calls.
162
131
 
163
132
  ```typescript
164
- import { Module, Injectable } from '@nestjs/common';
165
- import {
166
- BrowserActionModule,
167
- InjectPageController,
168
- PageController,
169
- } from '@hanivanrizky/nestjs-browser-action';
133
+ import { Module } from '@nestjs/common';
134
+ import { BrowserActionModule } from '@hanivanrizky/nestjs-browser-action';
170
135
 
171
136
  @Module({
172
137
  imports: [
173
- BrowserActionModule.forRoot({ name: 'stealth', cloak: { headless: true } }),
174
- BrowserActionModule.forFeature(['login', 'search'], 'stealth'),
138
+ BrowserActionModule.forRoot({ pool: { min: 2, max: 10 } }),
175
139
  ],
176
140
  })
177
141
  export class AppModule {}
142
+ ```
143
+
144
+ ```typescript
145
+ import { Injectable } from '@nestjs/common';
146
+ import { BrowserActionService } from '@hanivanrizky/nestjs-browser-action';
178
147
 
179
148
  @Injectable()
180
- export class MyService {
181
- constructor(
182
- @InjectPageController('login', 'stealth')
183
- private readonly login: PageController,
184
- ) {}
149
+ export class YourService {
150
+ constructor(private readonly browserAction: BrowserActionService) {}
151
+
152
+ async scrapeProducts() {
153
+ const result = await this.browserAction.evaluateWebsite({
154
+ url: 'https://www.scrapingcourse.com/ecommerce/',
155
+ patterns: [
156
+ {
157
+ key: 'container',
158
+ patternType: 'css',
159
+ returnType: 'text',
160
+ patterns: ['.product'],
161
+ meta: { isContainer: true },
162
+ },
163
+ {
164
+ key: 'name',
165
+ patternType: 'css',
166
+ returnType: 'text',
167
+ patterns: ['h2.woocommerce-loop-product__title'],
168
+ pipes: { trim: true },
169
+ },
170
+ ],
171
+ });
185
172
 
186
- async run() {
187
- return this.login.scrape('https://example.com', { title: 'h1' });
173
+ return result.results;
188
174
  }
189
175
  }
190
176
  ```
191
177
 
178
+ > `BrowserActionModule.forRoot()`/`forRootAsync()` without a `name` gives
179
+ > you pool mode; pass `name` for named-browser mode (Option A). Async config
180
+ > and cookies work the same way on both — see the
181
+ > [migration table](docs/features/named-browsers.md#migration-pool-method--controller-method)
182
+ > if you're moving code between the two.
183
+
192
184
  ## Documentation
193
185
 
194
186
  ### Features
@@ -366,7 +358,7 @@ pnpm format
366
358
 
367
359
  ## Acknowledgments
368
360
 
369
- The [Named Browsers & Pages](#named-browsers--pages-v022) DI pattern
361
+ The [Named Browsers & Pages](#option-a-named-browser--pages) DI pattern
370
362
  (`forRoot({ name })` + `forFeature(pages, name)` +
371
363
  `@InjectBrowser`/`@InjectPage`/`@InjectPageController`) was inspired by
372
364
  [oblakstudio/nestjs-puppeteer](https://github.com/oblakstudio/nestjs-puppeteer).
@@ -1,5 +1,8 @@
1
1
  import { DynamicModule } from '@nestjs/common';
2
+ import type { Browser } from 'puppeteer-core';
2
3
  import { BrowserActionModuleOptions, BrowserActionAsyncModuleOptions } from './browser-action.module-definition';
4
+ declare function launchNamedBrowser(options: BrowserActionModuleOptions): Promise<Browser>;
5
+ export declare const __test__launchNamedBrowser: typeof launchNamedBrowser;
3
6
  export declare class BrowserActionModule {
4
7
  static register(options: BrowserActionModuleOptions): DynamicModule;
5
8
  static forRoot(options: BrowserActionModuleOptions): DynamicModule;
@@ -9,3 +12,4 @@ export declare class BrowserActionModule {
9
12
  static forFeature(pages: string[], browserName?: string): DynamicModule;
10
13
  onModuleDestroy(): Promise<void>;
11
14
  }
15
+ export {};
@@ -7,7 +7,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  };
8
8
  var BrowserActionModule_1;
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.BrowserActionModule = void 0;
10
+ exports.BrowserActionModule = exports.__test__launchNamedBrowser = void 0;
11
11
  const common_1 = require("@nestjs/common");
12
12
  const browser_pool_service_1 = require("./services/browser-pool.service");
13
13
  const browser_manager_service_1 = require("./services/browser-manager.service");
@@ -17,6 +17,7 @@ const cookie_service_1 = require("./services/cookie.service");
17
17
  const cleansing_service_1 = require("./services/cleansing.service");
18
18
  const named_browser_shutdown_1 = require("./services/named-browser-shutdown");
19
19
  const browser_holder_1 = require("./services/browser-holder");
20
+ const browser_health_check_1 = require("./services/browser-health-check");
20
21
  const constants_1 = require("./constants");
21
22
  const tokens_1 = require("./common/tokens");
22
23
  const browser_launcher_1 = require("./utils/browser-launcher");
@@ -46,10 +47,21 @@ function resolveLogLevel(logLevel) {
46
47
  }
47
48
  async function launchNamedBrowser(options) {
48
49
  const logger = new logger_util_1.LoggerWithLevel('BrowserActionModule', resolveLogLevel(options.logLevel));
49
- return options.remote
50
- ? await (0, browser_launcher_1.connectRemoteBrowser)(options.remote, logger)
51
- : await (0, browser_launcher_1.launchLocalBrowser)(options, undefined, logger);
50
+ if (options.remote) {
51
+ return await (0, browser_launcher_1.connectRemoteBrowser)(options.remote, logger);
52
+ }
53
+ const browser = await (0, browser_launcher_1.launchLocalBrowser)(options, undefined, logger);
54
+ logger.warn('Call app.enableShutdownHooks() in main.ts to ensure graceful browser cleanup on Ctrl+C');
55
+ const childProcess = browser.process();
56
+ if (childProcess) {
57
+ process.once('exit', () => {
58
+ if (!childProcess.killed)
59
+ childProcess.kill();
60
+ });
61
+ }
62
+ return browser;
52
63
  }
64
+ exports.__test__launchNamedBrowser = launchNamedBrowser;
53
65
  function namedBrowserHolderProvider(name) {
54
66
  return {
55
67
  provide: (0, tokens_1.getBrowserHolderToken)(name),
@@ -57,6 +69,23 @@ function namedBrowserHolderProvider(name) {
57
69
  inject: [(0, tokens_1.getBrowserToken)(name)],
58
70
  };
59
71
  }
72
+ function getHealthCheckToken(name) {
73
+ return `${(0, tokens_1.getBrowserToken)(name)}HealthCheck`;
74
+ }
75
+ function namedBrowserHealthCheckProvider(name, optionsToken) {
76
+ return {
77
+ provide: getHealthCheckToken(name),
78
+ useFactory: (holder, options) => {
79
+ if (!options.healthCheck)
80
+ return undefined;
81
+ const logger = new logger_util_1.LoggerWithLevel('BrowserActionModule', resolveLogLevel(options.logLevel));
82
+ const check = new browser_health_check_1.BrowserHealthCheck(name, holder, logger);
83
+ check.start(options.healthCheck.intervalMs);
84
+ return check;
85
+ },
86
+ inject: [(0, tokens_1.getBrowserHolderToken)(name), optionsToken],
87
+ };
88
+ }
60
89
  let BrowserActionModule = BrowserActionModule_1 = class BrowserActionModule {
61
90
  static register(options) {
62
91
  const optionsProvider = {
@@ -96,10 +125,12 @@ let BrowserActionModule = BrowserActionModule_1 = class BrowserActionModule {
96
125
  useFactory: () => launchNamedBrowser(options),
97
126
  };
98
127
  const holderProvider = namedBrowserHolderProvider(name);
128
+ const optionsToken = (0, tokens_1.getNamedOptionsToken)(name);
129
+ const healthCheckProvider = namedBrowserHealthCheckProvider(name, optionsToken);
99
130
  const shutdownProvider = {
100
131
  provide: `${(0, tokens_1.getBrowserToken)(name)}Shutdown`,
101
- useFactory: (holder) => new named_browser_shutdown_1.NamedBrowserShutdown(name, holder, !!options.remote),
102
- inject: [(0, tokens_1.getBrowserHolderToken)(name)],
132
+ useFactory: (holder, healthCheck) => new named_browser_shutdown_1.NamedBrowserShutdown(name, holder, !!options.remote, healthCheck),
133
+ inject: [(0, tokens_1.getBrowserHolderToken)(name), getHealthCheckToken(name)],
103
134
  };
104
135
  return {
105
136
  module: BrowserActionModule_1,
@@ -108,6 +139,7 @@ let BrowserActionModule = BrowserActionModule_1 = class BrowserActionModule {
108
139
  optionsProvider,
109
140
  browserProvider,
110
141
  holderProvider,
142
+ healthCheckProvider,
111
143
  shutdownProvider,
112
144
  ],
113
145
  exports: [browserProvider, holderProvider, optionsProvider],
@@ -150,10 +182,15 @@ let BrowserActionModule = BrowserActionModule_1 = class BrowserActionModule {
150
182
  inject: [optionsToken],
151
183
  };
152
184
  const holderProvider = namedBrowserHolderProvider(name);
185
+ const healthCheckProvider = namedBrowserHealthCheckProvider(name, optionsToken);
153
186
  const shutdownProvider = {
154
187
  provide: `${(0, tokens_1.getBrowserToken)(name)}Shutdown`,
155
- useFactory: (holder, resolved) => new named_browser_shutdown_1.NamedBrowserShutdown(name, holder, !!resolved.remote),
156
- inject: [(0, tokens_1.getBrowserHolderToken)(name), optionsToken],
188
+ useFactory: (holder, resolved, healthCheck) => new named_browser_shutdown_1.NamedBrowserShutdown(name, holder, !!resolved.remote, healthCheck),
189
+ inject: [
190
+ (0, tokens_1.getBrowserHolderToken)(name),
191
+ optionsToken,
192
+ getHealthCheckToken(name),
193
+ ],
157
194
  };
158
195
  return {
159
196
  module: BrowserActionModule_1,
@@ -163,6 +200,7 @@ let BrowserActionModule = BrowserActionModule_1 = class BrowserActionModule {
163
200
  optionsProvider,
164
201
  browserProvider,
165
202
  holderProvider,
203
+ healthCheckProvider,
166
204
  shutdownProvider,
167
205
  ],
168
206
  exports: [browserProvider, holderProvider, optionsProvider],
@@ -185,8 +223,8 @@ let BrowserActionModule = BrowserActionModule_1 = class BrowserActionModule {
185
223
  const container = new operators_1.ContainerOperator(extraction, pipeEngine, logger);
186
224
  const cleansingService = new cleansing_service_1.CleansingService(options);
187
225
  const cookieService = new cookie_service_1.CookieService(options);
188
- const workflow = new operators_1.WorkflowOperator(extraction, container, pipeEngine, cleansingService, logger, () => cookieService);
189
226
  const pagination = new operators_1.PaginationOperator(logger);
227
+ const workflow = new operators_1.WorkflowOperator(extraction, container, pipeEngine, cleansingService, logger, () => cookieService, pagination);
190
228
  const capture = new operators_1.CaptureOperator(logger);
191
229
  const session = new page_session_1.PageSession(browserName, holder, page, options, logger);
192
230
  return new page_controller_1.PageController(session, extraction, container, workflow, pagination, capture, logger, debugLen);
@@ -199,7 +237,25 @@ let BrowserActionModule = BrowserActionModule_1 = class BrowserActionModule {
199
237
  };
200
238
  return [pageProvider, controllerProvider];
201
239
  });
202
- return { module: BrowserActionModule_1, providers, exports: providers };
240
+ const pageCountGuardProvider = {
241
+ provide: `${(0, tokens_1.getBrowserToken)(browserName)}PageCountGuard_${pages.join(',')}`,
242
+ useFactory: (options) => {
243
+ const total = (0, tokens_1.registerPages)(browserName, pages.length);
244
+ const max = options.maxPages ?? browser_action_constants_1.DEFAULT_MAX_PAGES_WARNING;
245
+ if (total > max) {
246
+ const logger = new logger_util_1.LoggerWithLevel('BrowserActionModule', resolveLogLevel(options.logLevel));
247
+ logger.warn(`Named browser "${browserName}" has ${total} registered pages, ` +
248
+ `exceeding the configured maxPages (${max}). This is a sanity ` +
249
+ `warning, not an enforced limit — review your forFeature() calls.`);
250
+ }
251
+ },
252
+ inject: [(0, tokens_1.getNamedOptionsToken)(browserName)],
253
+ };
254
+ return {
255
+ module: BrowserActionModule_1,
256
+ providers: [...providers, pageCountGuardProvider],
257
+ exports: providers,
258
+ };
203
259
  }
204
260
  async onModuleDestroy() {
205
261
  }
@@ -1 +1 @@
1
- {"version":3,"file":"browser-action.module.js","sourceRoot":"","sources":["../src/browser-action.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAMwB;AAMxB,0EAAqE;AACrE,gFAA2E;AAC3E,0DAAsD;AACtD,8EAAyE;AACzE,8DAA0D;AAC1D,oEAAgE;AAChE,8EAAyE;AACzE,8DAA0D;AAC1D,2CAAqD;AACrD,4CAOyB;AACzB,+DAIkC;AAClC,qDAAsD;AACtD,qDAAiD;AACjD,2CAMqB;AACrB,0DAAsD;AACtD,gEAA4D;AAE5D,mFAAoF;AAEpF,MAAM,kBAAkB,GAAG;IACzB,yCAAkB;IAClB,+CAAqB;IACrB,0BAAW;IACX,6CAAoB;IACpB,8BAAa;IACb,oCAAgB;CACR,CAAC;AAEX,MAAM,iBAAiB,GAAG;IACxB,+CAAqB;IACrB,0BAAW;IACX,6CAAoB;IACpB,8BAAa;IACb,oCAAgB;CACR,CAAC;AAEX,SAAS,eAAe,CACtB,QAA2C;IAE3C,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC;AACrE,CAAC;AAED,KAAK,UAAU,kBAAkB,CAC/B,OAAmC;IAEnC,MAAM,MAAM,GAAG,IAAI,6BAAe,CAChC,qBAAqB,EACrB,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,CAClC,CAAC;IACF,OAAO,OAAO,CAAC,MAAM;QACnB,CAAC,CAAC,MAAM,IAAA,uCAAoB,EAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC;QACpD,CAAC,CAAC,MAAM,IAAA,qCAAkB,EAAC,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;AAC3D,CAAC;AAED,SAAS,0BAA0B,CAAC,IAAY;IAC9C,OAAO;QACL,OAAO,EAAE,IAAA,8BAAqB,EAAC,IAAI,CAAC;QACpC,UAAU,EAAE,CAAC,OAAgB,EAAiB,EAAE,CAAC,IAAI,8BAAa,CAAC,OAAO,CAAC;QAC3E,MAAM,EAAE,CAAC,IAAA,wBAAe,EAAC,IAAI,CAAC,CAAC;KAChC,CAAC;AACJ,CAAC;AAIM,IAAM,mBAAmB,2BAAzB,MAAM,mBAAmB;IAI9B,MAAM,CAAC,QAAQ,CAAC,OAAmC;QACjD,MAAM,eAAe,GAAa;YAChC,OAAO,EAAE,kCAAsB;YAC/B,QAAQ,EAAE,OAAO;SAClB,CAAC;QAEF,OAAO;YACL,MAAM,EAAE,qBAAmB;YAC3B,SAAS,EAAE,CAAC,eAAe,CAAC;YAC5B,OAAO,EAAE,EAAE;SACZ,CAAC;IACJ,CAAC;IAMD,MAAM,CAAC,OAAO,CAAC,OAAmC;QAChD,IAAI,OAAO,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAEvD,MAAM,eAAe,GAAa;YAChC,OAAO,EAAE,kCAAsB;YAC/B,QAAQ,EAAE,OAAO;SAClB,CAAC;QAEF,OAAO;YACL,MAAM,EAAE,qBAAmB;YAC3B,SAAS,EAAE,CAAC,eAAe,EAAE,GAAG,kBAAkB,CAAC;YACnD,OAAO,EAAE,CAAC,GAAG,iBAAiB,CAAC;SAChC,CAAC;IACJ,CAAC;IAEO,MAAM,CAAC,eAAe,CAC5B,OAAmC;QAEnC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAK,CAAC;QAC3B,IAAA,yBAAgB,EAAC,IAAI,CAAC,CAAC;QACvB,IAAI,OAAO,CAAC,MAAM;YAAE,IAAA,wCAAqB,EAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAE1D,MAAM,eAAe,GAAa;YAChC,OAAO,EAAE,IAAA,6BAAoB,EAAC,IAAI,CAAC;YACnC,QAAQ,EAAE,OAAO;SAClB,CAAC;QACF,MAAM,eAAe,GAAa;YAChC,OAAO,EAAE,IAAA,wBAAe,EAAC,IAAI,CAAC;YAC9B,UAAU,EAAE,GAAqB,EAAE,CAAC,kBAAkB,CAAC,OAAO,CAAC;SAChE,CAAC;QACF,MAAM,cAAc,GAAG,0BAA0B,CAAC,IAAI,CAAC,CAAC;QACxD,MAAM,gBAAgB,GAAa;YACjC,OAAO,EAAE,GAAG,IAAA,wBAAe,EAAC,IAAI,CAAC,UAAU;YAC3C,UAAU,EAAE,CAAC,MAAqB,EAAwB,EAAE,CAC1D,IAAI,6CAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;YAC1D,MAAM,EAAE,CAAC,IAAA,8BAAqB,EAAC,IAAI,CAAC,CAAC;SACtC,CAAC;QAEF,OAAO;YACL,MAAM,EAAE,qBAAmB;YAC3B,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE;gBACT,eAAe;gBACf,eAAe;gBACf,cAAc;gBACd,gBAAgB;aACjB;YACD,OAAO,EAAE,CAAC,eAAe,EAAE,cAAc,EAAE,eAAe,CAAC;SAC5D,CAAC;IACJ,CAAC;IAMD,MAAM,CAAC,YAAY,CAAC,OAAwC;QAC1D,IAAI,OAAO,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAE5D,MAAM,oBAAoB,GAAa;YACrC,OAAO,EAAE,kCAAsB;YAC/B,UAAU,EAAE,KAAK,EAAE,GAAG,IAAe,EAAE,EAAE;gBACvC,OAAO,MAAM,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,CAAC;YAC3C,CAAC;YACD,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,EAAE;SAC7B,CAAC;QAEF,OAAO;YACL,MAAM,EAAE,qBAAmB;YAC3B,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,EAAE;YAC9B,SAAS,EAAE,CAAC,oBAAoB,EAAE,GAAG,kBAAkB,CAAC;YACxD,OAAO,EAAE,CAAC,GAAG,iBAAiB,CAAC;SAChC,CAAC;IACJ,CAAC;IAEO,MAAM,CAAC,oBAAoB,CACjC,OAAwC;QAExC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAK,CAAC;QAC3B,IAAA,yBAAgB,EAAC,IAAI,CAAC,CAAC;QAEvB,MAAM,YAAY,GAAG,IAAA,6BAAoB,EAAC,IAAI,CAAC,CAAC;QAChD,MAAM,eAAe,GAAa;YAChC,OAAO,EAAE,YAAY;YACrB,UAAU,EAAE,KAAK,EAAE,GAAG,IAAe,EAAE,EAAE;gBACvC,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,CAAC;gBACnD,IAAI,QAAQ,CAAC,MAAM;oBAAE,IAAA,wCAAqB,EAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAC5D,OAAO,QAAQ,CAAC;YAClB,CAAC;YACD,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,EAAE;SAC7B,CAAC;QACF,MAAM,eAAe,GAAa;YAChC,OAAO,EAAE,IAAA,wBAAe,EAAC,IAAI,CAAC;YAC9B,UAAU,EAAE,CAAC,QAAoC,EAAoB,EAAE,CACrE,kBAAkB,CAAC,QAAQ,CAAC;YAC9B,MAAM,EAAE,CAAC,YAAY,CAAC;SACvB,CAAC;QACF,MAAM,cAAc,GAAG,0BAA0B,CAAC,IAAI,CAAC,CAAC;QACxD,MAAM,gBAAgB,GAAa;YACjC,OAAO,EAAE,GAAG,IAAA,wBAAe,EAAC,IAAI,CAAC,UAAU;YAC3C,UAAU,EAAE,CACV,MAAqB,EACrB,QAAoC,EACd,EAAE,CACxB,IAAI,6CAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;YAC3D,MAAM,EAAE,CAAC,IAAA,8BAAqB,EAAC,IAAI,CAAC,EAAE,YAAY,CAAC;SACpD,CAAC;QAEF,OAAO;YACL,MAAM,EAAE,qBAAmB;YAC3B,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,EAAE;YAC9B,SAAS,EAAE;gBACT,eAAe;gBACf,eAAe;gBACf,cAAc;gBACd,gBAAgB;aACjB;YACD,OAAO,EAAE,CAAC,eAAe,EAAE,cAAc,EAAE,eAAe,CAAC;SAC5D,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,UAAU,CAAC,KAAe,EAAE,WAAW,GAAG,SAAS;QACxD,MAAM,SAAS,GAAe,KAAK,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;YACvD,MAAM,YAAY,GAAa;gBAC7B,OAAO,EAAE,IAAA,qBAAY,EAAC,QAAQ,EAAE,WAAW,CAAC;gBAC5C,UAAU,EAAE,KAAK,EAAE,OAAgB,EAAiB,EAAE,CACpD,MAAM,OAAO,CAAC,OAAO,EAAE;gBACzB,MAAM,EAAE,CAAC,IAAA,wBAAe,EAAC,WAAW,CAAC,CAAC;aACvC,CAAC;YACF,MAAM,kBAAkB,GAAa;gBACnC,OAAO,EAAE,IAAA,+BAAsB,EAAC,QAAQ,EAAE,WAAW,CAAC;gBACtD,UAAU,EAAE,CACV,MAAqB,EACrB,IAAU,EACV,OAA6B,EACb,EAAE;oBAClB,MAAM,QAAQ,GACZ,OAAO,CAAC,iBAAiB,IAAI,uDAA4B,CAAC;oBAC5D,MAAM,MAAM,GAAG,IAAI,6BAAe,CAChC,kBAAkB,WAAW,IAAI,QAAQ,EAAE,EAC3C,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,CAClC,CAAC;oBACF,MAAM,UAAU,GAAG,IAAI,wBAAU,EAAE,CAAC;oBACpC,MAAM,UAAU,GAAG,IAAI,8BAAkB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;oBAC9D,MAAM,SAAS,GAAG,IAAI,6BAAiB,CACrC,UAAU,EACV,UAAU,EACV,MAAM,CACP,CAAC;oBACF,MAAM,gBAAgB,GAAG,IAAI,oCAAgB,CAAC,OAAO,CAAC,CAAC;oBACvD,MAAM,aAAa,GAAG,IAAI,8BAAa,CAAC,OAAO,CAAC,CAAC;oBACjD,MAAM,QAAQ,GAAG,IAAI,4BAAgB,CACnC,UAAU,EACV,SAAS,EACT,UAAU,EACV,gBAAgB,EAChB,MAAM,EACN,GAAG,EAAE,CAAC,aAAa,CACpB,CAAC;oBACF,MAAM,UAAU,GAAG,IAAI,8BAAkB,CAAC,MAAM,CAAC,CAAC;oBAClD,MAAM,OAAO,GAAG,IAAI,2BAAe,CAAC,MAAM,CAAC,CAAC;oBAC5C,MAAM,OAAO,GAAG,IAAI,0BAAW,CAC7B,WAAW,EACX,MAAM,EACN,IAAI,EACJ,OAAO,EACP,MAAM,CACP,CAAC;oBACF,OAAO,IAAI,gCAAc,CACvB,OAAO,EACP,UAAU,EACV,SAAS,EACT,QAAQ,EACR,UAAU,EACV,OAAO,EACP,MAAM,EACN,QAAQ,CACT,CAAC;gBACJ,CAAC;gBACD,MAAM,EAAE;oBACN,IAAA,8BAAqB,EAAC,WAAW,CAAC;oBAClC,IAAA,qBAAY,EAAC,QAAQ,EAAE,WAAW,CAAC;oBACnC,IAAA,6BAAoB,EAAC,WAAW,CAAC;iBAClC;aACF,CAAC;YACF,OAAO,CAAC,YAAY,EAAE,kBAAkB,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QAEH,OAAO,EAAE,MAAM,EAAE,qBAAmB,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;IACxE,CAAC;IAED,KAAK,CAAC,eAAe;IAErB,CAAC;CACF,CAAA;AAvNY,kDAAmB;8BAAnB,mBAAmB;IAF/B,IAAA,eAAM,GAAE;IACR,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,mBAAmB,CAuN/B"}
1
+ {"version":3,"file":"browser-action.module.js","sourceRoot":"","sources":["../src/browser-action.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAMwB;AAMxB,0EAAqE;AACrE,gFAA2E;AAC3E,0DAAsD;AACtD,8EAAyE;AACzE,8DAA0D;AAC1D,oEAAgE;AAChE,8EAAyE;AACzE,8DAA0D;AAC1D,0EAAqE;AACrE,2CAAqD;AACrD,4CAQyB;AACzB,+DAIkC;AAClC,qDAAsD;AACtD,qDAAiD;AACjD,2CAMqB;AACrB,0DAAsD;AACtD,gEAA4D;AAE5D,mFAG8C;AAE9C,MAAM,kBAAkB,GAAG;IACzB,yCAAkB;IAClB,+CAAqB;IACrB,0BAAW;IACX,6CAAoB;IACpB,8BAAa;IACb,oCAAgB;CACR,CAAC;AAEX,MAAM,iBAAiB,GAAG;IACxB,+CAAqB;IACrB,0BAAW;IACX,6CAAoB;IACpB,8BAAa;IACb,oCAAgB;CACR,CAAC;AAEX,SAAS,eAAe,CACtB,QAA2C;IAE3C,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC;AACrE,CAAC;AAED,KAAK,UAAU,kBAAkB,CAC/B,OAAmC;IAEnC,MAAM,MAAM,GAAG,IAAI,6BAAe,CAChC,qBAAqB,EACrB,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,CAClC,CAAC;IACF,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,OAAO,MAAM,IAAA,uCAAoB,EAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5D,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,IAAA,qCAAkB,EAAC,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IACrE,MAAM,CAAC,IAAI,CACT,wFAAwF,CACzF,CAAC;IACF,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IACvC,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE;YACxB,IAAI,CAAC,YAAY,CAAC,MAAM;gBAAE,YAAY,CAAC,IAAI,EAAE,CAAC;QAChD,CAAC,CAAC,CAAC;IACL,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAQY,QAAA,0BAA0B,GAAG,kBAAkB,CAAC;AAE7D,SAAS,0BAA0B,CAAC,IAAY;IAC9C,OAAO;QACL,OAAO,EAAE,IAAA,8BAAqB,EAAC,IAAI,CAAC;QACpC,UAAU,EAAE,CAAC,OAAgB,EAAiB,EAAE,CAAC,IAAI,8BAAa,CAAC,OAAO,CAAC;QAC3E,MAAM,EAAE,CAAC,IAAA,wBAAe,EAAC,IAAI,CAAC,CAAC;KAChC,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAY;IACvC,OAAO,GAAG,IAAA,wBAAe,EAAC,IAAI,CAAC,aAAa,CAAC;AAC/C,CAAC;AAED,SAAS,+BAA+B,CACtC,IAAY,EACZ,YAAoB;IAEpB,OAAO;QACL,OAAO,EAAE,mBAAmB,CAAC,IAAI,CAAC;QAClC,UAAU,EAAE,CACV,MAAqB,EACrB,OAAmC,EACH,EAAE;YAClC,IAAI,CAAC,OAAO,CAAC,WAAW;gBAAE,OAAO,SAAS,CAAC;YAC3C,MAAM,MAAM,GAAG,IAAI,6BAAe,CAChC,qBAAqB,EACrB,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,CAClC,CAAC;YACF,MAAM,KAAK,GAAG,IAAI,yCAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;YAC3D,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;YAC5C,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,EAAE,CAAC,IAAA,8BAAqB,EAAC,IAAI,CAAC,EAAE,YAAY,CAAC;KACpD,CAAC;AACJ,CAAC;AAIM,IAAM,mBAAmB,2BAAzB,MAAM,mBAAmB;IAI9B,MAAM,CAAC,QAAQ,CAAC,OAAmC;QACjD,MAAM,eAAe,GAAa;YAChC,OAAO,EAAE,kCAAsB;YAC/B,QAAQ,EAAE,OAAO;SAClB,CAAC;QAEF,OAAO;YACL,MAAM,EAAE,qBAAmB;YAC3B,SAAS,EAAE,CAAC,eAAe,CAAC;YAC5B,OAAO,EAAE,EAAE;SACZ,CAAC;IACJ,CAAC;IAMD,MAAM,CAAC,OAAO,CAAC,OAAmC;QAChD,IAAI,OAAO,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAEvD,MAAM,eAAe,GAAa;YAChC,OAAO,EAAE,kCAAsB;YAC/B,QAAQ,EAAE,OAAO;SAClB,CAAC;QAEF,OAAO;YACL,MAAM,EAAE,qBAAmB;YAC3B,SAAS,EAAE,CAAC,eAAe,EAAE,GAAG,kBAAkB,CAAC;YACnD,OAAO,EAAE,CAAC,GAAG,iBAAiB,CAAC;SAChC,CAAC;IACJ,CAAC;IAEO,MAAM,CAAC,eAAe,CAC5B,OAAmC;QAEnC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAK,CAAC;QAC3B,IAAA,yBAAgB,EAAC,IAAI,CAAC,CAAC;QACvB,IAAI,OAAO,CAAC,MAAM;YAAE,IAAA,wCAAqB,EAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAE1D,MAAM,eAAe,GAAa;YAChC,OAAO,EAAE,IAAA,6BAAoB,EAAC,IAAI,CAAC;YACnC,QAAQ,EAAE,OAAO;SAClB,CAAC;QACF,MAAM,eAAe,GAAa;YAChC,OAAO,EAAE,IAAA,wBAAe,EAAC,IAAI,CAAC;YAC9B,UAAU,EAAE,GAAqB,EAAE,CAAC,kBAAkB,CAAC,OAAO,CAAC;SAChE,CAAC;QACF,MAAM,cAAc,GAAG,0BAA0B,CAAC,IAAI,CAAC,CAAC;QACxD,MAAM,YAAY,GAAG,IAAA,6BAAoB,EAAC,IAAI,CAAC,CAAC;QAChD,MAAM,mBAAmB,GAAG,+BAA+B,CACzD,IAAI,EACJ,YAAY,CACb,CAAC;QACF,MAAM,gBAAgB,GAAa;YACjC,OAAO,EAAE,GAAG,IAAA,wBAAe,EAAC,IAAI,CAAC,UAAU;YAC3C,UAAU,EAAE,CACV,MAAqB,EACrB,WAAgC,EACV,EAAE,CACxB,IAAI,6CAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,WAAW,CAAC;YACvE,MAAM,EAAE,CAAC,IAAA,8BAAqB,EAAC,IAAI,CAAC,EAAE,mBAAmB,CAAC,IAAI,CAAC,CAAC;SACjE,CAAC;QAEF,OAAO;YACL,MAAM,EAAE,qBAAmB;YAC3B,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE;gBACT,eAAe;gBACf,eAAe;gBACf,cAAc;gBACd,mBAAmB;gBACnB,gBAAgB;aACjB;YACD,OAAO,EAAE,CAAC,eAAe,EAAE,cAAc,EAAE,eAAe,CAAC;SAC5D,CAAC;IACJ,CAAC;IAMD,MAAM,CAAC,YAAY,CAAC,OAAwC;QAC1D,IAAI,OAAO,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAE5D,MAAM,oBAAoB,GAAa;YACrC,OAAO,EAAE,kCAAsB;YAC/B,UAAU,EAAE,KAAK,EAAE,GAAG,IAAe,EAAE,EAAE;gBACvC,OAAO,MAAM,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,CAAC;YAC3C,CAAC;YACD,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,EAAE;SAC7B,CAAC;QAEF,OAAO;YACL,MAAM,EAAE,qBAAmB;YAC3B,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,EAAE;YAC9B,SAAS,EAAE,CAAC,oBAAoB,EAAE,GAAG,kBAAkB,CAAC;YACxD,OAAO,EAAE,CAAC,GAAG,iBAAiB,CAAC;SAChC,CAAC;IACJ,CAAC;IAEO,MAAM,CAAC,oBAAoB,CACjC,OAAwC;QAExC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAK,CAAC;QAC3B,IAAA,yBAAgB,EAAC,IAAI,CAAC,CAAC;QAEvB,MAAM,YAAY,GAAG,IAAA,6BAAoB,EAAC,IAAI,CAAC,CAAC;QAChD,MAAM,eAAe,GAAa;YAChC,OAAO,EAAE,YAAY;YACrB,UAAU,EAAE,KAAK,EAAE,GAAG,IAAe,EAAE,EAAE;gBACvC,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,CAAC;gBACnD,IAAI,QAAQ,CAAC,MAAM;oBAAE,IAAA,wCAAqB,EAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAC5D,OAAO,QAAQ,CAAC;YAClB,CAAC;YACD,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,EAAE;SAC7B,CAAC;QACF,MAAM,eAAe,GAAa;YAChC,OAAO,EAAE,IAAA,wBAAe,EAAC,IAAI,CAAC;YAC9B,UAAU,EAAE,CAAC,QAAoC,EAAoB,EAAE,CACrE,kBAAkB,CAAC,QAAQ,CAAC;YAC9B,MAAM,EAAE,CAAC,YAAY,CAAC;SACvB,CAAC;QACF,MAAM,cAAc,GAAG,0BAA0B,CAAC,IAAI,CAAC,CAAC;QACxD,MAAM,mBAAmB,GAAG,+BAA+B,CACzD,IAAI,EACJ,YAAY,CACb,CAAC;QACF,MAAM,gBAAgB,GAAa;YACjC,OAAO,EAAE,GAAG,IAAA,wBAAe,EAAC,IAAI,CAAC,UAAU;YAC3C,UAAU,EAAE,CACV,MAAqB,EACrB,QAAoC,EACpC,WAAgC,EACV,EAAE,CACxB,IAAI,6CAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;YACxE,MAAM,EAAE;gBACN,IAAA,8BAAqB,EAAC,IAAI,CAAC;gBAC3B,YAAY;gBACZ,mBAAmB,CAAC,IAAI,CAAC;aAC1B;SACF,CAAC;QAEF,OAAO;YACL,MAAM,EAAE,qBAAmB;YAC3B,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,EAAE;YAC9B,SAAS,EAAE;gBACT,eAAe;gBACf,eAAe;gBACf,cAAc;gBACd,mBAAmB;gBACnB,gBAAgB;aACjB;YACD,OAAO,EAAE,CAAC,eAAe,EAAE,cAAc,EAAE,eAAe,CAAC;SAC5D,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,UAAU,CAAC,KAAe,EAAE,WAAW,GAAG,SAAS;QACxD,MAAM,SAAS,GAAe,KAAK,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;YACvD,MAAM,YAAY,GAAa;gBAC7B,OAAO,EAAE,IAAA,qBAAY,EAAC,QAAQ,EAAE,WAAW,CAAC;gBAC5C,UAAU,EAAE,KAAK,EAAE,OAAgB,EAAiB,EAAE,CACpD,MAAM,OAAO,CAAC,OAAO,EAAE;gBACzB,MAAM,EAAE,CAAC,IAAA,wBAAe,EAAC,WAAW,CAAC,CAAC;aACvC,CAAC;YACF,MAAM,kBAAkB,GAAa;gBACnC,OAAO,EAAE,IAAA,+BAAsB,EAAC,QAAQ,EAAE,WAAW,CAAC;gBACtD,UAAU,EAAE,CACV,MAAqB,EACrB,IAAU,EACV,OAA6B,EACb,EAAE;oBAClB,MAAM,QAAQ,GACZ,OAAO,CAAC,iBAAiB,IAAI,uDAA4B,CAAC;oBAC5D,MAAM,MAAM,GAAG,IAAI,6BAAe,CAChC,kBAAkB,WAAW,IAAI,QAAQ,EAAE,EAC3C,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,CAClC,CAAC;oBACF,MAAM,UAAU,GAAG,IAAI,wBAAU,EAAE,CAAC;oBACpC,MAAM,UAAU,GAAG,IAAI,8BAAkB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;oBAC9D,MAAM,SAAS,GAAG,IAAI,6BAAiB,CACrC,UAAU,EACV,UAAU,EACV,MAAM,CACP,CAAC;oBACF,MAAM,gBAAgB,GAAG,IAAI,oCAAgB,CAAC,OAAO,CAAC,CAAC;oBACvD,MAAM,aAAa,GAAG,IAAI,8BAAa,CAAC,OAAO,CAAC,CAAC;oBACjD,MAAM,UAAU,GAAG,IAAI,8BAAkB,CAAC,MAAM,CAAC,CAAC;oBAClD,MAAM,QAAQ,GAAG,IAAI,4BAAgB,CACnC,UAAU,EACV,SAAS,EACT,UAAU,EACV,gBAAgB,EAChB,MAAM,EACN,GAAG,EAAE,CAAC,aAAa,EACnB,UAAU,CACX,CAAC;oBACF,MAAM,OAAO,GAAG,IAAI,2BAAe,CAAC,MAAM,CAAC,CAAC;oBAC5C,MAAM,OAAO,GAAG,IAAI,0BAAW,CAC7B,WAAW,EACX,MAAM,EACN,IAAI,EACJ,OAAO,EACP,MAAM,CACP,CAAC;oBACF,OAAO,IAAI,gCAAc,CACvB,OAAO,EACP,UAAU,EACV,SAAS,EACT,QAAQ,EACR,UAAU,EACV,OAAO,EACP,MAAM,EACN,QAAQ,CACT,CAAC;gBACJ,CAAC;gBACD,MAAM,EAAE;oBACN,IAAA,8BAAqB,EAAC,WAAW,CAAC;oBAClC,IAAA,qBAAY,EAAC,QAAQ,EAAE,WAAW,CAAC;oBACnC,IAAA,6BAAoB,EAAC,WAAW,CAAC;iBAClC;aACF,CAAC;YACF,OAAO,CAAC,YAAY,EAAE,kBAAkB,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QAEH,MAAM,sBAAsB,GAAa;YACvC,OAAO,EAAE,GAAG,IAAA,wBAAe,EAAC,WAAW,CAAC,kBAAkB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;YAC3E,UAAU,EAAE,CAAC,OAAmC,EAAQ,EAAE;gBACxD,MAAM,KAAK,GAAG,IAAA,sBAAa,EAAC,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;gBACvD,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,IAAI,oDAAyB,CAAC;gBAC1D,IAAI,KAAK,GAAG,GAAG,EAAE,CAAC;oBAChB,MAAM,MAAM,GAAG,IAAI,6BAAe,CAChC,qBAAqB,EACrB,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,CAClC,CAAC;oBACF,MAAM,CAAC,IAAI,CACT,kBAAkB,WAAW,SAAS,KAAK,qBAAqB;wBAC9D,sCAAsC,GAAG,sBAAsB;wBAC/D,kEAAkE,CACrE,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,MAAM,EAAE,CAAC,IAAA,6BAAoB,EAAC,WAAW,CAAC,CAAC;SAC5C,CAAC;QAEF,OAAO;YACL,MAAM,EAAE,qBAAmB;YAC3B,SAAS,EAAE,CAAC,GAAG,SAAS,EAAE,sBAAsB,CAAC;YACjD,OAAO,EAAE,SAAS;SACnB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,eAAe;IAErB,CAAC;CACF,CAAA;AAnQY,kDAAmB;8BAAnB,mBAAmB;IAF/B,IAAA,eAAM,GAAE;IACR,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,mBAAmB,CAmQ/B"}
@@ -5,3 +5,5 @@ export declare function getBrowserHolderToken(name: string): string;
5
5
  export declare function getNamedOptionsToken(name: string): string;
6
6
  export declare function claimBrowserName(name: string): void;
7
7
  export declare function releaseBrowserName(name: string): void;
8
+ export declare function registerPages(browserName: string, count: number): number;
9
+ export declare function releasePageCount(browserName: string): void;
@@ -7,6 +7,8 @@ exports.getBrowserHolderToken = getBrowserHolderToken;
7
7
  exports.getNamedOptionsToken = getNamedOptionsToken;
8
8
  exports.claimBrowserName = claimBrowserName;
9
9
  exports.releaseBrowserName = releaseBrowserName;
10
+ exports.registerPages = registerPages;
11
+ exports.releasePageCount = releasePageCount;
10
12
  function getBrowserToken(name) {
11
13
  return `${name}BrowserActionBrowser`;
12
14
  }
@@ -33,4 +35,13 @@ function claimBrowserName(name) {
33
35
  function releaseBrowserName(name) {
34
36
  registeredBrowserNames.delete(name);
35
37
  }
38
+ const pageCountByBrowser = new Map();
39
+ function registerPages(browserName, count) {
40
+ const total = (pageCountByBrowser.get(browserName) ?? 0) + count;
41
+ pageCountByBrowser.set(browserName, total);
42
+ return total;
43
+ }
44
+ function releasePageCount(browserName) {
45
+ pageCountByBrowser.delete(browserName);
46
+ }
36
47
  //# sourceMappingURL=tokens.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../src/common/tokens.ts"],"names":[],"mappings":";;AAAA,0CAEC;AAED,oCAEC;AAED,wDAEC;AAED,sDAEC;AAED,oDAEC;AASD,4CAQC;AAED,gDAEC;AAvCD,SAAgB,eAAe,CAAC,IAAY;IAC1C,OAAO,GAAG,IAAI,sBAAsB,CAAC;AACvC,CAAC;AAED,SAAgB,YAAY,CAAC,IAAY,EAAE,IAAY;IACrD,OAAO,GAAG,IAAI,IAAI,IAAI,mBAAmB,CAAC;AAC5C,CAAC;AAED,SAAgB,sBAAsB,CAAC,IAAY,EAAE,IAAY;IAC/D,OAAO,GAAG,IAAI,IAAI,IAAI,6BAA6B,CAAC;AACtD,CAAC;AAED,SAAgB,qBAAqB,CAAC,IAAY;IAChD,OAAO,GAAG,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC;AAC1C,CAAC;AAED,SAAgB,oBAAoB,CAAC,IAAY;IAC/C,OAAO,0BAA0B,IAAI,EAAE,CAAC;AAC1C,CAAC;AAOD,MAAM,sBAAsB,GAAG,IAAI,GAAG,EAAU,CAAC;AAEjD,SAAgB,gBAAgB,CAAC,IAAY;IAC3C,IAAI,sBAAsB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CACb,6CAA6C,IAAI,2BAA2B;YAC1E,gEAAgE,CACnE,CAAC;IACJ,CAAC;IACD,sBAAsB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACnC,CAAC;AAED,SAAgB,kBAAkB,CAAC,IAAY;IAC7C,sBAAsB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACtC,CAAC"}
1
+ {"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../src/common/tokens.ts"],"names":[],"mappings":";;AAAA,0CAEC;AAED,oCAEC;AAED,wDAEC;AAED,sDAEC;AAED,oDAEC;AASD,4CAQC;AAED,gDAEC;AAYD,sCAIC;AAED,4CAEC;AA3DD,SAAgB,eAAe,CAAC,IAAY;IAC1C,OAAO,GAAG,IAAI,sBAAsB,CAAC;AACvC,CAAC;AAED,SAAgB,YAAY,CAAC,IAAY,EAAE,IAAY;IACrD,OAAO,GAAG,IAAI,IAAI,IAAI,mBAAmB,CAAC;AAC5C,CAAC;AAED,SAAgB,sBAAsB,CAAC,IAAY,EAAE,IAAY;IAC/D,OAAO,GAAG,IAAI,IAAI,IAAI,6BAA6B,CAAC;AACtD,CAAC;AAED,SAAgB,qBAAqB,CAAC,IAAY;IAChD,OAAO,GAAG,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC;AAC1C,CAAC;AAED,SAAgB,oBAAoB,CAAC,IAAY;IAC/C,OAAO,0BAA0B,IAAI,EAAE,CAAC;AAC1C,CAAC;AAOD,MAAM,sBAAsB,GAAG,IAAI,GAAG,EAAU,CAAC;AAEjD,SAAgB,gBAAgB,CAAC,IAAY;IAC3C,IAAI,sBAAsB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CACb,6CAA6C,IAAI,2BAA2B;YAC1E,gEAAgE,CACnE,CAAC;IACJ,CAAC;IACD,sBAAsB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACnC,CAAC;AAED,SAAgB,kBAAkB,CAAC,IAAY;IAC7C,sBAAsB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACtC,CAAC;AAUD,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAkB,CAAC;AAErD,SAAgB,aAAa,CAAC,WAAmB,EAAE,KAAa;IAC9D,MAAM,KAAK,GAAG,CAAC,kBAAkB,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC;IACjE,kBAAkB,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IAC3C,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAgB,gBAAgB,CAAC,WAAmB;IAClD,kBAAkB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;AACzC,CAAC"}
@@ -38,3 +38,4 @@ export declare const DEFAULT_COOKIE_OPTIONS: {
38
38
  readonly autoLoad: false;
39
39
  readonly defaultSessionName: "default";
40
40
  };
41
+ export declare const DEFAULT_MAX_PAGES_WARNING = 5;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DEFAULT_COOKIE_OPTIONS = exports.TLS_CAPTURE_URL = exports.DEFAULT_ERROR_SCREENSHOT_FILENAME = exports.DEFAULT_SCREENSHOT_FILENAME = exports.DEFAULT_SCROLL_DELAY_MS = exports.DEFAULT_NAVIGATION_TIMEOUT = exports.DEFAULT_DEBUG_LOG_MAX_LENGTH = exports.DEFAULT_ACTION_TIMEOUT = exports.DEFAULT_CONTEXT_OPTIONS = exports.ERROR_MESSAGES = exports.AVAILABILITY_CHECK_INTERVAL_MS = exports.DEFAULT_REMOTE_OPTIONS = exports.DEFAULT_LAUNCH_OPTIONS = exports.DEFAULT_POOL_OPTIONS = exports.BROWSER_ACTION_OPTIONS = void 0;
3
+ exports.DEFAULT_MAX_PAGES_WARNING = exports.DEFAULT_COOKIE_OPTIONS = exports.TLS_CAPTURE_URL = exports.DEFAULT_ERROR_SCREENSHOT_FILENAME = exports.DEFAULT_SCREENSHOT_FILENAME = exports.DEFAULT_SCROLL_DELAY_MS = exports.DEFAULT_NAVIGATION_TIMEOUT = exports.DEFAULT_DEBUG_LOG_MAX_LENGTH = exports.DEFAULT_ACTION_TIMEOUT = exports.DEFAULT_CONTEXT_OPTIONS = exports.ERROR_MESSAGES = exports.AVAILABILITY_CHECK_INTERVAL_MS = exports.DEFAULT_REMOTE_OPTIONS = exports.DEFAULT_LAUNCH_OPTIONS = exports.DEFAULT_POOL_OPTIONS = exports.BROWSER_ACTION_OPTIONS = void 0;
4
4
  exports.BROWSER_ACTION_OPTIONS = 'BROWSER_ACTION_OPTIONS';
5
5
  exports.DEFAULT_POOL_OPTIONS = {
6
6
  min: 2,
@@ -41,4 +41,5 @@ exports.DEFAULT_COOKIE_OPTIONS = {
41
41
  autoLoad: false,
42
42
  defaultSessionName: 'default',
43
43
  };
44
+ exports.DEFAULT_MAX_PAGES_WARNING = 5;
44
45
  //# sourceMappingURL=browser-action.constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"browser-action.constants.js","sourceRoot":"","sources":["../../src/constants/browser-action.constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,sBAAsB,GAAG,wBAAwB,CAAC;AAElD,QAAA,oBAAoB,GAAG;IAClC,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,EAAE;IACP,aAAa,EAAE,KAAK;IACpB,gBAAgB,EAAE,KAAK;IACvB,QAAQ,EAAE,aAAsB;CACjC,CAAC;AAEW,QAAA,sBAAsB,GAAG;IACpC,QAAQ,EAAE,IAAI;CACf,CAAC;AAEW,QAAA,sBAAsB,GAAG;IACpC,QAAQ,EAAE,CAAC;IACX,UAAU,EAAE,IAAI;CACR,CAAC;AAEE,QAAA,8BAA8B,GAAG,GAAG,CAAC;AAErC,QAAA,cAAc,GAAG;IAC5B,oBAAoB,EAClB,2EAA2E;IAC7E,oBAAoB,EAClB,iEAAiE;CAC3D,CAAC;AAEE,QAAA,uBAAuB,GAAG;IACrC,QAAQ,EAAE;QACR,KAAK,EAAE,IAAI;QACX,MAAM,EAAE,IAAI;KACb;CACF,CAAC;AAGW,QAAA,sBAAsB,GAAG,KAAK,CAAC;AAC/B,QAAA,4BAA4B,GAAG,GAAG,CAAC;AACnC,QAAA,0BAA0B,GAAG,KAAK,CAAC;AACnC,QAAA,uBAAuB,GAAG,GAAG,CAAC;AAC9B,QAAA,2BAA2B,GAAG,YAAY,CAAC;AAC3C,QAAA,iCAAiC,GAAG,OAAO,CAAC;AAG5C,QAAA,eAAe,GAAG,6BAA6B,CAAC;AAEhD,QAAA,sBAAsB,GAAG;IACpC,OAAO,EAAE,IAAI;IACb,UAAU,EAAE,WAAW;IACvB,QAAQ,EAAE,KAAK;IACf,QAAQ,EAAE,KAAK;IACf,kBAAkB,EAAE,SAAS;CACrB,CAAC"}
1
+ {"version":3,"file":"browser-action.constants.js","sourceRoot":"","sources":["../../src/constants/browser-action.constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,sBAAsB,GAAG,wBAAwB,CAAC;AAElD,QAAA,oBAAoB,GAAG;IAClC,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,EAAE;IACP,aAAa,EAAE,KAAK;IACpB,gBAAgB,EAAE,KAAK;IACvB,QAAQ,EAAE,aAAsB;CACjC,CAAC;AAEW,QAAA,sBAAsB,GAAG;IACpC,QAAQ,EAAE,IAAI;CACf,CAAC;AAEW,QAAA,sBAAsB,GAAG;IACpC,QAAQ,EAAE,CAAC;IACX,UAAU,EAAE,IAAI;CACR,CAAC;AAEE,QAAA,8BAA8B,GAAG,GAAG,CAAC;AAErC,QAAA,cAAc,GAAG;IAC5B,oBAAoB,EAClB,2EAA2E;IAC7E,oBAAoB,EAClB,iEAAiE;CAC3D,CAAC;AAEE,QAAA,uBAAuB,GAAG;IACrC,QAAQ,EAAE;QACR,KAAK,EAAE,IAAI;QACX,MAAM,EAAE,IAAI;KACb;CACF,CAAC;AAGW,QAAA,sBAAsB,GAAG,KAAK,CAAC;AAC/B,QAAA,4BAA4B,GAAG,GAAG,CAAC;AACnC,QAAA,0BAA0B,GAAG,KAAK,CAAC;AACnC,QAAA,uBAAuB,GAAG,GAAG,CAAC;AAC9B,QAAA,2BAA2B,GAAG,YAAY,CAAC;AAC3C,QAAA,iCAAiC,GAAG,OAAO,CAAC;AAG5C,QAAA,eAAe,GAAG,6BAA6B,CAAC;AAEhD,QAAA,sBAAsB,GAAG;IACpC,OAAO,EAAE,IAAI;IACb,UAAU,EAAE,WAAW;IACvB,QAAQ,EAAE,KAAK;IACf,QAAQ,EAAE,KAAK;IACf,kBAAkB,EAAE,SAAS;CACrB,CAAC;AAME,QAAA,yBAAyB,GAAG,CAAC,CAAC"}
@@ -376,6 +376,60 @@ async function ecommercePriceScraping(actionHelpers) {
376
376
  });
377
377
  console.log('E-commerce product data:', result.data);
378
378
  }
379
+ async function extractPatternsAction(actionHelpers) {
380
+ const workflow = {
381
+ version: '1.0',
382
+ actions: [
383
+ {
384
+ action: 'navigate',
385
+ value: '${baseUrl}',
386
+ },
387
+ {
388
+ action: 'waitFor',
389
+ target: { type: 'css', value: '.product' },
390
+ options: { timeout: 15000 },
391
+ },
392
+ {
393
+ id: 'products',
394
+ action: 'extractPatterns',
395
+ options: {
396
+ patterns: [
397
+ {
398
+ key: 'container',
399
+ patternType: 'css',
400
+ returnType: 'text',
401
+ patterns: ['.product'],
402
+ meta: { isContainer: true },
403
+ },
404
+ {
405
+ key: 'name',
406
+ patternType: 'css',
407
+ returnType: 'text',
408
+ patterns: ['h2.woocommerce-loop-product__title'],
409
+ pipes: { trim: true },
410
+ },
411
+ {
412
+ key: 'price',
413
+ patternType: 'css',
414
+ returnType: 'text',
415
+ patterns: ['.price'],
416
+ pipes: { trim: true },
417
+ },
418
+ ],
419
+ patternPagination: {
420
+ type: 'click-next',
421
+ selector: 'a.next.page-numbers',
422
+ maxPages: 3,
423
+ },
424
+ },
425
+ },
426
+ ],
427
+ };
428
+ const result = await actionHelpers.scrapeWithWorkflow('https://www.scrapingcourse.com/ecommerce/', workflow, {
429
+ baseUrl: 'https://www.scrapingcourse.com/ecommerce/',
430
+ });
431
+ console.log(`extractPatterns result: ${result.data.products?.length} products`);
432
+ }
379
433
  if (require.main === module) {
380
434
  void (async () => {
381
435
  const app = await core_1.NestFactory.createApplicationContext(AppModule, {
@@ -393,6 +447,7 @@ if (require.main === module) {
393
447
  await shadowDOMSupport(service);
394
448
  await errorHandlingWithRetry(service);
395
449
  await ecommercePriceScraping(service);
450
+ await extractPatternsAction(service);
396
451
  }
397
452
  finally {
398
453
  await app.close();
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-example.js","sourceRoot":"","sources":["../../src/examples/workflow-example.ts"],"names":[],"mappings":";;;;;;;;AAKA,uCAA2C;AAC3C,2CAAwC;AACxC,oCAAqE;AAWrE,IAAM,SAAS,GAAf,MAAM,SAAS;CAAG,CAAA;AAAZ,SAAS;IARd,IAAA,eAAM,EAAC;QACN,OAAO,EAAE;YACP,2BAAmB,CAAC,OAAO,CAAC;gBAC1B,aAAa,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,OAAO,EAAE;gBAC7D,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE;aACzB,CAAC;SACH;KACF,CAAC;GACI,SAAS,CAAG;AAGlB,KAAK,UAAU,gBAAgB,CAAC,aAAmC;IACjE,MAAM,QAAQ,GAAuB;QACnC,OAAO,EAAE,KAAK;QACd,OAAO,EAAE;YACP;gBACE,MAAM,EAAE,MAAM;gBACd,KAAK,EAAE,CAAC;aACT;YACD;gBACE,EAAE,EAAE,OAAO;gBACX,MAAM,EAAE,SAAS;gBACjB,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE;aACrC;YACD;gBACE,EAAE,EAAE,aAAa;gBACjB,MAAM,EAAE,SAAS;gBACjB,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE;aACpC;SACF;KACF,CAAC;IAEF,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,kBAAkB,CAGlD,2CAA2C,EAAE,QAAQ,CAAC,CAAC;IAE1D,OAAO,CAAC,GAAG,CAAC,2BAA2B,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;AACxD,CAAC;AAGD,KAAK,UAAU,cAAc,CAAC,aAAmC;IAC/D,MAAM,QAAQ,GAAuB;QACnC,OAAO,EAAE,KAAK;QACd,OAAO,EAAE;YACP;gBACE,MAAM,EAAE,UAAU;gBAClB,KAAK,EAAE,YAAY;aACpB;YACD;gBACE,MAAM,EAAE,MAAM;gBACd,KAAK,EAAE,CAAC;aACT;YACD;gBACE,MAAM,EAAE,SAAS;gBACjB,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,eAAe,EAAE;gBAC/C,OAAO,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE;aAC5B;YACD;gBACE,MAAM,EAAE,MAAM;gBACd,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,eAAe,EAAE;gBAC/C,KAAK,EAAE,gBAAgB;gBACvB,OAAO,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;aACvC;YACD;gBACE,MAAM,EAAE,OAAO;gBACf,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,uBAAuB,EAAE;gBACvD,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE;aACrD;YACD;gBACE,MAAM,EAAE,SAAS;gBACjB,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,iBAAiB,EAAE;gBACjD,OAAO,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE;aAC5B;YACD;gBACE,EAAE,EAAE,aAAa;gBACjB,MAAM,EAAE,SAAS;gBACjB,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,+BAA+B,EAAE;aAChE;SACF;QACD,OAAO,EAAE;YACP,UAAU,EAAE,IAAI;YAChB,cAAc,EAAE,wBAAwB;YACxC,QAAQ,EAAE,KAAK;SAChB;KACF,CAAC;IAEF,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,kBAAkB,CAElD,2CAA2C,EAAE,QAAQ,EAAE;QACxD,OAAO,EAAE,oDAAoD;QAC7D,WAAW,EAAE,QAAQ;KACtB,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,yBAAyB,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;AACtD,CAAC;AAGD,KAAK,UAAU,mBAAmB,CAAC,aAAmC;IACpE,MAAM,QAAQ,GAAuB;QACnC,OAAO,EAAE,KAAK;QACd,OAAO,EAAE;YACP;gBACE,MAAM,EAAE,UAAU;gBAClB,KAAK,EAAE,YAAY;aACpB;YACD;gBACE,MAAM,EAAE,SAAS;gBACjB,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,gBAAgB,EAAE;gBAChD,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;aAC3B;YAED;gBACE,MAAM,EAAE,OAAO;gBACf,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,iBAAiB,EAAE;gBACjD,SAAS,EAAE;oBACT,QAAQ,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,iBAAiB,EAAE;iBACpD;gBACD,OAAO,EAAE,UAAU;aACpB;YACD;gBACE,MAAM,EAAE,SAAS;gBACjB,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,eAAe,EAAE;aAChD;YACD;gBACE,MAAM,EAAE,QAAQ;gBAChB,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,eAAe,EAAE;aAChD;YACD;gBACE,EAAE,EAAE,aAAa;gBACjB,MAAM,EAAE,SAAS;gBACjB,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE;aACrC;YACD;gBACE,EAAE,EAAE,aAAa;gBACjB,MAAM,EAAE,SAAS;gBACjB,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE;aAC1C;SACF;KACF,CAAC;IAEF,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,kBAAkB,CAGlD,2CAA2C,EAAE,QAAQ,EAAE;QACxD,OAAO,EAAE,2CAA2C;KACrD,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,8BAA8B,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;AAC3D,CAAC;AAGD,KAAK,UAAU,cAAc,CAAC,aAAmC;IAC/D,MAAM,QAAQ,GAAuB;QACnC,OAAO,EAAE,KAAK;QACd,OAAO,EAAE;YACP;gBACE,MAAM,EAAE,MAAM;gBACd,KAAK,EAAE,CAAC;aACT;YACD;gBACE,EAAE,EAAE,cAAc;gBAClB,MAAM,EAAE,SAAS;gBACjB,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE;aACzC;YACD;gBACE,EAAE,EAAE,eAAe;gBACnB,MAAM,EAAE,SAAS;gBACjB,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE;aAC3C;SACF;KACF,CAAC;IAEF,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,kBAAkB,CAGlD,2CAA2C,EAAE,QAAQ,CAAC,CAAC;IAE1D,OAAO,CAAC,GAAG,CAAC,yBAAyB,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;AACtD,CAAC;AAGD,KAAK,UAAU,oBAAoB,CAAC,aAAmC;IACrE,MAAM,QAAQ,GAAuB;QACnC,OAAO,EAAE,KAAK;QACd,OAAO,EAAE;YACP;gBACE,MAAM,EAAE,MAAM;gBACd,KAAK,EAAE,CAAC;aACT;YACD;gBACE,EAAE,EAAE,YAAY;gBAChB,MAAM,EAAE,UAAU;gBAClB,KAAK,EAAE,kCAAkC;aAC1C;YACD;gBACE,EAAE,EAAE,WAAW;gBACf,MAAM,EAAE,UAAU;gBAClB,KAAK,EAAE,6CAA6C;aACrD;YACD;gBACE,EAAE,EAAE,YAAY;gBAChB,MAAM,EAAE,UAAU;gBAClB,KAAK,EAAE,4BAA4B;aACpC;SACF;KACF,CAAC;IAEF,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,kBAAkB,CAIlD,2CAA2C,EAAE,QAAQ,CAAC,CAAC;IAE1D,OAAO,CAAC,GAAG,CAAC,+BAA+B,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;AAC5D,CAAC;AAGD,KAAK,UAAU,mBAAmB,CAAC,aAAmC;IACpE,MAAM,QAAQ,GAAuB;QACnC,OAAO,EAAE,KAAK;QACd,OAAO,EAAE;YACP;gBACE,MAAM,EAAE,UAAU;gBAClB,KAAK,EAAE,YAAY;aACpB;YACD;gBACE,MAAM,EAAE,MAAM;gBACd,KAAK,EAAE,CAAC;aACT;YACD;gBACE,MAAM,EAAE,YAAY;gBACpB,KAAK,EAAE,wBAAwB;aAChC;YACD;gBACE,EAAE,EAAE,OAAO;gBACX,MAAM,EAAE,SAAS;gBACjB,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE;aACrC;SACF;KACF,CAAC;IAEF,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,kBAAkB,CAElD,2CAA2C,EAAE,QAAQ,EAAE;QACxD,OAAO,EAAE,2CAA2C;KACrD,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,8BAA8B,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;AAC3D,CAAC;AAGD,KAAK,UAAU,iBAAiB,CAAC,aAAmC;IAClE,MAAM,QAAQ,GAAuB;QACnC,OAAO,EAAE,KAAK;QACd,OAAO,EAAE;YACP;gBACE,MAAM,EAAE,UAAU;gBAClB,KAAK,EAAE,YAAY;aACpB;YACD;gBACE,MAAM,EAAE,SAAS;gBACjB,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,wBAAwB,EAAE;gBACxD,OAAO,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE;aAC5B;YACD;gBACE,MAAM,EAAE,QAAQ;gBAChB,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,wBAAwB,EAAE;gBACxD,KAAK,EAAE,gBAAgB;gBACvB,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;aAC5B;YACD;gBACE,MAAM,EAAE,MAAM;gBACd,KAAK,EAAE,CAAC;aACT;YACD;gBACE,MAAM,EAAE,YAAY;gBACpB,KAAK,EAAE,uBAAuB;aAC/B;SACF;KACF,CAAC;IAEF,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,kBAAkB,CACnD,2CAA2C,EAC3C,QAAQ,EACR;QACE,OAAO,EAAE,2CAA2C;QACpD,WAAW,EAAE,IAAI;KAClB,CACF,CAAC;IAEF,OAAO,CAAC,GAAG,CAAC,+BAA+B,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;AAC/D,CAAC;AAGD,KAAK,UAAU,gBAAgB,CAAC,aAAmC;IACjE,MAAM,QAAQ,GAAuB;QACnC,OAAO,EAAE,KAAK;QACd,OAAO,EAAE;YACP;gBACE,MAAM,EAAE,UAAU;gBAClB,KAAK,EAAE,YAAY;aACpB;YACD;gBACE,MAAM,EAAE,SAAS;gBACjB,MAAM,EAAE;oBACN,IAAI,EAAE,KAAK;oBACX,KAAK,EAAE,kBAAkB;oBACzB,UAAU,EAAE,kBAAkB;iBAC/B;gBACD,OAAO,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE;aAC5B;YACD;gBACE,EAAE,EAAE,eAAe;gBACnB,MAAM,EAAE,SAAS;gBACjB,MAAM,EAAE;oBACN,IAAI,EAAE,KAAK;oBACX,KAAK,EAAE,iBAAiB;oBACxB,UAAU,EAAE,kBAAkB;iBAC/B;aACF;SACF;KACF,CAAC;IAEF,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,kBAAkB,CAElD,2CAA2C,EAAE,QAAQ,EAAE;QACxD,OAAO,EAAE,2CAA2C;KACrD,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;AACjD,CAAC;AAGD,KAAK,UAAU,sBAAsB,CAAC,aAAmC;IACvE,MAAM,QAAQ,GAAuB;QACnC,OAAO,EAAE,KAAK;QACd,OAAO,EAAE;YACP;gBACE,MAAM,EAAE,UAAU;gBAClB,KAAK,EAAE,YAAY;aACpB;YACD;gBACE,MAAM,EAAE,SAAS;gBACjB,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,kBAAkB,EAAE;gBAClD,OAAO,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE;aACxD;YACD;gBACE,EAAE,EAAE,SAAS;gBACb,MAAM,EAAE,SAAS;gBACjB,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,kBAAkB,EAAE;aACnD;SACF;QACD,OAAO,EAAE;YACP,UAAU,EAAE,IAAI;YAChB,cAAc,EAAE,mBAAmB;YACnC,QAAQ,EAAE,KAAK;SAChB;KACF,CAAC;IAEF,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,kBAAkB,CAElD,2CAA2C,EAAE,QAAQ,EAAE;QACxD,OAAO,EAAE,2CAA2C;KACrD,CAAC,CAAC;IAEH,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IACjD,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IACrD,CAAC;AACH,CAAC;AAGD,KAAK,UAAU,sBAAsB,CAAC,aAAmC;IACvE,MAAM,QAAQ,GAAuB;QACnC,OAAO,EAAE,KAAK;QACd,OAAO,EAAE;YACP;gBACE,MAAM,EAAE,UAAU;gBAClB,KAAK,EAAE,eAAe;aACvB;YACD;gBACE,MAAM,EAAE,SAAS;gBACjB,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,gBAAgB,EAAE;gBAChD,OAAO,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE;aAC5B;YACD;gBACE,MAAM,EAAE,QAAQ;gBAChB,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,gBAAgB,EAAE;aACjD;YACD;gBACE,EAAE,EAAE,aAAa;gBACjB,MAAM,EAAE,SAAS;gBACjB,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,kBAAkB,EAAE;aACnD;YACD;gBACE,EAAE,EAAE,OAAO;gBACX,MAAM,EAAE,SAAS;gBACjB,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,gBAAgB,EAAE;aACjD;YACD;gBACE,EAAE,EAAE,cAAc;gBAClB,MAAM,EAAE,SAAS;gBACjB,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE;aACzC;YACD;gBACE,EAAE,EAAE,KAAK;gBACT,MAAM,EAAE,SAAS;gBACjB,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE;aACvC;YACD;gBACE,MAAM,EAAE,YAAY;gBACpB,KAAK,EAAE,0BAA0B;aAClC;SACF;QACD,OAAO,EAAE;YACP,UAAU,EAAE,IAAI;YAChB,cAAc,EAAE,qBAAqB;YACrC,QAAQ,EAAE,KAAK;SAChB;KACF,CAAC;IAEF,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,kBAAkB,CAMnD,qEAAqE,EACrE,QAAQ,EACR;QACE,UAAU,EACR,qEAAqE;KACxE,CACF,CAAC;IAEF,OAAO,CAAC,GAAG,CAAC,0BAA0B,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;AACvD,CAAC;AAED,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;IAC5B,KAAK,CAAC,KAAK,IAAI,EAAE;QACf,MAAM,GAAG,GAAG,MAAM,kBAAW,CAAC,wBAAwB,CAAC,SAAS,EAAE;YAChE,MAAM,EAAE,KAAK;SACd,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,4BAAoB,CAAC,CAAC;QACxD,IAAI,CAAC;YACH,MAAM,gBAAgB,CAAC,OAAO,CAAC,CAAC;YAChC,MAAM,cAAc,CAAC,OAAO,CAAC,CAAC;YAC9B,MAAM,mBAAmB,CAAC,OAAO,CAAC,CAAC;YACnC,MAAM,cAAc,CAAC,OAAO,CAAC,CAAC;YAC9B,MAAM,oBAAoB,CAAC,OAAO,CAAC,CAAC;YACpC,MAAM,mBAAmB,CAAC,OAAO,CAAC,CAAC;YACnC,MAAM,iBAAiB,CAAC,OAAO,CAAC,CAAC;YACjC,MAAM,gBAAgB,CAAC,OAAO,CAAC,CAAC;YAChC,MAAM,sBAAsB,CAAC,OAAO,CAAC,CAAC;YACtC,MAAM,sBAAsB,CAAC,OAAO,CAAC,CAAC;QACxC,CAAC;gBAAS,CAAC;YACT,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC;QACpB,CAAC;IACH,CAAC,CAAC,EAAE,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"workflow-example.js","sourceRoot":"","sources":["../../src/examples/workflow-example.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,9 @@ export interface RemoteOptions {
19
19
  retryMax?: number;
20
20
  retryDelay?: number;
21
21
  }
22
+ export interface HealthCheckOptions {
23
+ intervalMs: number;
24
+ }
22
25
  export interface BrowserActionOptions {
23
26
  launchOptions?: LaunchOptions;
24
27
  cloak?: CloakOptions;
@@ -32,4 +35,6 @@ export interface BrowserActionOptions {
32
35
  customPipes?: Record<string, new (...args: unknown[]) => CleansingPipe>;
33
36
  lazyInit?: boolean;
34
37
  name?: string;
38
+ healthCheck?: HealthCheckOptions;
39
+ maxPages?: number;
35
40
  }
@@ -1,11 +1,11 @@
1
- import type { FieldDescriptor, PaginationDescriptor, CleanerStepRules } from './types';
1
+ import type { FieldDescriptor, PaginationDescriptor, PaginationOptions, PatternField, CleanerStepRules } from './types';
2
2
  import type { CloakOptions } from './browser-action-options';
3
3
  export interface ActionTarget {
4
4
  type: 'css' | 'xpath';
5
5
  value?: string;
6
6
  shadowHost?: string;
7
7
  }
8
- export type ActionType = 'navigate' | 'wait' | 'waitFor' | 'click' | 'type' | 'select' | 'scroll' | 'extract' | 'screenshot' | 'evaluate' | 'cleanse' | 'saveCookies' | 'loadCookies' | 'clearCookies' | 'listCookies' | 'hover' | 'keyPress' | 'clear' | 'waitForNetwork' | 'reload' | 'scrapeContainer' | 'extractPagination';
8
+ export type ActionType = 'navigate' | 'wait' | 'waitFor' | 'click' | 'type' | 'select' | 'scroll' | 'extract' | 'screenshot' | 'evaluate' | 'cleanse' | 'saveCookies' | 'loadCookies' | 'clearCookies' | 'listCookies' | 'hover' | 'keyPress' | 'clear' | 'waitForNetwork' | 'reload' | 'scrapeContainer' | 'extractPagination' | 'extractPatterns';
9
9
  export interface ActionCondition {
10
10
  ifExists?: ActionTarget;
11
11
  unlessExists?: ActionTarget;
@@ -32,6 +32,8 @@ export interface ActionOptions {
32
32
  linkSelector?: string;
33
33
  labelSelector?: string;
34
34
  currentPage?: number;
35
+ patterns?: PatternField[];
36
+ patternPagination?: PaginationOptions;
35
37
  }
36
38
  export interface WorkflowAction {
37
39
  id?: string;
@@ -5,6 +5,7 @@ import { CookieService } from '../services/cookie.service';
5
5
  import { LoggerWithLevel } from '../utils/logger.util';
6
6
  import { ExtractionOperator } from './extraction.operator';
7
7
  import { ContainerOperator } from './container.operator';
8
+ import { PaginationOperator } from './pagination.operator';
8
9
  import type { WorkflowAction, VariableContext } from '../interfaces/workflow-options';
9
10
  export declare class WorkflowOperator {
10
11
  private readonly extraction;
@@ -13,7 +14,8 @@ export declare class WorkflowOperator {
13
14
  private readonly cleansingService;
14
15
  private readonly logger;
15
16
  private readonly getCookieService;
16
- constructor(extraction: ExtractionOperator, container: ContainerOperator, pipeEngine: PipeEngine, cleansingService: CleansingService, logger: LoggerWithLevel, getCookieService: () => CookieService);
17
+ private readonly pagination;
18
+ constructor(extraction: ExtractionOperator, container: ContainerOperator, pipeEngine: PipeEngine, cleansingService: CleansingService, logger: LoggerWithLevel, getCookieService: () => CookieService, pagination: PaginationOperator);
17
19
  executeAction(page: Page, action: WorkflowAction, context: VariableContext, debugLogMaxLength?: number): Promise<void>;
18
20
  private dispatchAction;
19
21
  evaluateCondition(page: Page, condition: WorkflowAction['condition'], debugLogMaxLength?: number): Promise<boolean>;